liquid_feedback_frontend
view app/main/vote/show_incoming.lua @ 1596:9f55297a1a6a
Reworked subject area delegation buttons
| author | bsw | 
|---|---|
| date | Sun Jan 31 20:35:05 2021 +0100 (2021-01-31) | 
| parents | 09423cf96e9d | 
| children | 181cf093becd | 
 line source
     1 local initiative = Initiative:by_id(param.get("initiative_id"))
     3 local issue
     5 if initiative then
     6   issue = initiative.issue
     7 else
     8   issue = Issue:by_id(param.get("issue_id"))
     9 end
    11 if not issue then
    12   execute.view { module = "index", view = "404" }
    13   request.set_status("404 Not Found")
    14   return
    15 end
    18 if app.session.member_id then
    19   if initiative then
    20     initiative:load_everything_for_member_id(app.session.member.id)
    21   end
    22   issue:load_everything_for_member_id(app.session.member.id)
    23 end
    25 local member = Member:by_id(param.get("member_id", atom.integer))
    27 local members_selector = Member:new_selector()
    28   :join("delegating_voter", nil, "delegating_voter.member_id = member.id")
    29   :add_where{ "delegating_voter.issue_id = ?", issue.id }
    30   :add_where{ "delegating_voter.delegate_member_ids[1] = ?", member.id }
    31   :add_field("delegating_voter.weight", "voter_weight")
    32   :add_field("delegating_voter.ownweight", "ownweight")
    33   :join("issue", nil, "issue.id = delegating_voter.issue_id")
    36 execute.view{
    37   module = "issue", view = "_head", params = {
    38     issue = issue, initiative = initiative
    39   }
    40 }
    42 execute.view{ module = "issue", view = "_sidebar_state", params = {
    43   issue = issue,
    44 } }
    46 execute.view { 
    47   module = "issue", view = "_sidebar_issue", params = {
    48     issue = issue,
    49     highlight_initiative_id = initiative and initiative.id or nil,
    50   }
    51 }
    53 execute.view { 
    54   module = "issue", view = "_sidebar_whatcanido", params = {
    55     issue = issue
    56   }
    57 }
    59 execute.view { 
    60   module = "issue", view = "_sidebar_members", params = {
    61     issue = issue,
    62     initiative = initiative
    63   }
    64 }
    67 ui.section( function()
    69   ui.sectionHead( function()
    70     ui.heading{ level = 1, content = _("Incoming delegations for '#{member}'", { member = member.name }) }
    71   end)
    73   execute.view{
    74     module = "member",
    75     view = "_list",
    76     params = {
    77       members_selector = members_selector,
    78       trustee = member,
    79       issue = issue,
    80       initiative = initiative,
    81       for_votes = true, no_filter = true,
    83     }
    84   }
    86 end )
