liquid_feedback_frontend
diff app/main/lf2/issue.lua @ 211:4993b71b383f
First checkin of lf2 (frontend second generation) prototype
author | bsw |
---|---|
date | Wed Mar 02 20:06:26 2011 +0100 (2011-03-02) |
parents | |
children | 3e4ad069847a |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/app/main/lf2/issue.lua Wed Mar 02 20:06:26 2011 +0100 1.3 @@ -0,0 +1,56 @@ 1.4 +slot.set_layout("lf2") 1.5 + 1.6 + 1.7 +local issue = Issue:by_id(param.get_id()) 1.8 +local area = issue.area 1.9 + 1.10 +-- TODO broken 1.11 +--issue:load("interested_members_snapshot", {}, "interested_members") 1.12 +issue:load("delegating_interest_snapshot_for_member", { member_id = app.session.member_id }, "delegating_interest") 1.13 +issue:load("interest_for_member", { member_id = app.session.member_id }, "interest") 1.14 +issue:load("outgoing_delegations_for_member", { member_id = app.session.member_id }, "outgoing_delegations") 1.15 + 1.16 +local initiatives = issue.initiatives 1.17 + 1.18 +local interested_members = issue.interested_members 1.19 + 1.20 +local interest = issue.interest 1.21 + 1.22 +local delegations = issue.delegations 1.23 + 1.24 +local trustees = Member:new_selector() 1.25 + :add_field("delegation_chain.*") 1.26 + :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") 1.27 + :add_order_by("index") 1.28 + :exec() 1.29 + 1.30 +local global_delegation 1.31 +local area_delegation 1.32 +local issue_delegation 1.33 + 1.34 +for i, delegation in ipairs(issue.delegations) do 1.35 + if delegation.scope == "global" then global_delegation = delegation 1.36 + elseif delegation.scope == "area" then area_delegation = delegation 1.37 + elseif delegation.scope == "issue" then issue_delegation = delegation 1.38 + end 1.39 +end 1.40 + 1.41 +local delegation = issue_delegation or area_delegation or global_delegation 1.42 + 1.43 +local delegating_interest = issue.delegating_interest 1.44 + 1.45 +slot.select("sidebar", function() 1.46 + execute.view{ module = "lf2", view = "_sidebar" } 1.47 +end) 1.48 + 1.49 +execute.view{ module = "lf2", view = "_area", params = { area = area } } 1.50 + 1.51 +execute.view{ module = "lf2", view = "_issues", params = { issues = { issue } } } 1.52 + 1.53 +-- TODO bugfix for not working reference loader 1.54 +interested_members = issue:get_reference_selector("interested_members_snapshot"):exec() 1.55 + 1.56 +execute.view{ module = "lf2", view = "_interested", params = { 1.57 + interested_members = interested_members 1.58 +} } 1.59 +