liquid_feedback_frontend

view app/main/unit/show.lua @ 870:cf0b64e101d9

Added missing tabs for public access levels "all_pseudonymos" and "everything"
author bsw
date Fri Aug 17 20:52:56 2012 +0200 (2012-08-17)
parents 7878f3c20a86
children 701a5cf6b067
line source
1 local unit_id = config.single_unit_id or param.get_id()
3 local unit = Unit:by_id(unit_id)
5 slot.select("head", function()
6 execute.view{ module = "unit", view = "_head", params = { unit = unit, show_content = true, member = app.session.member } }
7 end)
9 if config.single_unit_id and not app.session.member_id and config.motd_public then
10 local help_text = config.motd_public
11 ui.container{
12 attr = { class = "wiki motd" },
13 content = function()
14 slot.put(format.wiki_text(help_text))
15 end
16 }
17 end
19 local areas_selector = Area:build_selector{ active = true, unit_id = unit_id }
20 areas_selector:add_order_by("member_weight DESC")
22 local members_selector = Member:build_selector{
23 active = true,
24 voting_right_for_unit_id = unit.id
25 }
27 local delegations_selector = Delegation:new_selector()
28 :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
29 :join("privilege", "truster_privilege", "truster_privilege.member_id = truster.id AND truster_privilege.unit_id = delegation.unit_id AND truster_privilege.voting_right")
30 :join("member", "trustee", "trustee.id = delegation.trustee_id AND truster.active")
31 :join("privilege", "trustee_privilege", "trustee_privilege.member_id = trustee.id AND trustee_privilege.unit_id = delegation.unit_id AND trustee_privilege.voting_right")
32 :add_where{ "delegation.unit_id = ?", unit.id }
34 local open_issues_selector = Issue:new_selector()
35 :join("area", nil, "area.id = issue.area_id")
36 :add_where{ "area.unit_id = ?", unit.id }
37 :add_where("issue.closed ISNULL")
38 :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()")
40 local closed_issues_selector = Issue:new_selector()
41 :join("area", nil, "area.id = issue.area_id")
42 :add_where{ "area.unit_id = ?", unit.id }
43 :add_where("issue.closed NOTNULL")
44 :add_order_by("issue.closed DESC")
46 local tabs = {
47 module = "unit",
48 view = "show",
49 id = unit.id
50 }
52 tabs[#tabs+1] = {
53 name = "areas",
54 label = _"Areas",
55 module = "area",
56 view = "_list",
57 params = { areas_selector = areas_selector, member = app.session.member }
58 }
60 tabs[#tabs+1] = {
61 name = "timeline",
62 label = _"Latest events",
63 module = "event",
64 view = "_list",
65 params = { for_unit = unit }
66 }
68 tabs[#tabs+1] = {
69 name = "open",
70 label = _"Open issues",
71 module = "issue",
72 view = "_list",
73 params = {
74 for_state = "open",
75 issues_selector = open_issues_selector, for_unit = true
76 }
77 }
78 tabs[#tabs+1] = {
79 name = "closed",
80 label = _"Closed issues",
81 module = "issue",
82 view = "_list",
83 params = {
84 for_state = "closed",
85 issues_selector = closed_issues_selector, for_unit = true
86 }
87 }
89 if app.session:has_access("all_pseudonymous") then
90 tabs[#tabs+1] = {
91 name = "eligible_voters",
92 label = _"Eligible voters",
93 module = "member",
94 view = "_list",
95 params = { members_selector = members_selector }
96 }
98 tabs[#tabs+1] = {
99 name = "delegations",
100 label = _"Delegations",
101 module = "delegation",
102 view = "_list",
103 params = { delegations_selector = delegations_selector }
104 }
105 end
107 ui.tabs(tabs)

Impressum / About Us