liquid_feedback_frontend
view app/main/index/_drawer.lua @ 1311:94cb2525c48c
Added missing font files
author | bsw |
---|---|
date | Wed Aug 01 16:49:11 2018 +0200 (2018-08-01) |
parents | 32cc544d5a5b |
children |
line source
1 local member = app.session.member
2 local units
3 if member then
4 units = member:get_reference_selector("units"):add_order_by("name"):exec()
5 units:load_delegation_info_once_for_member_id(member.id)
6 else
7 units = Unit:new_selector():add_where("active"):add_order_by("name"):exec()
8 end
10 slot.select("drawer", function()
11 ui.container{ attr = { class = "mdl-layout__drawer" }, content = function()
12 ui.tag{ tag = "nav", attr = { class = "mdl-navigation" }, content = function ()
13 ui.link{ content = config.instance_name, attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider mdl-navigation__head" }, module = "index", view = "index" }
15 if #units > 0 then
16 for i, unit in ipairs(units) do
17 local class = "mdl-navigation__link mdl-navigation__head"
18 if i == #units then
19 class = class .. " mdl-menu__item--full-bleed-divider"
20 end
21 ui.link{ attr = { class = class }, content = unit.name, module = "unit", view = "show", id = unit.id }
22 local areas = unit.areas
23 for i, area in ipairs(areas) do
24 local class = "mdl-navigation__link mdl-menu__item--small"
25 if i == #areas then
26 class = class .. " mdl-menu__item--full-bleed-divider"
27 end
28 ui.link{ attr = { class = class }, module = "area", view = "show", id = area.id, content = function()
29 ui.tag{ content = "⤷" }
30 slot.put(" ")
31 ui.tag{ content = area.name }
32 end }
33 end
34 end
35 end
37 ui.link{ attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider" }, content = _"Member list", module = "member", view = "list" }
38 ui.link{ attr = { class = "mdl-navigation__link" }, content = _"Quick guide", module = "help", view = "introduction" }
40 if app.session.member_id and app.session.member.admin then
41 ui.link{ attr = { class = "mdl-navigation__link mdl-menu__item--full-bleed-divider" }, content = _"System settings", module = "admin", view = "index" }
42 end
44 end }
45 end }
46 end)
48 if true then
49 return
50 end
52 for i, unit in ipairs(units) do
54 ui.sidebar ( "tab-whatcanido units", function ()
56 local areas_selector = Area:new_selector()
57 :reset_fields()
58 :add_field("area.id", nil, { "grouped" })
59 :add_field("area.unit_id", nil, { "grouped" })
60 :add_field("area.name", nil, { "grouped" })
61 :add_where{ "area.unit_id = ?", unit.id }
62 :add_where{ "area.active" }
63 :add_order_by("area.name")
65 local areas = areas_selector:exec()
66 if member then
67 areas:load_delegation_info_once_for_member_id(member.id)
68 end
70 if #areas > 0 then
72 ui.container {
73 attr = { class = "sidebarHead" },
74 content = function ()
75 ui.heading { level = 2, content = function ()
76 ui.link {
77 attr = { class = "unit" },
78 module = "unit", view = "show", id = unit.id,
79 content = unit.name
80 }
82 if member then
83 local delegation = Delegation:by_pk(member.id, unit.id, nil, nil)
85 if delegation then
86 ui.link {
87 module = "delegation", view = "show", params = {
88 unit_id = unit.id
89 },
90 attr = { class = "delegation_info" },
91 content = function ()
92 ui.delegation(delegation.trustee_id, delegation.trustee.name)
93 end
94 }
95 end
96 end
97 end }
99 end
100 }
103 ui.tag { tag = "div", attr = { class = "areas areas-" .. unit.id }, content = function ()
105 for i, area in ipairs(areas) do
107 ui.tag { tag = "div", attr = { class = "sidebarRow" }, content = function ()
109 if member then
110 local delegation = Delegation:by_pk(member.id, nil, area.id, nil)
112 if delegation then
113 ui.link {
114 module = "delegation", view = "show", params = {
115 area_id = area.id
116 },
117 attr = { class = "delegation_info" },
118 content = function ()
119 ui.delegation(delegation.trustee_id, delegation.trustee_id and delegation.trustee.name)
120 end
121 }
122 end
123 end
125 slot.put ( " " )
127 ui.link {
128 attr = { class = "area" },
129 module = "area", view = "show", id = area.id,
130 content = area.name
131 }
134 end }
135 end
136 end }
137 end
138 end )
139 end