| 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@301 | 5 if not config.single_unit_id then | 
| bsw@301 | 6   slot.put_into("title", unit.name) | 
| bsw@301 | 7 else | 
| bsw@301 | 8   slot.put_into("title", encode.html(config.app_title)) | 
| bsw@301 | 9 end | 
| bsw@301 | 10 | 
| bsw@301 | 11 if config.single_unit_id and not app.session.member_id and config.motd_public then | 
| bsw@301 | 12   local help_text = config.motd_public | 
| bsw@301 | 13   ui.container{ | 
| bsw@301 | 14     attr = { class = "wiki motd" }, | 
| bsw@301 | 15     content = function() | 
| bsw@301 | 16       slot.put(format.wiki_text(help_text)) | 
| bsw@301 | 17     end | 
| bsw@301 | 18   } | 
| bsw@301 | 19 end | 
| bsw@301 | 20 | 
| bsw@301 | 21 util.help("unit.show", _"Unit") | 
| bsw@301 | 22 | 
| bsw@301 | 23 if app.session.member_id then | 
| bsw@301 | 24   execute.view{ | 
| bsw@301 | 25     module = "delegation", | 
| bsw@301 | 26     view = "_show_box", | 
| bsw@301 | 27     params = { unit_id = unit_id } | 
| bsw@301 | 28   } | 
| bsw@301 | 29 end | 
| bsw@301 | 30 | 
| bsw@301 | 31 | 
| bsw@301 | 32 local areas_selector = Area:build_selector{ active = true, unit_id = unit_id } | 
| bsw@301 | 33 areas_selector:add_order_by("member_weight DESC") | 
| bsw@301 | 34 | 
| bsw@301 | 35 local members_selector = Member:build_selector{ | 
| bsw@301 | 36   active = true, | 
| bsw@301 | 37   voting_right_for_unit_id = unit.id | 
| bsw@301 | 38 } | 
| bsw@301 | 39 | 
| bsw@301 | 40 local delegations_selector = Delegation:new_selector() | 
| bsw@301 | 41   :join("member", "truster", "truster.id = delegation.truster_id AND truster.active") | 
| bsw@301 | 42   :join("privilege", "truster_privilege", "truster_privilege.member_id = truster.id AND truster_privilege.voting_right") | 
| bsw@301 | 43   :join("member", "trustee", "trustee.id = delegation.trustee_id AND truster.active") | 
| bsw@301 | 44   :join("privilege", "trustee_privilege", "trustee_privilege.member_id = trustee.id AND trustee_privilege.voting_right") | 
| bsw@301 | 45   :add_where{ "delegation.unit_id = ?", unit.id } | 
| bsw@301 | 46 | 
| bsw@301 | 47 local issues_selector = Issue:new_selector() | 
| bsw@301 | 48   :join("area", nil, "area.id = issue.area_id") | 
| bsw@301 | 49   :add_where{ "area.unit_id = ?", unit.id } | 
| bsw@301 | 50 | 
| bsw@301 | 51 | 
| bsw@301 | 52 local tabs = { | 
| bsw@301 | 53   module = "unit", | 
| bsw@301 | 54   view = "show", | 
| bsw@301 | 55   id = unit.id | 
| bsw@301 | 56 } | 
| bsw@301 | 57 | 
| bsw@301 | 58 tabs[#tabs+1] = { | 
| bsw@301 | 59   name = "areas", | 
| bsw@301 | 60   label = _"Areas", | 
| bsw@301 | 61   module = "area", | 
| bsw@301 | 62   view = "_list", | 
| bsw@301 | 63   params = { areas_selector = areas_selector } | 
| bsw@301 | 64 } | 
| bsw@301 | 65 | 
| bsw@301 | 66 tabs[#tabs+1] = { | 
| bsw@301 | 67   name = "issues", | 
| bsw@301 | 68   label = _"Issues", | 
| bsw@301 | 69   module = "issue", | 
| bsw@301 | 70   view = "_list", | 
| bsw@301 | 71   params = { issues_selector = issues_selector } | 
| bsw@301 | 72 } | 
| bsw@301 | 73 | 
| bsw@301 | 74 if app.session.member_id then | 
| bsw@301 | 75   tabs[#tabs+1] = { | 
| bsw@301 | 76     name = "members", | 
| bsw@301 | 77     label = _"Members", | 
| bsw@301 | 78     module = "member", | 
| bsw@301 | 79     view = "_list", | 
| bsw@301 | 80     params = { members_selector = members_selector } | 
| bsw@301 | 81   } | 
| bsw@301 | 82 | 
| bsw@301 | 83   tabs[#tabs+1] = { | 
| bsw@301 | 84     name = "delegations", | 
| bsw@301 | 85     label = _"Delegations", | 
| bsw@301 | 86     module = "delegation", | 
| bsw@301 | 87     view = "_list", | 
| bsw@301 | 88     params = { delegations_selector = delegations_selector } | 
| bsw@301 | 89   } | 
| bsw@301 | 90 end | 
| bsw@301 | 91 | 
| bsw@301 | 92 ui.tabs(tabs) |