liquid_feedback_frontend

annotate app/main/issue/_sidebar_members.lua @ 1455:24dc7bd75d0a

New layout for admin member edit view
author bsw
date Thu Oct 18 17:23:45 2018 +0200 (2018-10-18)
parents 32cc544d5a5b
children 64229f002a47
rev   line source
bsw@1045 1 local issue = param.get("issue", "table")
bsw@1045 2 local initiative = param.get("initiative", "table")
bsw@1045 3
bsw/jbe@1309 4 if config.voting_only and not issue.closed then
bsw/jbe@1309 5 return
bsw/jbe@1309 6 end
bsw/jbe@1309 7
bsw/jbe@1309 8
bsw@1045 9 if app.session:has_access("all_pseudonymous") then
bsw@1045 10
bsw/jbe@1309 11 ui.container{ attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function()
bsw/jbe@1309 12
bsw@1080 13 ui.tag { tag = "a", attr = { name = "members" }, content = "" }
bsw/jbe@1309 14 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
bsw/jbe@1309 15 local text = _"Interested members"
bsw/jbe@1309 16 if issue.state == "finished_with_winner" or issue.state == "finished_without_winner" then
bsw/jbe@1309 17 text = _"Voters"
bsw/jbe@1309 18 end
bsw/jbe@1309 19
bsw/jbe@1309 20 ui.container{ attr = { class = "mdl-card__title-text" }, content = text }
bsw/jbe@1309 21 end }
bsw/jbe@1309 22
bsw@1045 23 local interested_members_selector
bsw@1045 24
bsw@1045 25 if issue.state == "finished_with_winner" or issue.state == "finished_without_winner" then
bsw@1045 26 if initiative then
bsw@1045 27 interested_members_selector = Member:new_selector()
bsw@1045 28 :join("issue", nil, { "issue.id = ?", issue.id })
bsw@1045 29 :join("direct_voter", nil, { "direct_voter.issue_id = ? AND direct_voter.member_id = member.id", issue.id })
bsw@1045 30 :join("vote", nil, { "vote.member_id = member.id AND vote.initiative_id = ?", initiative.id })
bsw@1045 31 :add_field("direct_voter.weight", "voter_weight")
bsw@1045 32 :add_field("vote.grade")
bsw@1045 33 :add_field("direct_voter.comment", "voter_comment")
bsw@1045 34 else
bsw@1045 35 interested_members_selector = Member:new_selector()
bsw@1045 36 :join("issue", nil, { "issue.id = ?", issue.id })
bsw@1045 37 :join("direct_voter", nil, { "direct_voter.issue_id = ? AND direct_voter.member_id = member.id", issue.id })
bsw@1045 38 :add_field("direct_voter.weight", "voter_weight")
bsw@1045 39 :add_field("direct_voter.comment", "voter_comment")
bsw@1045 40 end
bsw@1045 41 else
bsw@1079 42 interested_members_selector = issue:get_reference_selector("interested_members_snapshot")
bsw@1045 43 :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id")
bsw@1045 44 :add_field("direct_interest_snapshot.weight")
bsw/jbe@1309 45 :add_where("direct_interest_snapshot.snapshot_id = issue.latest_snapshot_id")
bsw@1045 46
bsw@1045 47 if initiative then
bsw/jbe@1309 48 interested_members_selector:left_join("direct_supporter_snapshot", nil, { "direct_supporter_snapshot.initiative_id = ? AND direct_interest_snapshot.issue_id = direct_supporter_snapshot.issue_id AND direct_supporter_snapshot.member_id = direct_interest_snapshot.member_id AND direct_supporter_snapshot.snapshot_id = issue.latest_snapshot_id", initiative.id })
bsw@1045 49 interested_members_selector:add_field("direct_supporter_snapshot.member_id NOTNULL", "supporter")
bsw@1045 50 interested_members_selector:add_field("satisfied", "supporter_satisfied")
bsw@1045 51 end
bsw@1045 52 end
bsw@1045 53
bsw/jbe@1309 54 ui.container{ attr = { class = "mdl-card__content" }, content = function()
bsw/jbe@1309 55 execute.view{
bsw/jbe@1309 56 module = "member",
bsw/jbe@1309 57 view = "_list",
bsw/jbe@1309 58 params = {
bsw/jbe@1309 59 issue = issue,
bsw/jbe@1309 60 initiative = initiative,
bsw/jbe@1309 61 members_selector = interested_members_selector,
bsw/jbe@1309 62 paginator_name = "members",
bsw/jbe@1309 63 member_class = "sidebarRow sidebarRowNarrow",
bsw/jbe@1309 64 for_votes = issue.state == "finished_with_winner" or issue.state == "finished_without_winner",
bsw/jbe@1309 65 no_filter = true
bsw/jbe@1309 66 }
bsw@1045 67 }
bsw/jbe@1309 68 end }
bsw/jbe@1309 69 end }
bsw@1045 70 end

Impressum / About Us