liquid_feedback_frontend

view app/main/area/show.lua @ 1145:904f6807f7fa

Added support for upcoming moonbridge bases WebMCP
author bsw
date Sat Mar 21 15:26:39 2015 +0100 (2015-03-21)
parents 701a5cf6b067
children 8288027edb54
line source
1 local area = Area:by_id(param.get_id())
3 if not area then
4 execute.view { module = "index", view = "404" }
5 request.set_status("404 Not Found")
6 return
7 end
9 area:load_delegation_info_once_for_member_id(app.session.member_id)
11 app.html_title.title = area.name
12 app.html_title.subtitle = _("Area")
14 execute.view {
15 module = "area", view = "_head", params = {
16 area = area, member = app.session.member
17 }
18 }
20 execute.view {
21 module = "area", view = "_sidebar_whatcanido", params = {
22 area = area
23 }
24 }
26 execute.view {
27 module = "area", view = "_sidebar_members", params = {
28 area = area
29 }
30 }
32 local function getOpenIssuesSelector()
33 return area:get_reference_selector("issues")
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()")
35 end
37 local admission_selector = getOpenIssuesSelector()
38 :add_where("issue.state = 'admission'");
40 local discussion_selector = getOpenIssuesSelector()
41 :add_where("issue.state = 'discussion'");
43 local verification_selector = getOpenIssuesSelector()
44 :add_where("issue.state = 'verification'");
46 local voting_selector = getOpenIssuesSelector()
47 :add_where("issue.state = 'voting'");
50 local closed_selector = area:get_reference_selector("issues")
51 :add_where("issue.closed NOTNULL")
52 :add_order_by("issue.closed DESC")
54 local members_selector = area:get_reference_selector("members"):add_where("member.active")
55 local delegations_selector = area:get_reference_selector("delegations")
56 :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
57 :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active")
60 execute.view {
61 module = "issue",
62 view = "_list2",
63 params = { for_area = area }
64 }

Impressum / About Us