annotate model/area.lua @ 252:eb6d04201f81
Show evil browser notice as inlined warning instead of opening an evil popup
 | author | 
 Ingo Bormuth <mail@ibormuth.de> | 
 | date | 
 Fri Dec 30 04:02:37 2011 +0100 (2011-12-30) | 
 | parents | 
 6725c13b6ce0  | 
 | children | 
 7ef1e03e4057  | 
 
 | rev | 
   line source | 
| 
bsw/jbe@0
 | 
     1 Area = mondelefant.new_class()
 | 
| 
bsw/jbe@0
 | 
     2 Area.table = 'area'
 | 
| 
bsw/jbe@0
 | 
     3 
 | 
| 
bsw/jbe@0
 | 
     4 Area:add_reference{
 | 
| 
bsw/jbe@0
 | 
     5   mode          = '1m',
 | 
| 
bsw/jbe@0
 | 
     6   to            = "Issue",
 | 
| 
bsw/jbe@0
 | 
     7   this_key      = 'id',
 | 
| 
bsw/jbe@0
 | 
     8   that_key      = 'area_id',
 | 
| 
bsw/jbe@0
 | 
     9   ref           = 'issues',
 | 
| 
bsw/jbe@0
 | 
    10   back_ref      = 'area'
 | 
| 
bsw/jbe@0
 | 
    11 }
 | 
| 
bsw/jbe@0
 | 
    12 
 | 
| 
bsw/jbe@0
 | 
    13 Area:add_reference{
 | 
| 
bsw/jbe@0
 | 
    14   mode          = '1m',
 | 
| 
bsw/jbe@0
 | 
    15   to            = "Membership",
 | 
| 
bsw/jbe@0
 | 
    16   this_key      = 'id',
 | 
| 
bsw/jbe@0
 | 
    17   that_key      = 'area_id',
 | 
| 
bsw/jbe@0
 | 
    18   ref           = 'memberships',
 | 
| 
bsw/jbe@0
 | 
    19   back_ref      = 'area'
 | 
| 
bsw/jbe@0
 | 
    20 }
 | 
| 
bsw/jbe@0
 | 
    21 
 | 
| 
bsw/jbe@0
 | 
    22 Area:add_reference{
 | 
| 
bsw@2
 | 
    23   mode          = '1m',
 | 
| 
bsw@2
 | 
    24   to            = "Delegation",
 | 
| 
bsw@2
 | 
    25   this_key      = 'id',
 | 
| 
bsw@2
 | 
    26   that_key      = 'area_id',
 | 
| 
bsw@2
 | 
    27   ref           = 'delegations',
 | 
| 
bsw@2
 | 
    28   back_ref      = 'area'
 | 
| 
bsw@2
 | 
    29 }
 | 
| 
bsw@2
 | 
    30 
 | 
| 
bsw@2
 | 
    31 Area:add_reference{
 | 
| 
bsw/jbe@0
 | 
    32   mode                  = 'mm',
 | 
| 
bsw/jbe@0
 | 
    33   to                    = "Member",
 | 
| 
bsw/jbe@0
 | 
    34   this_key              = 'id',
 | 
| 
bsw/jbe@0
 | 
    35   that_key              = 'id',
 | 
| 
bsw/jbe@0
 | 
    36   connected_by_table    = 'membership',
 | 
| 
bsw/jbe@0
 | 
    37   connected_by_this_key = 'area_id',
 | 
| 
bsw/jbe@0
 | 
    38   connected_by_that_key = 'member_id',
 | 
| 
bsw/jbe@0
 | 
    39   ref                   = 'members'
 | 
| 
bsw/jbe@0
 | 
    40 }
 | 
| 
bsw@7
 | 
    41 
 | 
| 
bsw@7
 | 
    42 Area:add_reference{
 | 
| 
bsw@7
 | 
    43   mode                  = 'mm',
 | 
| 
bsw@7
 | 
    44   to                    = "Policy",
 | 
| 
bsw@7
 | 
    45   this_key              = 'id',
 | 
| 
bsw@7
 | 
    46   that_key              = 'id',
 | 
| 
bsw@7
 | 
    47   connected_by_table    = 'allowed_policy',
 | 
| 
bsw@7
 | 
    48   connected_by_this_key = 'area_id',
 | 
| 
bsw@7
 | 
    49   connected_by_that_key = 'policy_id',
 | 
| 
bsw@7
 | 
    50   ref                   = 'allowed_policies'
 | 
| 
bsw@7
 | 
    51 }
 | 
| 
bsw@7
 | 
    52 
 | 
| 
bsw@7
 | 
    53 function Area.object_get:default_policy()
 | 
| 
bsw@7
 | 
    54   return Policy:new_selector()
 | 
| 
bsw@7
 | 
    55     :join("allowed_policy", nil, "allowed_policy.policy_id = policy.id")
 | 
| 
bsw@7
 | 
    56     :add_where{ "allowed_policy.area_id = ? AND allowed_policy.default_policy", self.id }
 | 
| 
bsw@10
 | 
    57     :optional_object_mode()
 | 
| 
bsw@7
 | 
    58     :exec()
 | 
| 
bsw@7
 | 
    59 end
 | 
| 
bsw@7
 | 
    60 
 | 
| 
bsw@193
 | 
    61 function Area:build_selector(args)
 | 
| 
bsw@193
 | 
    62   local selector = Area:new_selector()
 | 
| 
bsw@193
 | 
    63   if args.active ~= nil then
 | 
| 
bsw@193
 | 
    64     selector:add_where{ "active = ?", args.active }
 | 
| 
bsw@193
 | 
    65   end
 | 
| 
bsw@241
 | 
    66   if args.unit_id ~= nil then
 | 
| 
bsw@241
 | 
    67     selector:add_where{ "unit_id = ?", args.unit_id }
 | 
| 
bsw@241
 | 
    68   end
 | 
| 
bsw@193
 | 
    69   return selector
 | 
| 
bsw@193
 | 
    70 end
 |