liquid_feedback_frontend
view app/main/member/_list.lua @ 971:a8c6e80cdf5d
Fixed showing of wrong issue cancelled information
| author | bsw | 
|---|---|
| date | Sat Mar 09 19:13:55 2013 +0100 (2013-03-09) | 
| parents | cdd0bcbbef8b | 
| children | 701a5cf6b067 | 
 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 local paginator_name = param.get("paginator_name")
    12 if initiative or issue then
    13   if for_votes then
    14     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 })
    15     members_selector:add_field("_member_list__delegating_voter.delegate_member_ids", "delegate_member_ids")
    16   else
    17     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 })
    18     members_selector:add_field("_member_list__delegating_interest.delegate_member_ids", "delegate_member_ids")
    19   end
    20 end
    22 ui.add_partial_param_names{ "member_list" }
    24 local filter = { name = "member_list" }
    26 if issue or initiative then
    27 end
    29 filter[#filter+1] = {
    30   name = "newest",
    31   label = _"Newest",
    32   selector_modifier = function(selector) selector:add_order_by("activated DESC, id DESC") end
    33 }
    34 filter[#filter+1] = {
    35   name = "oldest",
    36   label = _"Oldest",
    37   selector_modifier = function(selector) selector:add_order_by("activated, id") end
    38 }
    40 filter[#filter+1] = {
    41   name = "name",
    42   label = _"A-Z",
    43   selector_modifier = function(selector) selector:add_order_by("name") end
    44 }
    45 filter[#filter+1] = {
    46   name = "name_desc",
    47   label = _"Z-A",
    48   selector_modifier = function(selector) selector:add_order_by("name DESC") end
    49 }
    51 local ui_filters = ui.filters
    52 if issue or initiative then
    53   ui_filters = function(args) args.content() end
    54   if for_votes then
    55       members_selector:add_order_by("voter_weight DESC, name, id")
    56   else
    57       members_selector:add_order_by("weight DESC, name, id")
    58   end
    59 end
    61 ui_filters{
    62   label = _"Change order",
    63   selector = members_selector,
    64   filter,
    65   content = function()
    66     ui.paginate{
    67       name = paginator_name,
    68       anchor = paginator_name,
    69       selector = members_selector,
    70       per_page = 50,
    71       content = function() 
    72         ui.container{
    73           attr = { class = "member_list" },
    74           content = function()
    75             local members = members_selector:exec()
    77             for i, member in ipairs(members) do
    78               execute.view{
    79                 module = "member",
    80                 view = "_show_thumb",
    81                 params = {
    82                   member = member,
    83                   initiative = initiative,
    84                   issue = issue,
    85                   trustee = trustee,
    86                   initiator = initiator
    87                 }
    88               }
    89             end
    92           end
    93         }
    94         slot.put('<br style="clear: left;" />')
    95       end
    96     }
    97   end
    98 }
