liquid_feedback_frontend
annotate app/main/admin/_action/area_update.lua @ 160:cc7650c7053f
better title for draft/show
add source view mode into show draft fixes bug #298
add source view mode into show draft fixes bug #298
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Sat Oct 09 04:25:11 2010 +0200 (2010-10-09) |
parents | 36aedac3e4bf |
children | 46351752814f |
rev | line source |
---|---|
bsw/jbe@5 | 1 if not app.session.member.admin then |
bsw/jbe@5 | 2 error() |
bsw/jbe@5 | 3 end |
bsw/jbe@5 | 4 |
bsw/jbe@5 | 5 local id = param.get_id() |
bsw/jbe@5 | 6 |
bsw/jbe@5 | 7 local area |
bsw/jbe@5 | 8 if id then |
bsw/jbe@5 | 9 area = Area:new_selector():add_where{ "id = ?", id }:single_object_mode():exec() |
bsw/jbe@5 | 10 else |
bsw/jbe@5 | 11 area = Area:new() |
bsw/jbe@5 | 12 end |
bsw/jbe@5 | 13 |
bsw/jbe@5 | 14 |
bsw/jbe@5 | 15 param.update(area, "name", "description", "active") |
bsw/jbe@5 | 16 |
bsw/jbe@5 | 17 area:save() |
bsw/jbe@5 | 18 |
poelzi@119 | 19 param.update_relationship{ |
poelzi@119 | 20 param_name = "allowed_policies", |
poelzi@119 | 21 id = area.id, |
poelzi@119 | 22 connecting_model = AllowedPolicy, |
poelzi@119 | 23 own_reference = "area_id", |
poelzi@119 | 24 foreign_reference = "policy_id" |
poelzi@119 | 25 } |
poelzi@119 | 26 |
poelzi@126 | 27 -- we have to update the default flag because update_relationship can't handle it |
poelzi@126 | 28 old_default = AllowedPolicy:new_selector() |
poelzi@126 | 29 :add_where{ "allowed_policy.area_id = ? AND allowed_policy.default_policy = 't'", area.id } |
poelzi@126 | 30 :optional_object_mode() |
poelzi@126 | 31 :exec() |
poelzi@126 | 32 |
poelzi@126 | 33 if old_default then |
poelzi@126 | 34 old_default.default_policy = false; |
poelzi@126 | 35 old_default:save() |
poelzi@126 | 36 end |
poelzi@126 | 37 |
poelzi@126 | 38 default_policy_id = param.get("default_policy", atom.integer) |
poelzi@126 | 39 |
poelzi@126 | 40 if default_policy_id and default_policy_id ~= -1 then |
poelzi@126 | 41 pol = AllowedPolicy:new_selector() |
poelzi@126 | 42 :add_where{ "allowed_policy.area_id = ? AND allowed_policy.policy_id = ?", area.id, default_policy_id } |
poelzi@126 | 43 :optional_object_mode() |
poelzi@126 | 44 :exec() |
poelzi@126 | 45 if pol then |
poelzi@126 | 46 pol.default_policy = true; |
poelzi@126 | 47 pol:save() |
poelzi@126 | 48 end |
poelzi@126 | 49 end |
poelzi@126 | 50 |
bsw/jbe@5 | 51 slot.put_into("notice", _"Area successfully updated") |