| rev | 
   line source | 
| 
bsw@301
 | 
     1 local unit_id = config.single_unit_id or param.get_id()
 | 
| 
bsw@301
 | 
     2 
 | 
| 
bsw@301
 | 
     3 local unit = Unit:by_id(unit_id)
 | 
| 
bsw@301
 | 
     4 
 | 
| 
bsw@1504
 | 
     5 if not unit or unit.attr.hidden then
 | 
| 
bsw@1045
 | 
     6   execute.view { module = "index", view = "404" }
 | 
| 
bsw@1045
 | 
     7   request.set_status("404 Not Found")
 | 
| 
bsw@1045
 | 
     8   return
 | 
| 
bsw@1045
 | 
     9 end
 | 
| 
bsw@301
 | 
    10 
 | 
| 
bsw/jbe@1309
 | 
    11 app.current_unit = unit
 | 
| 
bsw@1045
 | 
    12 
 | 
| 
bsw@1045
 | 
    13 unit:load_delegation_info_once_for_member_id(app.session.member_id)
 | 
| 
bsw@301
 | 
    14 
 | 
| 
bsw@301
 | 
    15 local areas_selector = Area:build_selector{ active = true, unit_id = unit_id }
 | 
| 
bsw@301
 | 
    16 areas_selector:add_order_by("member_weight DESC")
 | 
| 
bsw@301
 | 
    17 
 | 
| 
bsw@301
 | 
    18 local members_selector = Member:build_selector{
 | 
| 
bsw@301
 | 
    19   active = true,
 | 
| 
bsw@301
 | 
    20   voting_right_for_unit_id = unit.id
 | 
| 
bsw@301
 | 
    21 }
 | 
| 
bsw@301
 | 
    22 
 | 
| 
bsw@301
 | 
    23 local delegations_selector = Delegation:new_selector()
 | 
| 
bsw@301
 | 
    24   :join("member", "truster", "truster.id = delegation.truster_id AND truster.active")
 | 
| 
bsw@302
 | 
    25   :join("privilege", "truster_privilege", "truster_privilege.member_id = truster.id AND truster_privilege.unit_id = delegation.unit_id AND truster_privilege.voting_right")
 | 
| 
bsw@301
 | 
    26   :join("member", "trustee", "trustee.id = delegation.trustee_id AND truster.active")
 | 
| 
bsw@302
 | 
    27   :join("privilege", "trustee_privilege", "trustee_privilege.member_id = trustee.id AND trustee_privilege.unit_id = delegation.unit_id AND trustee_privilege.voting_right")
 | 
| 
bsw@301
 | 
    28   :add_where{ "delegation.unit_id = ?", unit.id }
 | 
| 
bsw@301
 | 
    29 
 | 
| 
bsw@414
 | 
    30 local open_issues_selector = Issue:new_selector()
 | 
| 
bsw@301
 | 
    31   :join("area", nil, "area.id = issue.area_id")
 | 
| 
bsw@301
 | 
    32   :add_where{ "area.unit_id = ?", unit.id }
 | 
| 
bsw@414
 | 
    33   :add_where("issue.closed ISNULL")
 | 
| 
bsw@1234
 | 
    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.max_admission_time) - now()")
 | 
| 
bsw@414
 | 
    35 
 | 
| 
bsw@414
 | 
    36 local closed_issues_selector = Issue:new_selector()
 | 
| 
bsw@414
 | 
    37   :join("area", nil, "area.id = issue.area_id")
 | 
| 
bsw@414
 | 
    38   :add_where{ "area.unit_id = ?", unit.id }
 | 
| 
bsw@414
 | 
    39   :add_where("issue.closed NOTNULL")
 | 
| 
bsw@414
 | 
    40   :add_order_by("issue.closed DESC")
 | 
| 
bsw@301
 | 
    41 
 | 
