annotate app/main/admin/_action/area_update.lua @ 595:bc6934411019
Added unit editor, small fixes at admin section
author |
bsw |
date |
Sun Jun 24 20:41:50 2012 +0200 (2012-06-24) |
parents |
f42d16567c5d |
children |
701a5cf6b067 |
rev |
line source |
bsw@193
|
1 local area = Area:by_id(param.get_id()) or Area:new()
|
bsw/jbe@5
|
2
|
bsw@263
|
3 param.update(area, "unit_id", "name", "description", "active")
|
bsw/jbe@5
|
4
|
bsw/jbe@5
|
5 area:save()
|
bsw/jbe@5
|
6
|
poelzi@119
|
7 param.update_relationship{
|
poelzi@119
|
8 param_name = "allowed_policies",
|
poelzi@119
|
9 id = area.id,
|
poelzi@119
|
10 connecting_model = AllowedPolicy,
|
poelzi@119
|
11 own_reference = "area_id",
|
poelzi@119
|
12 foreign_reference = "policy_id"
|
poelzi@119
|
13 }
|
poelzi@119
|
14
|
poelzi@126
|
15 -- we have to update the default flag because update_relationship can't handle it
|
poelzi@126
|
16 old_default = AllowedPolicy:new_selector()
|
poelzi@126
|
17 :add_where{ "allowed_policy.area_id = ? AND allowed_policy.default_policy = 't'", area.id }
|
poelzi@126
|
18 :optional_object_mode()
|
poelzi@126
|
19 :exec()
|
poelzi@126
|
20
|
poelzi@126
|
21 if old_default then
|
poelzi@126
|
22 old_default.default_policy = false;
|
poelzi@126
|
23 old_default:save()
|
poelzi@126
|
24 end
|
poelzi@126
|
25
|
poelzi@126
|
26 default_policy_id = param.get("default_policy", atom.integer)
|
poelzi@126
|
27
|
poelzi@126
|
28 if default_policy_id and default_policy_id ~= -1 then
|
poelzi@126
|
29 pol = AllowedPolicy:new_selector()
|
poelzi@126
|
30 :add_where{ "allowed_policy.area_id = ? AND allowed_policy.policy_id = ?", area.id, default_policy_id }
|
poelzi@126
|
31 :optional_object_mode()
|
poelzi@126
|
32 :exec()
|
poelzi@126
|
33 if pol then
|
poelzi@126
|
34 pol.default_policy = true;
|
poelzi@126
|
35 pol:save()
|
poelzi@126
|
36 end
|
poelzi@126
|
37 end
|