rev |
line source |
bsw/jbe@0
|
1 local truster_id = app.session.member.id
|
bsw/jbe@0
|
2
|
bsw/jbe@0
|
3 local trustee_id = param.get("trustee_id", atom.integer)
|
bsw/jbe@0
|
4
|
bsw@217
|
5 local unit_id = param.get("unit_id", atom.integer)
|
bsw@217
|
6
|
bsw/jbe@0
|
7 local area_id = param.get("area_id", atom.integer)
|
bsw/jbe@0
|
8
|
bsw/jbe@0
|
9 local issue_id = param.get("issue_id", atom.integer)
|
bsw/jbe@0
|
10
|
bsw/jbe@0
|
11 if issue_id then
|
bsw/jbe@0
|
12 area_id = nil
|
bsw@217
|
13 elseif area_id then
|
bsw@217
|
14 unit_id = nil
|
bsw/jbe@0
|
15 end
|
bsw/jbe@0
|
16
|
bsw@217
|
17 local delegation = Delegation:by_pk(truster_id, unit_id, area_id, issue_id)
|
bsw/jbe@0
|
18
|
bsw/jbe@4
|
19 if param.get("delete") or trustee_id == -1 then
|
bsw/jbe@0
|
20
|
bsw/jbe@0
|
21 if delegation then
|
bsw/jbe@5
|
22
|
bsw/jbe@0
|
23 delegation:destroy()
|
bsw/jbe@5
|
24
|
bsw/jbe@0
|
25 if issue_id then
|
bsw/jbe@0
|
26 slot.put_into("notice", _"Your delegation for this issue has been deleted.")
|
bsw/jbe@0
|
27 elseif area_id then
|
bsw/jbe@0
|
28 slot.put_into("notice", _"Your delegation for this area has been deleted.")
|
bsw@217
|
29 elseif unit_id then
|
bsw@217
|
30 slot.put_into("notice", _"Your delegation for this unit has been deleted.")
|
bsw/jbe@0
|
31 else
|
bsw@217
|
32 error("shouldn't happen")
|
bsw/jbe@0
|
33 end
|
bsw/jbe@0
|
34
|
bsw/jbe@0
|
35 end
|
bsw/jbe@5
|
36
|
bsw/jbe@0
|
37 else
|
bsw/jbe@0
|
38
|
bsw/jbe@0
|
39 if not delegation then
|
bsw/jbe@0
|
40 delegation = Delegation:new()
|
bsw/jbe@0
|
41 delegation.truster_id = truster_id
|
bsw@217
|
42 delegation.unit_id = unit_id
|
bsw/jbe@0
|
43 delegation.area_id = area_id
|
bsw/jbe@0
|
44 delegation.issue_id = issue_id
|
bsw/jbe@5
|
45 if issue_id then
|
bsw/jbe@5
|
46 delegation.scope = "issue"
|
bsw/jbe@5
|
47 elseif area_id then
|
bsw/jbe@5
|
48 delegation.scope = "area"
|
bsw@217
|
49 elseif unit_id then
|
bsw@217
|
50 delegation.scope = "unit"
|
bsw/jbe@5
|
51 else
|
bsw@217
|
52 error("should'nt happen")
|
bsw/jbe@5
|
53 end
|
bsw/jbe@0
|
54 end
|
bsw@180
|
55 if trustee_id == 0 then
|
bsw@180
|
56 delegation.trustee_id = nil
|
bsw@180
|
57 else
|
bsw@180
|
58 delegation.trustee_id = trustee_id
|
bsw@180
|
59 end
|
bsw/jbe@0
|
60
|
bsw/jbe@0
|
61 delegation:save()
|
bsw/jbe@0
|
62
|
bsw/jbe@0
|
63 if issue_id then
|
bsw/jbe@0
|
64 slot.put_into("notice", _"Your delegation for this issue has been updated.")
|
bsw/jbe@0
|
65 elseif area_id then
|
bsw/jbe@0
|
66 slot.put_into("notice", _"Your delegation for this area has been updated.")
|
bsw@217
|
67 elseif unit_id then
|
bsw@217
|
68 slot.put_into("notice", _"Your delegation for this unit has been updated.")
|
bsw/jbe@0
|
69 else
|
bsw@217
|
70 error("shouldn't happen")
|
bsw/jbe@0
|
71 end
|
bsw/jbe@0
|
72
|
bsw/jbe@0
|
73 end
|
bsw/jbe@0
|
74
|