annotate model/delegation.lua @ 392:05b357bee352
Fix wrong order in registration action
 | author | bsw | 
 | date | Mon Mar 05 20:35:30 2012 +0100 (2012-03-05) | 
 | parents | e3613831cd1e | 
 | children | 18e8de7a2b6a | 
 
 | 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@248 | 36 function Delegation:by_pk(truster_id, unit_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@248 | 39   if unit_id then | 
| bsw@248 | 40     selector:add_where{ "unit_id = ?",    unit_id } | 
| bsw@248 | 41   else | 
| bsw@248 | 42     selector:add_where("unit_id ISNULL") | 
| bsw@248 | 43   end | 
| bsw/jbe@0 | 44   if area_id then | 
| bsw/jbe@0 | 45     selector:add_where{ "area_id = ?",    area_id } | 
| bsw/jbe@0 | 46   else | 
| bsw/jbe@0 | 47     selector:add_where("area_id ISNULL") | 
| bsw/jbe@0 | 48   end | 
| bsw/jbe@0 | 49   if issue_id then | 
| bsw/jbe@0 | 50     selector:add_where{ "issue_id = ? ",  issue_id } | 
| bsw/jbe@0 | 51   else | 
| bsw/jbe@0 | 52     selector:add_where("issue_id ISNULL ") | 
| bsw/jbe@0 | 53   end | 
| bsw/jbe@0 | 54   return selector:exec() | 
| bsw@248 | 55 end |