liquid_feedback_frontend
view app/main/admin/index.lua @ 1449:f27790f617c9
Added layout for main area of admin index view
author | bsw |
---|---|
date | Thu Oct 18 17:16:44 2018 +0200 (2018-10-18) |
parents | 969d6aa521d6 |
children | 2fbf95bee380 |
line source
1 local inactive = param.get("inactive", atom.boolean)
3 local units = Unit:get_flattened_tree{ include_inactive = inactive }
5 local policies = Policy:build_selector{}:add_order_by("index"):exec()
7 ui.grid{ content = function()
9 ui.cell_main{ content = function()
10 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
11 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
12 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Organizational units and subject areas" }
13 ui.container{ attr = { class = "mdl-card__content" }, content = function()
15 for i_unit, unit in ipairs(units) do
16 ui.container {
17 attr = { style = "margin-left: " .. ((unit.depth - 1)* 2) .. "em;" },
18 content = function ()
19 ui.heading { level = 1, content = function ()
20 local class
21 if unit.active == false then
22 class = "inactive"
23 end
24 ui.link{ attr = { class = class }, text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
25 end }
26 ui.tag { tag = "ul", attr = { class = "ul" }, content = function ()
27 local areas
28 if not inactive then
29 areas = unit:get_reference_selector("areas"):add_order_by("name"):add_where("active"):exec()
30 else
31 areas = unit:get_reference_selector("areas"):add_order_by("name"):exec()
32 end
33 for i, area in ipairs(areas) do
34 ui.tag { tag = "li", content = function ()
35 local class
36 if area.active == false then
37 class = "inactive"
38 end
39 ui.link{ attr = { class = class }, text = area.name, module = "admin", view = "area_show", id = area.id }
40 end }
41 end
42 ui.tag { tag = "li", content = function ()
43 ui.link { module = "admin", view = "area_show", params = { unit_id = unit.id }, content = _"+ add new subject area" }
44 end }
45 slot.put("<br />")
46 end }
47 end
48 }
49 end
51 slot.put("<br />")
52 ui.link { module = "admin", view = "unit_edit", content = _"Create new unit" }
53 slot.put("<br />")
54 slot.put("<br />")
56 if (not inactive) then
57 ui.link { module = "admin", view = "index", params = { inactive = true }, content = _"Show inactive" }
58 else
59 ui.link { module = "admin", view = "index", content = _"Hide inactive" }
60 end
62 end }
63 end }
64 end }
66 ui.cell_sidebar{ content = function()
68 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
69 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
70 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Members" }
71 end }
72 ui.container{ attr = { class = "mdl-card__content" }, content = function()
73 ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
74 ui.tag { tag = "li", content = function()
75 ui.form{
76 module = "admin", view = "member_list",
77 content = function()
79 ui.field.text{ label = _"search", name = "search" }
81 ui.submit{ value = _"search" }
83 end
84 }
85 end }
86 end }
87 ui.sidebarSection( "moreLink", function()
88 ui.link{
89 text = _"Register new member",
90 module = "admin",
91 view = "member_edit"
92 }
93 end )
94 end }
95 end }
97 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
98 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
99 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Policies" }
100 end }
101 ui.container{ attr = { class = "mdl-card__content" }, content = function()
102 ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
103 for i, policy in ipairs(policies) do
104 ui.tag { tag = "li", content = function()
105 ui.link{
106 content = policy.name,
107 module = "admin",
108 view = "policy_show",
109 id = policy.id
110 }
111 end }
112 end
113 end }
115 ui.link{
116 text = _"Create new policy",
117 module = "admin",
118 view = "policy_show"
119 }
120 slot.put(" ")
121 ui.link{
122 text = _"Show policies not in use",
123 module = "admin",
124 view = "policy_list",
125 params = { show_not_in_use = true }
126 }
127 end }
128 end }
130 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
131 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
132 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Newsletter" }
133 end }
134 ui.container{ attr = { class = "mdl-card__content" }, content = function()
135 ui.link{
136 text = _"Create a newsletter",
137 module = "admin",
138 view = "newsletter_edit"
139 }
140 slot.put(" ")
141 ui.link{
142 text = _"Manage newsletters",
143 module = "admin",
144 view = "newsletter_list"
145 }
146 end }
147 end }
149 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
150 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
151 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Cancel issue" }
152 end }
153 ui.container{ attr = { class = "mdl-card__content" }, content = function()
154 ui.form{
155 module = "admin",
156 view = "cancel_issue",
157 content = function()
158 ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
159 ui.tag { tag = "li", content = function()
160 ui.field.text{ label = _"Issue #", name = "id" }
161 ui.submit{ text = _"cancel issue" }
162 end }
163 end }
164 end
165 }
166 end }
167 end }
169 end }
170 end }