annotate model/area.lua @ 288:ad5d7a4eb13d
Fixed 0 more initiatives bug
 | author | bsw | 
 | date | Sat Feb 25 12:42:42 2012 +0100 (2012-02-25) | 
 | parents | 808269b7f41c | 
 | children | 63d6549cc00b | 
 
 | 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@262 | 5   mode          = 'm1', | 
| bsw@262 | 6   to            = "Unit", | 
| bsw@262 | 7   this_key      = 'unit_id', | 
| bsw@262 | 8   that_key      = 'id', | 
| bsw@262 | 9   ref           = 'unit', | 
| bsw@262 | 10 } | 
| bsw@262 | 11 | 
| bsw@262 | 12 Area:add_reference{ | 
| bsw/jbe@0 | 13   mode          = '1m', | 
| bsw/jbe@0 | 14   to            = "Issue", | 
| bsw/jbe@0 | 15   this_key      = 'id', | 
| bsw/jbe@0 | 16   that_key      = 'area_id', | 
| bsw/jbe@0 | 17   ref           = 'issues', | 
| bsw/jbe@0 | 18   back_ref      = 'area' | 
| bsw/jbe@0 | 19 } | 
| bsw/jbe@0 | 20 | 
| bsw/jbe@0 | 21 Area:add_reference{ | 
| bsw/jbe@0 | 22   mode          = '1m', | 
| bsw/jbe@0 | 23   to            = "Membership", | 
| bsw/jbe@0 | 24   this_key      = 'id', | 
| bsw/jbe@0 | 25   that_key      = 'area_id', | 
| bsw/jbe@0 | 26   ref           = 'memberships', | 
| bsw/jbe@0 | 27   back_ref      = 'area' | 
| bsw/jbe@0 | 28 } | 
| bsw/jbe@0 | 29 | 
| bsw/jbe@0 | 30 Area:add_reference{ | 
| bsw@2 | 31   mode          = '1m', | 
| bsw@2 | 32   to            = "Delegation", | 
| bsw@2 | 33   this_key      = 'id', | 
| bsw@2 | 34   that_key      = 'area_id', | 
| bsw@2 | 35   ref           = 'delegations', | 
| bsw@2 | 36   back_ref      = 'area' | 
| bsw@2 | 37 } | 
| bsw@2 | 38 | 
| bsw@2 | 39 Area:add_reference{ | 
| bsw/jbe@0 | 40   mode                  = 'mm', | 
| bsw/jbe@0 | 41   to                    = "Member", | 
| bsw/jbe@0 | 42   this_key              = 'id', | 
| bsw/jbe@0 | 43   that_key              = 'id', | 
| bsw/jbe@0 | 44   connected_by_table    = 'membership', | 
| bsw/jbe@0 | 45   connected_by_this_key = 'area_id', | 
| bsw/jbe@0 | 46   connected_by_that_key = 'member_id', | 
| bsw/jbe@0 | 47   ref                   = 'members' | 
| bsw/jbe@0 | 48 } | 
| bsw@7 | 49 | 
| bsw@7 | 50 Area:add_reference{ | 
| bsw@7 | 51   mode                  = 'mm', | 
| bsw@7 | 52   to                    = "Policy", | 
| bsw@7 | 53   this_key              = 'id', | 
| bsw@7 | 54   that_key              = 'id', | 
| bsw@7 | 55   connected_by_table    = 'allowed_policy', | 
| bsw@7 | 56   connected_by_this_key = 'area_id', | 
| bsw@7 | 57   connected_by_that_key = 'policy_id', | 
| bsw@7 | 58   ref                   = 'allowed_policies' | 
| bsw@7 | 59 } | 
| bsw@7 | 60 | 
| bsw@7 | 61 function Area.object_get:default_policy() | 
| bsw@7 | 62   return Policy:new_selector() | 
| bsw@7 | 63     :join("allowed_policy", nil, "allowed_policy.policy_id = policy.id") | 
| bsw@7 | 64     :add_where{ "allowed_policy.area_id = ? AND allowed_policy.default_policy", self.id } | 
| bsw@10 | 65     :optional_object_mode() | 
| bsw@7 | 66     :exec() | 
| bsw@7 | 67 end | 
| bsw@7 | 68 | 
| bsw@193 | 69 function Area:build_selector(args) | 
| bsw@193 | 70   local selector = Area:new_selector() | 
| bsw@193 | 71   if args.active ~= nil then | 
| bsw@274 | 72     selector:add_where{ "area.active = ?", args.active } | 
| bsw@193 | 73   end | 
| bsw@241 | 74   if args.unit_id ~= nil then | 
| bsw@274 | 75     selector:add_where{ "area.unit_id = ?", args.unit_id } | 
| bsw@241 | 76   end | 
| bsw@193 | 77   return selector | 
| bsw@193 | 78 end | 
| bsw@262 | 79 | 
| bsw@262 | 80 function Area.object_get:name_with_unit_name() | 
| bsw@264 | 81   if not config.single_unit_id then | 
| bsw@280 | 82     return self.unit.name .. ", " .. self.name | 
| bsw@264 | 83   else | 
| bsw@264 | 84     return self.name | 
| bsw@262 | 85   end | 
| bsw@262 | 86 end |