liquid_feedback_frontend
view model/delegation.lua @ 571:63eda58a870e
Fixed for loop in member home page
author | bsw |
---|---|
date | Tue Jun 19 23:21:34 2012 +0200 (2012-06-19) |
parents | 18e8de7a2b6a |
children | 5dc5f923797b |
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
57 function Delegation:selector_for_broken(member_id)
58 return Delegation:new_selector()
59 :join("issue", nil, "issue.id = delegation.issue_id AND issue.closed ISNULL")
60 :join("member", nil, "delegation.trustee_id = member.id")
61 :add_where{"delegation.truster_id = ?", member_id}
62 :add_where{"member.active = 'f' OR (member.last_activity IS NULL OR age(member.last_activity) > ?::interval)", config.delegation_warning_time }
63 end