annotate app/main/admin/area_show.lua @ 119:915cc0341538
Allow policies to be selected in admin interface of area
author |
Daniel Poelzleithner <poelzi@poelzi.org> |
date |
Mon Oct 04 14:19:08 2010 +0200 (2010-10-04) |
parents |
afd9f769c7ae |
children |
36aedac3e4bf |
rev |
line source |
bsw/jbe@0
|
1 local id = param.get_id()
|
bsw/jbe@0
|
2
|
bsw/jbe@0
|
3 local area
|
bsw/jbe@0
|
4 if id then
|
bsw/jbe@0
|
5 area = Area:new_selector():add_where{ "id = ?", id }:single_object_mode():exec()
|
bsw/jbe@0
|
6 end
|
bsw/jbe@0
|
7
|
bsw/jbe@0
|
8 slot.put_into("title", _"Create new area")
|
bsw/jbe@0
|
9
|
bsw/jbe@0
|
10 ui.form{
|
bsw/jbe@0
|
11 attr = { class = "vertical" },
|
bsw/jbe@0
|
12 record = area,
|
bsw/jbe@5
|
13 module = "admin",
|
bsw/jbe@5
|
14 action = "area_update",
|
bsw/jbe@0
|
15 routing = {
|
bsw/jbe@0
|
16 default = {
|
bsw/jbe@0
|
17 mode = "redirect",
|
bsw/jbe@0
|
18 module = "admin",
|
bsw/jbe@0
|
19 view = "area_list"
|
bsw/jbe@0
|
20 }
|
bsw/jbe@0
|
21 },
|
bsw/jbe@0
|
22 id = area and area.id or nil,
|
bsw/jbe@0
|
23 content = function()
|
bsw/jbe@0
|
24 ui.field.text{ label = _"Name", name = "name" }
|
bsw/jbe@0
|
25 ui.field.boolean{ label = _"Active?", name = "active" }
|
bsw/jbe@0
|
26 ui.field.text{ label = _"Description", name = "description", multiline = true }
|
poelzi@119
|
27 ui.multiselect{ label = _"Policies", name = "allowed_policies[]",
|
poelzi@119
|
28 foreign_records = Policy:new_selector():add_where{ "active='t'"}:exec(),
|
poelzi@119
|
29 foreign_id = "id",
|
poelzi@119
|
30 foreign_name = "name",
|
poelzi@119
|
31 connecting_records = area.allowed_policies,
|
poelzi@119
|
32 foreign_reference = "id" }
|
bsw/jbe@0
|
33 ui.submit{ text = _"Save" }
|
bsw/jbe@0
|
34 end
|
bsw/jbe@0
|
35 }
|