liquid_feedback_frontend
view app/main/vote/show_incoming.lua @ 1825:7b04f14c6d0a
Check area configuration only for new issues
| author | bsw | 
|---|---|
| date | Thu Feb 03 11:47:41 2022 +0100 (2022-02-03) | 
| parents | e89476678783 | 
| children | 
 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")
    35 execute.view{ module = "issue", view = "_head", params = { issue = issue, link_issue = true } }
    38 ui.grid{ content = function()
    40   ui.cell_main{ content = function()
    42     ui.container { attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function()
    43       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
    44         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _("Incoming delegations for '#{member}'", { member = member.name }) }
    45       end }
    46       ui.container{ attr = { class = "mdl-card__content" }, content = function()
    47         execute.view{
    48           module = "member",
    49           view = "_list",
    50           params = { 
    51             members_selector = members_selector,
    52             issue = issue,
    53             trustee = member,
    54             initiative = initiative,
    55             for_votes = true, no_filter = true,
    56           }
    57         }
    58       end }
    59     end }
    60   end }
    62   ui.cell_sidebar{ content = function()
    63     execute.view {
    64       module = "issue", view = "_sidebar", 
    65       params = {
    66         issue = issue,
    67         member = app.session.member
    68       }
    69     }
    71     execute.view { 
    72       module = "issue", view = "_sidebar_members", params = {
    73         issue = issue
    74       }
    75     }
    77   end }
    79 end }
