liquid_feedback_frontend

view app/main/admin/area_show.lua @ 1468:9a01089a6703

New layout for admin unit and area view
author bsw
date Thu Oct 18 17:40:09 2018 +0200 (2018-10-18)
parents 32cc544d5a5b
children 914611dc446b
line source
1 local id = param.get_id()
3 local hint = not id
5 local area = Area:by_id(id) or Area:new()
7 if not area.unit_id then
8 area.unit_id = param.get("unit_id", atom.integer)
9 end
11 ui.titleAdmin(_"area")
13 ui.grid{ content = function()
15 ui.cell_main{ content = function()
16 ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
17 ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
18 ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Member list" }
19 end }
20 ui.container{ attr = { class = "mdl-card__content" }, content = function()
21 ui.form{
22 attr = { class = "vertical section" },
23 record = area,
24 module = "admin",
25 action = "area_update",
26 routing = {
27 ok = {
28 mode = "redirect",
29 module = "admin",
30 view = "index",
31 params = { unit_id = area.unit_id }
32 },
33 },
34 id = id,
35 content = function()
36 local policies = Policy:build_selector{ active = true }:exec()
37 local def_policy = {
38 {
39 id = "-1",
40 name = _"No default"
41 }
42 }
43 for i, record in ipairs(policies) do
44 def_policy[#def_policy+1] = record
45 end
48 ui.section( function()
49 ui.sectionHead( function()
50 ui.heading { level = 1, content = area.name or _"New area" }
51 end )
53 ui.sectionRow( function()
55 ui.field.hidden{ name = "unit_id", value = area.unit_id }
56 ui.field.text{ label = _"Unit", value = area.unit.name, readonly = true }
57 ui.field.text{ label = _"Name", name = "name" }
58 ui.field.text{ label = _"Description", name = "description", multiline = true }
59 ui.field.text{ label = _"External reference", name = "external_reference" }
60 ui.field.select{ label = _"Default Policy", name = "default_policy",
61 value=area.default_policy and area.default_policy.id or "-1",
62 foreign_records = def_policy,
63 foreign_id = "id",
64 foreign_name = "name"
65 }
66 ui.heading { level = 3, content = _"Allowed policies" }
67 ui.multiselect{ name = "allowed_policies[]",
68 foreign_records = policies,
69 foreign_id = "id",
70 foreign_name = "name",
71 connecting_records = area.allowed_policies or {},
72 foreign_reference = "id",
73 }
74 ui.field.text{ label = _"Admission quorum standard", name = "quorum_standard", value = hint and 10 or nil }
75 ui.field.text{ label = _"Admission quorum issues", name = "quorum_issues", value = hint and 10 or nil }
76 ui.field.text{ label = _"Admission quorum time", name = "quorum_time", value = hint and "60 days" or nil }
77 ui.field.text{ label = _"Admission quorum exponent", name = "quorum_exponent", value = hint and 0.5 or nil }
78 ui.field.text{ label = _"Admission qourum factor", name = "quorum_factor", value = hint and 2 or nil }
79 slot.put("<br /><br />")
80 ui.field.boolean{ label = _"Active?", name = "active", value = hint and true or nil }
81 ui.submit{ text = _"update area" }
82 slot.put(" ")
83 ui.link{ module = "admin", view = "index", content = _"cancel" }
84 end )
85 end )
86 end
87 }
88 end }
89 end }
90 end }
91 end }

Impressum / About Us