| 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/jbe@1309
 | 
     9 app.current_area = area
 | 
| 
bsw/jbe@1309
 | 
    10 
 | 
| 
bsw/jbe@1309
 | 
    11 
 | 
| 
bsw@1045
 | 
    12 area:load_delegation_info_once_for_member_id(app.session.member_id)
 | 
| 
bsw/jbe@0
 | 
    13 
 | 
| 
jorges@103
 | 
    14 app.html_title.title = area.name
 | 
| 
jorges@103
 | 
    15 app.html_title.subtitle = _("Area")
 | 
| 
jorges@103
 | 
    16 
 | 
| 
bsw/jbe@1309
 | 
    17 ui.container{ attr = { class = "mdl-grid" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    18   ui.container{ attr = { class = "mdl-cell mdl-cell--12-col" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    19     ui.heading{ content = area.unit.name .. " / " .. area.name }
 | 
| 
bsw/jbe@0
 | 
    20 
 | 
| 
bsw/jbe@1309
 | 
    21     execute.view {
 | 
| 
bsw/jbe@1309
 | 
    22       module = "area", view = "_head", params = {
 | 
| 
bsw/jbe@1309
 | 
    23         area = area, member = app.session.member
 | 
| 
bsw/jbe@1309
 | 
    24       }
 | 
| 
bsw/jbe@1309
 | 
    25     }
 | 
| 
bsw/jbe@1309
 | 
    26 
 | 
| 
bsw/jbe@1309
 | 
    27     execute.view {
 | 
| 
bsw/jbe@1309
 | 
    28       module = "area", view = "_sidebar_whatcanido", params = {
 | 
| 
bsw/jbe@1309
 | 
    29         area = area
 | 
| 
bsw/jbe@1309
 | 
    30       }
 | 
| 
bsw/jbe@1309
 | 
    31     }
 | 
| 
bsw@1045
 | 
    32 
 | 
| 
bsw/jbe@1309
 | 
    33     execute.view {
 | 
| 
bsw/jbe@1309
 | 
    34       module = "area", view = "_sidebar_members", params = {
 | 
| 
bsw/jbe@1309
 | 
    35         area = area
 | 
| 
bsw/jbe@1309
 | 
    36       }
 | 
| 
bsw/jbe@1309
 | 
    37     }
 | 
| 
bsw/jbe@0
 | 
    38 
 | 
| 
bsw/jbe@1309
 | 
    39     local function getOpenIssuesSelector()
 | 
| 
bsw/jbe@1309
 | 
    40       return area:get_reference_selector("issues")
 | 
| 
bsw/jbe@1309
 | 
    41         :add_order_by("coalesce(issue.fully_frozen + issue.voting_time, issue.half_frozen + issue.verification_time, issue.accepted + issue.discussion_time, issue.created + issue.max_admission_time) - now()")
 | 
| 
bsw/jbe@1309
 | 
    42     end
 | 
| 
bsw@1045
 | 
    43 
 | 
| 
bsw/jbe@1309
 | 
    44     local admission_selector = getOpenIssuesSelector()
 | 
| 
bsw/jbe@1309
 | 
    45       :add_where("issue.state = 'admission'");
 | 
| 
bsw@197
 | 
    46 
 | 
| 
bsw/jbe@1309
 | 
    47     local discussion_selector = getOpenIssuesSelector()
 | 
| 
bsw/jbe@1309
 | 
    48       :add_where("issue.state = 'discussion'");
 | 
| 
bsw@1045
 | 
    49 
 | 
| 
bsw/jbe@1309
 | 
    50     local verification_selector = getOpenIssuesSelector()
 | 
| 
bsw/jbe@1309
 | 
    51       :add_where("issue.state = 'verification'");
 | 
| 
bsw@1045
 | 
    52 
 | 
| 
bsw/jbe@1309
 | 
    53     local voting_selector = getOpenIssuesSelector()
 | 
| 
bsw/jbe@1309
 | 
    54       :add_where("issue.state = 'voting'");
 | 
| 
bsw@1045
 | 
    55 
 | 
| 
bsw@1045
 | 
    56 
 | 
| 
bsw/jbe@1309
 | 
    57     local closed_selector = area:get_reference_selector("issues")
 | 
| 
bsw/jbe@1309
 | 
    58       :add_where("issue.closed NOTNULL")
 | 
| 
bsw/jbe@1309
 | 
    59       :add_order_by("issue.closed DESC")
 | 
| 
bsw@271
 | 
    60 
 | 
| 
bsw/jbe@1309
 | 
    61     local members_selector = area:get_reference_selector("members"):add_where("member.active")
 | 
| 
bsw/jbe@1309
 | 
    62     local delegations_selector = area:get_reference_selector("delegations")
 | 
| 
bsw/jbe@1309
 | 
    63       :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
 | 
| 
bsw/jbe@1309
 | 
    64       :join("member", "trustee", "trustee.id = delegation.trustee_id AND trustee.active")
 | 
| 
bsw/jbe@0
 | 
    65 
 | 
| 
bsw@869
 | 
    66 
 | 
| 
bsw/jbe@1309
 | 
    67     execute.view {
 | 
| 
bsw/jbe@1309
 | 
    68       module = "issue",
 | 
| 
bsw/jbe@1309
 | 
    69       view = "_list",
 | 
| 
bsw/jbe@1309
 | 
    70       params = { for_area = area }
 | 
| 
bsw/jbe@1309
 | 
    71     }
 | 
| 
bsw/jbe@1309
 | 
    72   end }
 | 
| 
bsw/jbe@1309
 | 
    73 end }
 |