annotate model/delegation.lua @ 30:abcac05b1091
Added tag beta11 for changeset b195682957dc
 | author | jbe | 
 | date | Sun Feb 21 17:34:37 2010 +0100 (2010-02-21) | 
 | 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 |