annotate model/delegation.lua @ 358:e87e99e0bd01
Save created privilege to make it work
 | author | 
 bsw | 
 | date | 
 Wed Feb 29 22:52:05 2012 +0100 (2012-02-29) | 
 | 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
 |