liquid_feedback_frontend
view model/delegation.lua @ 248:e3613831cd1e
Migrate global delegation to unit level
author | bsw |
---|---|
date | Fri Dec 30 03:13:10 2011 +0100 (2011-12-30) |
parents | 3bfb2fcf7ab9 |
children | 18e8de7a2b6a |
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, unit_id, area_id, issue_id)
37 local selector = self:new_selector():optional_object_mode()
38 selector:add_where{ "truster_id = ?", truster_id }
39 if unit_id then
40 selector:add_where{ "unit_id = ?", unit_id }
41 else
42 selector:add_where("unit_id ISNULL")
43 end
44 if area_id then
45 selector:add_where{ "area_id = ?", area_id }
46 else
47 selector:add_where("area_id ISNULL")
48 end
49 if issue_id then
50 selector:add_where{ "issue_id = ? ", issue_id }
51 else
52 selector:add_where("issue_id ISNULL ")
53 end
54 return selector:exec()
55 end