liquid_feedback_frontend
view app/main/delegation/_action/update.lua @ 118:93f4e465b50d
add initiator support in delegation
if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Mon Sep 20 20:32:04 2010 +0200 (2010-09-20) |
parents | afd9f769c7ae |
children | 02aacb3dffe0 |
line source
1 local truster_id = app.session.member.id
3 local trustee_id = param.get("trustee_id", atom.integer)
5 local area_id = param.get("area_id", atom.integer)
7 local issue_id = param.get("issue_id", atom.integer)
9 if issue_id then
10 area_id = nil
11 end
13 local delegation = Delegation:by_pk(truster_id, area_id, issue_id)
15 if param.get("delete") or trustee_id == -1 then
17 if delegation then
19 delegation:destroy()
21 if issue_id then
22 slot.put_into("notice", _"Your delegation for this issue has been deleted.")
23 elseif area_id then
24 slot.put_into("notice", _"Your delegation for this area has been deleted.")
25 else
26 slot.put_into("notice", _"Your global delegation has been deleted.")
27 end
29 end
31 else
33 if not delegation then
34 delegation = Delegation:new()
35 delegation.truster_id = truster_id
36 delegation.area_id = area_id
37 delegation.issue_id = issue_id
38 if issue_id then
39 delegation.scope = "issue"
40 elseif area_id then
41 delegation.scope = "area"
42 else
43 delegation.scope = "global"
44 end
45 end
47 delegation.trustee_id = trustee_id
49 delegation:save()
51 if issue_id then
52 slot.put_into("notice", _"Your delegation for this issue has been updated.")
53 elseif area_id then
54 slot.put_into("notice", _"Your delegation for this area has been updated.")
55 else
56 slot.put_into("notice", _"Your global delegation has been updated.")
57 end
59 end