rev |
line source |
bsw/jbe@0
|
1 local members_selector = param.get("members_selector", "table")
|
bsw@3
|
2 local initiative = param.get("initiative", "table")
|
bsw@3
|
3 local issue = param.get("issue", "table")
|
bsw@3
|
4 local trustee = param.get("trustee", "table")
|
bsw@10
|
5 local initiator = param.get("initiator", "table")
|
bsw@3
|
6
|
bsw@183
|
7
|
bsw@177
|
8 if initiative or issue then
|
bsw@177
|
9 members_selector:left_join("delegating_interest_snapshot", "_member_list__delegating_interest", { "_member_list__delegating_interest.event = issue.latest_snapshot_event AND _member_list__delegating_interest.issue_id = issue.id AND _member_list__delegating_interest.member_id = ?", app.session.member_id })
|
bsw@177
|
10 members_selector:add_field("_member_list__delegating_interest.delegate_member_ids", "delegate_member_ids")
|
bsw@177
|
11 end
|
bsw@177
|
12
|
bsw/jbe@19
|
13 ui.add_partial_param_names{ "member_list" }
|
bsw/jbe@19
|
14
|
bsw/jbe@19
|
15 local filter = {
|
bsw/jbe@19
|
16 label = _"Order by",
|
bsw/jbe@19
|
17 name = "member_list",
|
bsw/jbe@19
|
18 {
|
bsw/jbe@19
|
19 name = "name",
|
bsw/jbe@19
|
20 label = _"A-Z",
|
bsw/jbe@19
|
21 selector_modifier = function(selector) selector:add_order_by("name") end
|
bsw/jbe@19
|
22 },
|
bsw/jbe@19
|
23 {
|
bsw/jbe@19
|
24 name = "name_desc",
|
bsw/jbe@19
|
25 label = _"Z-A",
|
bsw/jbe@19
|
26 selector_modifier = function(selector) selector:add_order_by("name DESC") end
|
bsw/jbe@19
|
27 },
|
bsw@3
|
28 {
|
bsw@10
|
29 name = "newest",
|
bsw@10
|
30 label = _"Newest",
|
bsw/jbe@19
|
31 selector_modifier = function(selector) selector:add_order_by("created DESC, id DESC") end
|
bsw@10
|
32 },
|
bsw@10
|
33 {
|
bsw@10
|
34 name = "oldest",
|
bsw@10
|
35 label = _"Oldest",
|
bsw/jbe@19
|
36 selector_modifier = function(selector) selector:add_order_by("created, id") end
|
bsw@3
|
37 },
|
bsw@3
|
38 }
|
bsw@3
|
39
|
bsw@3
|
40 if initiative then
|
bsw/jbe@19
|
41 filter[#filter] = {
|
bsw@3
|
42 name = "delegations",
|
bsw@3
|
43 label = _"Delegations",
|
bsw/jbe@19
|
44 selector_modifier = function(selector) selector:add_order_by("weight DESC") end
|
bsw@3
|
45 }
|
bsw@3
|
46 end
|
bsw/jbe@0
|
47
|
bsw/jbe@19
|
48 ui.filters{
|
bsw/jbe@19
|
49 label = _"Change order",
|
bsw/jbe@0
|
50 selector = members_selector,
|
bsw/jbe@19
|
51 filter,
|
bsw@2
|
52 content = function()
|
bsw@2
|
53 ui.paginate{
|
bsw@2
|
54 selector = members_selector,
|
bsw@2
|
55 per_page = 100,
|
bsw@2
|
56 content = function()
|
bsw@2
|
57 ui.container{
|
bsw@2
|
58 attr = { class = "member_list" },
|
bsw@2
|
59 content = function()
|
bsw@3
|
60 local members = members_selector:exec()
|
bsw@3
|
61
|
bsw@3
|
62 for i, member in ipairs(members) do
|
bsw@2
|
63 execute.view{
|
bsw@2
|
64 module = "member",
|
bsw@2
|
65 view = "_show_thumb",
|
bsw@10
|
66 params = {
|
bsw@10
|
67 member = member,
|
bsw@10
|
68 initiative = initiative,
|
bsw@10
|
69 issue = issue,
|
bsw@10
|
70 trustee = trustee,
|
bsw@10
|
71 initiator = initiator
|
bsw@10
|
72 }
|
bsw/jbe@0
|
73 }
|
bsw@2
|
74 end
|
bsw/jbe@19
|
75
|
bsw@177
|
76
|
bsw/jbe@0
|
77 end
|
bsw/jbe@0
|
78 }
|
bsw@3
|
79 slot.put('<br style="clear: left;" />')
|
bsw@2
|
80 end
|
bsw/jbe@0
|
81 }
|
bsw/jbe@0
|
82 end
|
bsw/jbe@19
|
83 }
|