liquid_feedback_frontend
view model/delegation.lua @ 124:f740026b1518
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 | 3bfb2fcf7ab9 |
children | 73dbc9e2bfd4 e3613831cd1e |
line source
1 Delegation = mondelefant.new_class()
2 Delegation.table = 'delegation'
4 Delegation:add_reference{
5 mode = 'm1',
6 to = "Member",
7 this_key = 'truster_id',
8 that_key = 'id',
9 ref = 'truster',
10 }
12 Delegation:add_reference{
13 mode = 'm1',
14 to = "Member",
15 this_key = 'trustee_id',
16 that_key = 'id',
17 ref = 'trustee',
18 }
20 Delegation:add_reference{
21 mode = 'm1',
22 to = "Area",
23 this_key = 'area_id',
24 that_key = 'id',
25 ref = 'area',
26 }
28 Delegation:add_reference{
29 mode = 'm1',
30 to = "Issue",
31 this_key = 'issue_id',
32 that_key = 'id',
33 ref = 'issue',
34 }
36 function Delegation:by_pk(truster_id, area_id, issue_id)
37 local selector = self:new_selector():optional_object_mode()
38 selector:add_where{ "truster_id = ?", truster_id }
39 if area_id then
40 selector:add_where{ "area_id = ?", area_id }
41 else
42 selector:add_where("area_id ISNULL")
43 end
44 if issue_id then
45 selector:add_where{ "issue_id = ? ", issue_id }
46 else
47 selector:add_where("issue_id ISNULL ")
48 end
49 return selector:exec()
50 end