liquid_feedback_frontend

view app/main/unit/show.lua @ 1157:591b78770f66

merge
author jbe
date Mon Mar 23 23:18:43 2015 +0100 (2015-03-23)
parents 701a5cf6b067
children 8288027edb54
line source
1 local unit_id = config.single_unit_id or param.get_id()
3 local unit = Unit:by_id(unit_id)
5 if not unit then
6 execute.view { module = "index", view = "404" }
7 request.set_status("404 Not Found")
8 return
9 end
12 unit:load_delegation_info_once_for_member_id(app.session.member_id)
14 local areas_selector = Area:build_selector{ active = true, unit_id = unit_id }
15 areas_selector:add_order_by("member_weight DESC")
17 local members_selector = Member:build_selector{
18 active = true,
19 voting_right_for_unit_id = unit.id
20 }
22 local delegations_selector = Delegation:new_selector()
23 :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
24 :join("privilege", "truster_privilege", "truster_privilege.member_id = truster.id AND truster_privilege.unit_id = delegation.unit_id AND truster_privilege.voting_right")
25 :join("member", "trustee", "trustee.id = delegation.trustee_id AND truster.active")
26 :join("privilege", "trustee_privilege", "trustee_privilege.member_id = trustee.id AND trustee_privilege.unit_id = delegation.unit_id AND trustee_privilege.voting_right")
27 :add_where{ "delegation.unit_id = ?", unit.id }
29 local open_issues_selector = Issue:new_selector()
30 :join("area", nil, "area.id = issue.area_id")
31 :add_where{ "area.unit_id = ?", unit.id }
32 :add_where("issue.closed ISNULL")
33 :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.admission_time) - now()")
35 local closed_issues_selector = Issue:new_selector()
36 :join("area", nil, "area.id = issue.area_id")
37 :add_where{ "area.unit_id = ?", unit.id }
38 :add_where("issue.closed NOTNULL")
39 :add_order_by("issue.closed DESC")
43 execute.view { module = "unit", view = "_head", params = { unit = unit } }
46 execute.view {
47 module = "unit", view = "_sidebar", params = {
48 unit = unit
49 }
50 }
52 execute.view {
53 module = "unit", view = "_sidebar_whatcanido", params = {
54 unit = unit
55 }
56 }
58 execute.view {
59 module = "unit", view = "_sidebar_members", params = {
60 unit = unit
61 }
62 }
64 execute.view {
65 module = "issue",
66 view = "_list2",
67 params = { for_unit = unit, head = function ()
68 ui.heading { attr = { class = "left" }, level = 1, content = unit.name }
69 end }
70 }
72 --[[
73 if app.session:has_access("all_pseudonymous") then
74 tabs[#tabs+1] = {
75 name = "eligible_voters",
76 label = _"Eligible voters",
77 module = "member",
78 view = "_list",
79 params = { members_selector = members_selector }
80 }
82 tabs[#tabs+1] = {
83 name = "delegations",
84 label = _"Delegations",
85 module = "delegation",
86 view = "_list",
87 params = { delegations_selector = delegations_selector }
88 }
89 end
91 ui.tabs(tabs)
93 --]]

Impressum / About Us