liquid_feedback_frontend

annotate app/main/lf2/interest.lua @ 215:1dab81353eb1

More enhancements for second generation frontend
author bsw
date Sat Mar 05 15:34:17 2011 +0100 (2011-03-05)
parents
children 4f6e6b213fb8
rev   line source
bsw@215 1 slot.set_layout("lf2")
bsw@215 2
bsw@215 3
bsw@215 4 local issue = Issue:by_id(param.get_id())
bsw@215 5 local member = Member:by_id(param.get("member", atom.integer))
bsw@215 6
bsw@215 7 local area = issue.area
bsw@215 8
bsw@215 9 -- TODO broken
bsw@215 10 --issue:load("interested_members_snapshot", {}, "interested_members")
bsw@215 11 issue:load("delegating_interest_snapshot_for_member", { member_id = app.session.member_id }, "delegating_interest")
bsw@215 12 issue:load("interest_for_member", { member_id = app.session.member_id }, "interest")
bsw@215 13 issue:load("outgoing_delegations_for_member", { member_id = app.session.member_id }, "outgoing_delegations")
bsw@215 14
bsw@215 15 local initiatives = issue.initiatives
bsw@215 16
bsw@215 17 local interested_members = issue.interested_members
bsw@215 18
bsw@215 19 local interest = issue.interest
bsw@215 20
bsw@215 21 local delegations = issue.delegations
bsw@215 22
bsw@215 23 local trustees = Member:new_selector()
bsw@215 24 :add_field("delegation_chain.*")
bsw@215 25 :join("delegation_chain(" .. tostring(app.session.member.id) .. ", " .. tostring(area_id or "NULL") .. ", " .. tostring(issue_id or "NULL") .. ")", "delegation_chain", "member.id = delegation_chain.member_id")
bsw@215 26 :add_order_by("index")
bsw@215 27 :exec()
bsw@215 28
bsw@215 29 local global_delegation
bsw@215 30 local area_delegation
bsw@215 31 local issue_delegation
bsw@215 32
bsw@215 33 for i, delegation in ipairs(issue.delegations) do
bsw@215 34 if delegation.scope == "global" then global_delegation = delegation
bsw@215 35 elseif delegation.scope == "area" then area_delegation = delegation
bsw@215 36 elseif delegation.scope == "issue" then issue_delegation = delegation
bsw@215 37 end
bsw@215 38 end
bsw@215 39
bsw@215 40 local delegation = issue_delegation or area_delegation or global_delegation
bsw@215 41
bsw@215 42 local delegating_interest = issue.delegating_interest
bsw@215 43
bsw@215 44 app.topnav_phase = issue.phase
bsw@215 45 app.topnav_area_id = issue.area_id
bsw@215 46
bsw@215 47 slot.select("sidebar", function()
bsw@215 48 execute.view{ module = "lf2", view = "_sidebar_unit", params = { current_area_id = issue.area_id } }
bsw@215 49 end)
bsw@215 50
bsw@215 51 execute.view{ module = "lf2", view = "_area", params = { area = area } }
bsw@215 52
bsw@215 53 execute.view{ module = "lf2", view = "_issues", params = { issues = { issue } } }
bsw@215 54
bsw@215 55 -- TODO bugfix for not working reference loader
bsw@215 56 interested_members = issue:get_reference_selector("interested_members_snapshot"):exec()
bsw@215 57
bsw@215 58 execute.view{ module = "lf2", view = "_interested", params = {
bsw@215 59 interested_members = interested_members
bsw@215 60 } }
bsw@215 61

Impressum / About Us