rev |
line source |
bsw@197
|
1 local area = Area:by_id(param.get_id())
|
bsw@197
|
2
|
bsw@1045
|
3 if not area then
|
bsw@1045
|
4 execute.view { module = "index", view = "404" }
|
bsw@1045
|
5 request.set_status("404 Not Found")
|
bsw@1045
|
6 return
|
bsw@1045
|
7 end
|
bsw@1045
|
8
|
bsw@1045
|
9 area:load_delegation_info_once_for_member_id(app.session.member_id)
|
bsw/jbe@0
|
10
|
jorges@103
|
11 app.html_title.title = area.name
|
jorges@103
|
12 app.html_title.subtitle = _("Area")
|
jorges@103
|
13
|
bsw@1045
|
14 execute.view {
|
bsw@1045
|
15 module = "area", view = "_head", params = {
|
bsw@1045
|
16 area = area, member = app.session.member
|
bsw@1045
|
17 }
|
bsw@1045
|
18 }
|
bsw/jbe@0
|
19
|
bsw@1045
|
20 execute.view {
|
bsw@1045
|
21 module = "area", view = "_sidebar_whatcanido", params = {
|
bsw@1045
|
22 area = area
|
bsw@1045
|
23 }
|
bsw@1045
|
24 }
|
bsw@1045
|
25
|
bsw@1045
|
26 execute.view {
|
bsw@1045
|
27 module = "area", view = "_sidebar_members", params = {
|
bsw@1045
|
28 area = area
|
bsw@1045
|
29 }
|
bsw/jbe@0
|
30 }
|
bsw/jbe@0
|
31
|
bsw@1145
|
32 local function getOpenIssuesSelector()
|
bsw@1045
|
33 return area:get_reference_selector("issues")
|
bsw@1045
|
34 :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@1045
|
35 end
|
bsw@1045
|
36
|
bsw@1045
|
37 local admission_selector = getOpenIssuesSelector()
|
bsw@1045
|
38 :add_where("issue.state = 'admission'");
|
bsw@197
|
39
|
bsw@1045
|
40 local discussion_selector = getOpenIssuesSelector()
|
bsw@1045
|
41 :add_where("issue.state = 'discussion'");
|
bsw@1045
|
42
|
bsw@1045
|
43 local verification_selector = getOpenIssuesSelector()
|
bsw@1045
|
44 :add_where("issue.state = 'verification'");
|
bsw@1045
|
45
|
bsw@1045
|
46 local voting_selector = getOpenIssuesSelector()
|
bsw@1045
|
47 :add_where("issue.state = 'voting'");
|
bsw@1045
|
48
|
bsw@1045
|
49
|
bsw@1045
|
50 local closed_selector = area:get_reference_selector("issues")
|
bsw@869
|
51 :add_where("issue.closed NOTNULL")
|
bsw@869
|
52 :add_order_by("issue.closed DESC")
|
bsw@271
|
53
|
bsw@869
|
54 local members_selector = area:get_reference_selector("members"):add_where("member.active")
|
bsw@869
|
55 local delegations_selector = area:get_reference_selector("delegations")
|
bsw@869
|
56 :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
|
bsw@869
|
57 :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active")
|
bsw/jbe@0
|
58
|
bsw@869
|
59
|
bsw@1045
|
60 execute.view {
|
bsw@1045
|
61 module = "issue",
|
bsw@1045
|
62 view = "_list2",
|
bsw@869
|
63 params = { for_area = area }
|
bsw@869
|
64 }
|