liquid_feedback_frontend
view model/delegation.lua @ 145:90520c9fca44
implement area filter in timeline
allows the user to ignore any area in the timeline filter.
better display in javascript off
allows the user to ignore any area in the timeline filter.
better display in javascript off
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Thu Oct 07 00:35:48 2010 +0200 (2010-10-07) |
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