liquid_feedback_frontend
view app/main/member/_list.lua @ 626:11207174ae13
Fixed floating
| author | bsw | 
|---|---|
| date | Mon Jun 25 16:41:14 2012 +0200 (2012-06-25) | 
| parents | c3b3a932f81f | 
| children | cc64a4fc6ab6 | 
 line source
     1 local members_selector = param.get("members_selector", "table")
     2 members_selector:add_where("member.activated NOTNULL")
     4 local initiative = param.get("initiative", "table")
     5 local issue = param.get("issue", "table")
     6 local trustee = param.get("trustee", "table")
     7 local initiator = param.get("initiator", "table")
     8 local for_votes = param.get("for_votes", atom.boolean)
    10 if initiative or issue then
    11   if for_votes then
    12     members_selector:left_join("delegating_voter", "_member_list__delegating_voter", { "_member_list__delegating_voter.issue_id = issue.id AND _member_list__delegating_voter.member_id = ?", app.session.member_id })
    13     members_selector:add_field("_member_list__delegating_voter.delegate_member_ids", "delegate_member_ids")
    14   else
    15     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 })
    16     members_selector:add_field("_member_list__delegating_interest.delegate_member_ids", "delegate_member_ids")
    17   end
    18 end
    20 ui.add_partial_param_names{ "member_list" }
    22 local filter = { name = "member_list" }
    24 if issue or initiative then
    25   if for_votes then
    26     filter[#filter+1] = {
    27       name = "delegations",
    28       label = _"Delegations",
    29       selector_modifier = function(selector) selector:add_order_by("voter_weight DESC") end
    30     }
    31   else
    32     filter[#filter+1] = {
    33       name = "delegations",
    34       label = _"Delegations",
    35       selector_modifier = function(selector) selector:add_order_by("weight DESC") end
    36     }
    37   end
    38 end
    40 filter[#filter+1] = {
    41   name = "newest",
    42   label = _"Newest",
    43   selector_modifier = function(selector) selector:add_order_by("activated DESC, id DESC") end
    44 }
    45 filter[#filter+1] = {
    46   name = "oldest",
    47   label = _"Oldest",
    48   selector_modifier = function(selector) selector:add_order_by("activated, id") end
    49 }
    51 filter[#filter+1] = {
    52   name = "name",
    53   label = _"A-Z",
    54   selector_modifier = function(selector) selector:add_order_by("name") end
    55 }
    56 filter[#filter+1] = {
    57   name = "name_desc",
    58   label = _"Z-A",
    59   selector_modifier = function(selector) selector:add_order_by("name DESC") end
    60 }
    62 ui.filters{
    63   label = _"Change order",
    64   selector = members_selector,
    65   filter,
    66   content = function()
    67     ui.paginate{
    68       selector = members_selector,
    69       per_page = 100,
    70       content = function() 
    71         ui.container{
    72           attr = { class = "member_list" },
    73           content = function()
    74             local members = members_selector:exec()
    76             for i, member in ipairs(members) do
    77               execute.view{
    78                 module = "member",
    79                 view = "_show_thumb",
    80                 params = {
    81                   member = member,
    82                   initiative = initiative,
    83                   issue = issue,
    84                   trustee = trustee,
    85                   initiator = initiator
    86                 }
    87               }
    88             end
    91           end
    92         }
    93         slot.put('<br style="clear: left;" />')
    94       end
    95     }
    96   end
    97 }
