liquid_feedback_frontend

annotate 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.
author Daniel Poelzleithner <poelzi@poelzi.org>
date Mon Sep 20 20:32:04 2010 +0200 (2010-09-20)
parents 3bfb2fcf7ab9
children 73dbc9e2bfd4 e3613831cd1e
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/jbe@0 22 to = "Area",
bsw/jbe@0 23 this_key = 'area_id',
bsw/jbe@0 24 that_key = 'id',
bsw/jbe@0 25 ref = 'area',
bsw/jbe@0 26 }
bsw/jbe@0 27
bsw/jbe@0 28 Delegation:add_reference{
bsw/jbe@0 29 mode = 'm1',
bsw/jbe@0 30 to = "Issue",
bsw/jbe@0 31 this_key = 'issue_id',
bsw/jbe@0 32 that_key = 'id',
bsw/jbe@0 33 ref = 'issue',
bsw/jbe@0 34 }
bsw/jbe@0 35
bsw/jbe@0 36 function Delegation:by_pk(truster_id, area_id, issue_id)
bsw/jbe@0 37 local selector = self:new_selector():optional_object_mode()
bsw/jbe@0 38 selector:add_where{ "truster_id = ?", truster_id }
bsw/jbe@0 39 if area_id then
bsw/jbe@0 40 selector:add_where{ "area_id = ?", area_id }
bsw/jbe@0 41 else
bsw/jbe@0 42 selector:add_where("area_id ISNULL")
bsw/jbe@0 43 end
bsw/jbe@0 44 if issue_id then
bsw/jbe@0 45 selector:add_where{ "issue_id = ? ", issue_id }
bsw/jbe@0 46 else
bsw/jbe@0 47 selector:add_where("issue_id ISNULL ")
bsw/jbe@0 48 end
bsw/jbe@0 49 return selector:exec()
bsw/jbe@0 50 end

Impressum / About Us