liquid_feedback_frontend

annotate model/delegation.lua @ 953:3b74187efaa3

Added missing html encoding to diff output
author bsw
date Mon Dec 10 19:59:30 2012 +0100 (2012-12-10)
parents 42afe0765f86
children 81bde33c2256
rev   line source
bsw/jbe@0 1 Delegation = mondelefant.new_class()
bsw/jbe@0 2 Delegation.table = 'delegation'
bsw/jbe@0 3
bsw/jbe@0 4 Delegation:add_reference{
bsw/jbe@0 5 mode = 'm1',
bsw/jbe@0 6 to = "Member",
bsw/jbe@0 7 this_key = 'truster_id',
bsw/jbe@0 8 that_key = 'id',
bsw/jbe@0 9 ref = 'truster',
bsw/jbe@0 10 }
bsw/jbe@0 11
bsw/jbe@0 12 Delegation:add_reference{
bsw/jbe@0 13 mode = 'm1',
bsw/jbe@0 14 to = "Member",
bsw/jbe@0 15 this_key = 'trustee_id',
bsw/jbe@0 16 that_key = 'id',
bsw/jbe@0 17 ref = 'trustee',
bsw/jbe@0 18 }
bsw/jbe@0 19
bsw/jbe@0 20 Delegation:add_reference{
bsw/jbe@0 21 mode = 'm1',
bsw@599 22 to = "Unit",
bsw@599 23 this_key = 'unit_id',
bsw@599 24 that_key = 'id',
bsw@599 25 ref = 'unit',
bsw@599 26 }
bsw@599 27
bsw@599 28 Delegation:add_reference{
bsw@599 29 mode = 'm1',
bsw/jbe@0 30 to = "Area",
bsw/jbe@0 31 this_key = 'area_id',
bsw/jbe@0 32 that_key = 'id',
bsw/jbe@0 33 ref = 'area',
bsw/jbe@0 34 }
bsw/jbe@0 35
bsw/jbe@0 36 Delegation:add_reference{
bsw/jbe@0 37 mode = 'm1',
bsw/jbe@0 38 to = "Issue",
bsw/jbe@0 39 this_key = 'issue_id',
bsw/jbe@0 40 that_key = 'id',
bsw/jbe@0 41 ref = 'issue',
bsw/jbe@0 42 }
bsw/jbe@0 43
bsw@248 44 function Delegation:by_pk(truster_id, unit_id, area_id, issue_id)
bsw/jbe@0 45 local selector = self:new_selector():optional_object_mode()
bsw/jbe@0 46 selector:add_where{ "truster_id = ?", truster_id }
bsw@248 47 if unit_id then
bsw@248 48 selector:add_where{ "unit_id = ?", unit_id }
bsw@248 49 else
bsw@248 50 selector:add_where("unit_id ISNULL")
bsw@248 51 end
bsw/jbe@0 52 if area_id then
bsw/jbe@0 53 selector:add_where{ "area_id = ?", area_id }
bsw/jbe@0 54 else
bsw/jbe@0 55 selector:add_where("area_id ISNULL")
bsw/jbe@0 56 end
bsw/jbe@0 57 if issue_id then
bsw/jbe@0 58 selector:add_where{ "issue_id = ? ", issue_id }
bsw/jbe@0 59 else
bsw/jbe@0 60 selector:add_where("issue_id ISNULL ")
bsw/jbe@0 61 end
bsw/jbe@0 62 return selector:exec()
bsw@248 63 end
bsw@558 64
bsw@558 65 function Delegation:selector_for_broken(member_id)
bsw@558 66 return Delegation:new_selector()
bsw@605 67 :left_join("issue", nil, "issue.id = delegation.issue_id")
bsw@605 68 :add_where("issue.id ISNULL OR issue.closed ISNULL")
bsw@558 69 :join("member", nil, "delegation.trustee_id = member.id")
bsw@558 70 :add_where{"delegation.truster_id = ?", member_id}
bsw@558 71 :add_where{"member.active = 'f' OR (member.last_activity IS NULL OR age(member.last_activity) > ?::interval)", config.delegation_warning_time }
bsw@558 72 end
bsw@558 73

Impressum / About Us