liquid_feedback_frontend

annotate app/main/admin/_action/area_update.lua @ 159:5d797c6706d5

implement quorum display

show the initiative quorum as a small 1px line in bargraph
allow to update your support on the diff page
better linked title in diff page
show absolute quorum numbers in detail pages of issue and initiative
author Daniel Poelzleithner <poelzi@poelzi.org>
date Sat Oct 09 03:42:48 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")

Impressum / About Us