liquid_feedback_frontend
view 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 | 
 line source
     1 local id = param.get_id()
     3 local area
     4 if id then
     5   area = Area:new_selector():add_where{ "id = ?", id }:single_object_mode():exec()
     6 end
     8 slot.put_into("title", _"Create new area")
    10 ui.form{
    11   attr = { class = "vertical" },
    12   record = area,
    13   module = "admin",
    14   action = "area_update",
    15   routing = {
    16     default = {
    17       mode = "redirect",
    18       module = "admin",
    19       view = "area_list"
    20     }
    21   },
    22   id = area and area.id or nil,
    23   content = function()
    24     ui.field.text{    label = _"Name",        name = "name" }
    25     ui.field.boolean{ label = _"Active?",     name = "active" }
    26     ui.field.text{    label = _"Description", name = "description", multiline = true }
    27     ui.multiselect{   label = _"Policies",    name = "allowed_policies[]",
    28                       foreign_records = Policy:new_selector():add_where{ "active='t'"}:exec(),
    29                       foreign_id      = "id",
    30                       foreign_name    = "name",
    31                       connecting_records = area.allowed_policies,
    32                       foreign_reference  = "id" }
    33     ui.submit{ text = _"Save" }
    34   end
    35 }
