liquid_feedback_frontend
view app/main/admin/index.lua @ 1463:16868516595f
New layout for admin policy edit view
author | bsw |
---|---|
date | Thu Oct 18 17:34:24 2018 +0200 (2018-10-18) |
parents | 1d5469ca60dc |
children | 91f6498ba545 |
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 end }
14 ui.container{ attr = { class = "mdl-card__content" }, content = function()
16 for i_unit, unit in ipairs(units) do
17 ui.container {
18 attr = { style = "margin-left: " .. ((unit.depth - 1)* 2) .. "em;" },
19 content = function ()
20 ui.heading { level = 1, content = function ()
21 local class
22 if unit.active == false then
23 class = "inactive"
24 end
25 ui.link{ attr = { class = class }, text = unit.name, module = "admin", view = "unit_edit", id = unit.id }
26 end }
27 ui.tag { tag = "ul", attr = { class = "ul" }, content = function ()
28 local areas
29 if not inactive then
30 areas = unit:get_reference_selector("areas"):add_order_by("name"):add_where("active"):exec()
31 else
32 areas = unit:get_reference_selector("areas"):add_order_by("name"):exec()
33 end
34 for i, area in ipairs(areas) do
35 ui.tag { tag = "li", content = function ()
36 local class
37 if area.active == false then
38 class = "inactive"
39 end
40 ui.link{ attr = { class = class }, text = area.name, module = "admin", view = "area_show", id = area.id }
41 end }
42 end
43 ui.tag { tag = "li", content = function ()
44 ui.link { module = "admin", view = "area_show", params = { unit_id = unit.id }, content = _"+ add new subject area" }
45 end }
46 slot.put("<br />")
47 end }
48 end
49 }
50 end
52 slot.put("<br />")
53 ui.link { module = "admin", view = "unit_edit", content = _"Create new unit" }
54 slot.put("<br />")
55 slot.put("<br />")
57 if (not inactive) then
58 ui.link { module = "admin", view = "index", params = { inactive = true }, content = _"Show inactive" }
59 else
60 ui.link { module = "admin", view = "index", content = _"Hide inactive" }
61 end
63 end }
64 end }
65 end }
67 ui.cell_sidebar{ content = function()
69 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
70 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
71 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Members" }
72 end }
73 ui.container{ attr = { class = "mdl-card__content" }, content = function()
74 ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
75 ui.tag { tag = "li", content = function()
76 ui.form{
77 module = "admin", view = "member_list",
78 content = function()
80 ui.field.text{ container_attr = { style = "display: inline-block;" }, label = _"search", name = "search" }
82 ui.submit{ value = _"search" }
84 end
85 }
86 end }
87 end }
88 ui.sidebarSection( "moreLink", function()
89 ui.link{
90 text = _"Register new member",
91 module = "admin",
92 view = "member_edit"
93 }
94 end )
95 end }
96 end }
98 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
99 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
100 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Policies" }
101 end }
102 ui.container{ attr = { class = "mdl-card__content" }, content = function()
103 ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
104 for i, policy in ipairs(policies) do
105 ui.tag { tag = "li", content = function()
106 ui.link{
107 content = policy.name,
108 module = "admin",
109 view = "policy_show",
110 id = policy.id
111 }
112 end }
113 end
114 end }
116 ui.link{
117 text = _"Create new policy",
118 module = "admin",
119 view = "policy_show"
120 }
121 slot.put(" ")
122 ui.link{
123 text = _"Show policies not in use",
124 module = "admin",
125 view = "policy_list",
126 params = { show_not_in_use = true }
127 }
128 end }
129 end }
131 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
132 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
133 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Newsletter" }
134 end }
135 ui.container{ attr = { class = "mdl-card__content" }, content = function()
136 ui.link{
137 text = _"Create a newsletter",
138 module = "admin",
139 view = "newsletter_edit"
140 }
141 slot.put(" ")
142 ui.link{
143 text = _"Manage newsletters",
144 module = "admin",
145 view = "newsletter_list"
146 }
147 end }
148 end }
150 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
151 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
152 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Cancel issue" }
153 end }
154 ui.container{ attr = { class = "mdl-card__content" }, content = function()
155 ui.form{
156 module = "admin",
157 view = "cancel_issue",
158 content = function()
159 ui.tag { tag = "ul", attr = { class = "ul" }, content = function()
160 ui.tag { tag = "li", content = function()
161 ui.field.text{ label = _"Issue #", name = "id" }
162 ui.submit{ text = _"cancel issue" }
163 end }
164 end }
165 end
166 }
167 end }
168 end }
170 end }
171 end }