| 
bsw/jbe@1309
 | 
    42   ui.container{ attr = { class = "mdl-grid" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    43     ui.container{ attr = { class = "mdl-cell mdl-cell--12-col" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    44         
 | 
| 
bsw/jbe@1309
 | 
    45       ui.heading{ content = unit.name }
 | 
| 
bsw@414
 | 
    46 
 | 
| 
bsw/jbe@1309
 | 
    47       execute.view { module = "unit", view = "_head", params = { unit = unit } }
 | 
| 
bsw/jbe@1309
 | 
    48 
 | 
| 
bsw/jbe@1309
 | 
    49       execute.view { 
 | 
| 
bsw/jbe@1309
 | 
    50         module = "unit", view = "_sidebar", params = { 
 | 
| 
bsw/jbe@1309
 | 
    51           unit = unit
 | 
| 
bsw/jbe@1309
 | 
    52         }
 | 
| 
bsw/jbe@1309
 | 
    53       }
 | 
| 
bsw@301
 | 
    54 
 | 
| 
bsw/jbe@1309
 | 
    55       execute.view { 
 | 
| 
bsw/jbe@1309
 | 
    56         module = "unit", view = "_sidebar_whatcanido", params = { 
 | 
| 
bsw/jbe@1309
 | 
    57           unit = unit
 | 
| 
bsw/jbe@1309
 | 
    58         }
 | 
| 
bsw/jbe@1309
 | 
    59       }
 | 
| 
bsw@1045
 | 
    60 
 | 
| 
bsw/jbe@1309
 | 
    61       execute.view { 
 | 
| 
bsw/jbe@1309
 | 
    62         module = "unit", view = "_sidebar_members", params = { 
 | 
| 
bsw/jbe@1309
 | 
    63           unit = unit
 | 
| 
bsw/jbe@1309
 | 
    64         }
 | 
| 
bsw/jbe@1309
 | 
    65       }
 | 
| 
bsw@1045
 | 
    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_unit = unit, head = function ()
 | 
| 
bsw/jbe@1309
 | 
    71           ui.heading { attr = { class = "left" }, level = 1, content = unit.name }
 | 
| 
bsw/jbe@1309
 | 
    72         end }
 | 
| 
bsw/jbe@1309
 | 
    73       }
 | 
| 
bsw/jbe@1309
 | 
    74     end }
 | 
| 
bsw@1045
 | 
    75   end }
 | 
| 
bsw@1045
 | 
    76 
 | 
| 
bsw@1045
 | 
    77 --[[
 | 
| 
bsw@870
 | 
    78 if app.session:has_access("all_pseudonymous") then
 | 
| 
bsw@301
 | 
    79   tabs[#tabs+1] = {
 | 
| 
bsw@525
 | 
    80     name = "eligible_voters",
 | 
| 
bsw@525
 | 
    81     label = _"Eligible voters",
 | 
| 
bsw@301
 | 
    82     module = "member",
 | 
| 
bsw@301
 | 
    83     view = "_list",
 | 
| 
bsw@301
 | 
    84     params = { members_selector = members_selector }
 | 
| 
bsw@301
 | 
    85   }
 | 
| 
bsw@301
 | 
    86 
 | 
| 
bsw@301
 | 
    87   tabs[#tabs+1] = {
 | 
| 
bsw@301
 | 
    88     name = "delegations",
 | 
| 
bsw@301
 | 
    89     label = _"Delegations",
 | 
| 
bsw@301
 | 
    90     module = "delegation",
 | 
| 
bsw@301
 | 
    91     view = "_list",
 | 
| 
bsw@301
 | 
    92     params = { delegations_selector = delegations_selector }
 | 
| 
bsw@301
 | 
    93   }
 | 
| 
bsw@301
 | 
    94 end
 | 
| 
bsw@301
 | 
    95 
 | 
| 
bsw@1045
 | 
    96 ui.tabs(tabs)
 | 
| 
bsw@1045
 | 
    97 
 | 
| 
bsw/jbe@1309
 | 
    98 --]]
 |