liquid_feedback_frontend
view model/delegation.lua @ 580:878081c51189
Removed greek again for the present
| author | bsw | 
|---|---|
| date | Wed Jun 20 13:30:47 2012 +0200 (2012-06-20) | 
| parents | 18e8de7a2b6a | 
| children | 5dc5f923797b | 
 line source
     1 Delegation = mondelefant.new_class()
     2 Delegation.table = 'delegation'
     4 Delegation:add_reference{
     5   mode          = 'm1',
     6   to            = "Member",
     7   this_key      = 'truster_id',
     8   that_key      = 'id',
     9   ref           = 'truster',
    10 }
    12 Delegation:add_reference{
    13   mode          = 'm1',
    14   to            = "Member",
    15   this_key      = 'trustee_id',
    16   that_key      = 'id',
    17   ref           = 'trustee',
    18 }
    20 Delegation:add_reference{
    21   mode          = 'm1',
    22   to            = "Area",
    23   this_key      = 'area_id',
    24   that_key      = 'id',
    25   ref           = 'area',
    26 }
    28 Delegation:add_reference{
    29   mode          = 'm1',
    30   to            = "Issue",
    31   this_key      = 'issue_id',
    32   that_key      = 'id',
    33   ref           = 'issue',
    34 }
    36 function Delegation:by_pk(truster_id, unit_id, area_id, issue_id)
    37   local selector = self:new_selector():optional_object_mode()
    38   selector:add_where{ "truster_id = ?", truster_id }
    39   if unit_id then
    40     selector:add_where{ "unit_id = ?",    unit_id }
    41   else
    42     selector:add_where("unit_id ISNULL")
    43   end
    44   if area_id then
    45     selector:add_where{ "area_id = ?",    area_id }
    46   else
    47     selector:add_where("area_id ISNULL")
    48   end
    49   if issue_id then
    50     selector:add_where{ "issue_id = ? ",  issue_id }
    51   else
    52     selector:add_where("issue_id ISNULL ")
    53   end
    54   return selector:exec()
    55 end
    57 function Delegation:selector_for_broken(member_id)
    58   return Delegation:new_selector()
    59     :join("issue", nil, "issue.id = delegation.issue_id AND issue.closed ISNULL")
    60     :join("member", nil, "delegation.trustee_id = member.id")
    61     :add_where{"delegation.truster_id = ?", member_id}
    62     :add_where{"member.active = 'f' OR (member.last_activity IS NULL OR age(member.last_activity) > ?::interval)", config.delegation_warning_time }
    63 end
