rev |
line source |
bsw@197
|
1 local area = param.get("area", "table") or Area:by_id(param.get_id())
|
bsw/jbe@19
|
2
|
bsw@414
|
3 local open_issues_selector = area:get_reference_selector("issues")
|
bsw@414
|
4 :add_where("issue.closed ISNULL")
|
bsw@414
|
5 :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()")
|
bsw@414
|
6
|
bsw@414
|
7 local closed_issues_selector = area:get_reference_selector("issues")
|
bsw@414
|
8 :add_where("issue.closed NOTNULL")
|
bsw@414
|
9 :add_order_by("issue.closed DESC")
|
bsw@414
|
10
|
bsw/jbe@19
|
11 local members_selector = area:get_reference_selector("members")
|
bsw/jbe@19
|
12 local delegations_selector = area:get_reference_selector("delegations")
|
bsw/jbe@19
|
13
|
bsw@51
|
14 local tabs = {
|
bsw/jbe@19
|
15 module = "area",
|
bsw/jbe@19
|
16 view = "show_tab",
|
bsw/jbe@19
|
17 static_params = { area_id = area.id },
|
bsw@51
|
18 }
|
bsw@51
|
19
|
bsw@414
|
20 tabs[#tabs+1] = {
|
bsw@414
|
21 name = "timeline",
|
bsw@414
|
22 label = _"Events",
|
bsw@414
|
23 module = "event",
|
bsw@414
|
24 view = "_list",
|
bsw@414
|
25 params = { for_area = area }
|
bsw@414
|
26 }
|
bsw@414
|
27
|
bsw@414
|
28 tabs[#tabs+1] = {
|
bsw@414
|
29 name = "open",
|
bsw@414
|
30 label = _"Open issues",
|
bsw@414
|
31 module = "issue",
|
bsw@414
|
32 view = "_list",
|
bsw@414
|
33 params = {
|
bsw@414
|
34 for_state = "open",
|
bsw@414
|
35 issues_selector = open_issues_selector, for_area = true
|
bsw@51
|
36 }
|
bsw@414
|
37 }
|
bsw@414
|
38 tabs[#tabs+1] = {
|
bsw@414
|
39 name = "closed",
|
bsw@414
|
40 label = _"Closed issues",
|
bsw@414
|
41 module = "issue",
|
bsw@414
|
42 view = "_list",
|
bsw@414
|
43 params = {
|
bsw@414
|
44 for_state = "closed",
|
bsw@414
|
45 issues_selector = closed_issues_selector, for_area = true
|
bsw@414
|
46 }
|
bsw@414
|
47 }
|
bsw@51
|
48
|
bsw@51
|
49 if app.session.member_id then
|
bsw@51
|
50 tabs[#tabs+1] =
|
bsw@51
|
51 {
|
bsw@51
|
52 name = "members",
|
bsw@525
|
53 label = _"Participants" .. " (" .. tostring(members_selector:count()) .. ")",
|
bsw@51
|
54 icon = { static = "icons/16/group.png" },
|
bsw@51
|
55 module = "member",
|
bsw@51
|
56 view = "_list",
|
bsw@51
|
57 params = { members_selector = members_selector }
|
bsw@51
|
58 }
|
bsw/jbe@19
|
59
|
bsw@51
|
60 tabs[#tabs+1] =
|
bsw@51
|
61 {
|
bsw@51
|
62 name = "delegations",
|
bsw@51
|
63 label = _"Delegations" .. " (" .. tostring(delegations_selector:count()) .. ")",
|
bsw@51
|
64 icon = { static = "icons/16/table_go.png" },
|
bsw@51
|
65 module = "delegation",
|
bsw@51
|
66 view = "_list",
|
bsw@51
|
67 params = { delegations_selector = delegations_selector }
|
bsw@51
|
68 }
|
bsw@51
|
69 end
|
bsw@51
|
70
|
bsw@51
|
71 ui.tabs(tabs)
|