bsw@1045: local initiative = Initiative:by_id(param.get("initiative_id")) bsw@1045: bsw@1045: local issue bsw@1045: bsw@1045: if initiative then bsw@1045: issue = initiative.issue bsw@1045: else bsw@1045: issue = Issue:by_id(param.get("issue_id")) bsw@1045: end bsw@1045: bsw/jbe@1309: if not issue then bsw/jbe@1309: execute.view { module = "index", view = "404" } bsw/jbe@1309: request.set_status("404 Not Found") bsw/jbe@1309: return bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: bsw@1045: if app.session.member_id then bsw@1045: if initiative then bsw@1045: initiative:load_everything_for_member_id(app.session.member.id) bsw@1045: end bsw@1045: issue:load_everything_for_member_id(app.session.member.id) bsw@1045: end bsw@1045: bsw/jbe@6: local member = Member:by_id(param.get("member_id", atom.integer)) bsw/jbe@6: bsw/jbe@6: local members_selector = Member:new_selector() bsw/jbe@6: :join("delegating_voter", nil, "delegating_voter.member_id = member.id") bsw/jbe@6: :add_where{ "delegating_voter.issue_id = ?", issue.id } bsw/jbe@6: :add_where{ "delegating_voter.delegate_member_ids[1] = ?", member.id } bsw@11: :add_field("delegating_voter.weight", "voter_weight") bsw@1557: :add_field("delegating_voter.ownweight", "ownweight") bsw@190: :join("issue", nil, "issue.id = delegating_voter.issue_id") bsw/jbe@6: bsw@1627: execute.view{ module = "issue", view = "_head", params = { issue = issue, link_issue = true } } bsw@1627: bsw@1045: bsw@1627: ui.grid{ content = function() bsw@1627: bsw@1627: ui.cell_main{ content = function() bsw@1045: bsw@1627: ui.container { attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function() bsw@1627: ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function() bsw@1627: ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _("Incoming delegations for '#{member}'", { member = member.name }) } bsw@1627: end } bsw@1627: ui.container{ attr = { class = "mdl-card__content" }, content = function() bsw@1627: execute.view{ bsw@1627: module = "member", bsw@1627: view = "_list", bsw@1627: params = { bsw@1627: members_selector = members_selector, bsw@1627: issue = issue, bsw@1628: trustee = member, bsw@1627: initiative = initiative, bsw@1627: for_votes = true, no_filter = true, bsw@1627: } bsw@1627: } bsw@1627: end } bsw@1627: end } bsw@1627: end } bsw@1627: bsw@1627: ui.cell_sidebar{ content = function() bsw@1627: execute.view { bsw@1627: module = "issue", view = "_sidebar", bsw@1627: params = { bsw@1627: issue = issue, bsw@1627: member = app.session.member bsw@1627: } bsw@1627: } bsw@1045: bsw@1627: execute.view { bsw@1627: module = "issue", view = "_sidebar_members", params = { bsw@1627: issue = issue bsw@1627: } bsw@1627: } bsw@1045: bsw@1627: end } bsw@1627: bsw@1627: end } bsw@1045: bsw@1045: