annotate app/main/admin/_action/area_update.lua @ 1532:3c15fea3f1c0
Added FirstLife group mirroring
author |
bsw |
date |
Sun Oct 04 16:31:47 2020 +0200 (2020-10-04) |
parents |
32cc544d5a5b |
children |
|
rev |
line source |
bsw@193
|
1 local area = Area:by_id(param.get_id()) or Area:new()
|
bsw/jbe@5
|
2
|
bsw/jbe@1309
|
3 param.update(area, "unit_id", "name", "description", "external_reference", "quorum_standard", "quorum_issues", "quorum_time", "quorum_exponent", "quorum_factor", "active")
|
bsw/jbe@5
|
4
|
bsw@1045
|
5 if #area.name < 1 then
|
bsw@1045
|
6 slot.select("error", function()
|
bsw@1045
|
7 ui.tag{ content = _"Please choose an area name" }
|
bsw@1045
|
8 end)
|
bsw@1045
|
9 return false
|
bsw@1045
|
10 end
|
bsw@1045
|
11
|
bsw/jbe@5
|
12 area:save()
|
bsw/jbe@5
|
13
|
poelzi@119
|
14 param.update_relationship{
|
poelzi@119
|
15 param_name = "allowed_policies",
|
poelzi@119
|
16 id = area.id,
|
poelzi@119
|
17 connecting_model = AllowedPolicy,
|
poelzi@119
|
18 own_reference = "area_id",
|
poelzi@119
|
19 foreign_reference = "policy_id"
|
poelzi@119
|
20 }
|
poelzi@119
|
21
|
poelzi@126
|
22 -- we have to update the default flag because update_relationship can't handle it
|
bsw@1182
|
23 local old_default = AllowedPolicy:new_selector()
|
poelzi@126
|
24 :add_where{ "allowed_policy.area_id = ? AND allowed_policy.default_policy = 't'", area.id }
|
poelzi@126
|
25 :optional_object_mode()
|
poelzi@126
|
26 :exec()
|
poelzi@126
|
27
|
poelzi@126
|
28 if old_default then
|
poelzi@126
|
29 old_default.default_policy = false;
|
poelzi@126
|
30 old_default:save()
|
poelzi@126
|
31 end
|
poelzi@126
|
32
|
bsw@1182
|
33 local default_policy_id = param.get("default_policy", atom.integer)
|
poelzi@126
|
34
|
poelzi@126
|
35 if default_policy_id and default_policy_id ~= -1 then
|
bsw@1182
|
36 local pol = AllowedPolicy:new_selector()
|
poelzi@126
|
37 :add_where{ "allowed_policy.area_id = ? AND allowed_policy.policy_id = ?", area.id, default_policy_id }
|
poelzi@126
|
38 :optional_object_mode()
|
poelzi@126
|
39 :exec()
|
poelzi@126
|
40 if pol then
|
poelzi@126
|
41 pol.default_policy = true;
|
poelzi@126
|
42 pol:save()
|
poelzi@126
|
43 end
|
poelzi@126
|
44 end
|