annotate model/initiator.lua @ 911:c0d17602fd8c
Added tag v2.1.0 for changeset e7cea3037d69
 | author | bsw | 
 | date | Sun Sep 23 17:11:03 2012 +0200 (2012-09-23) | 
 | parents | 18e8de7a2b6a | 
 | children |  | 
 
 | rev | line source | 
| bsw/jbe@0 | 1 Initiator = mondelefant.new_class() | 
| bsw/jbe@0 | 2 Initiator.table = 'initiator' | 
| bsw/jbe@0 | 3 Initiator.primary_key = { "initiative_id", "member_id" } | 
| bsw/jbe@0 | 4 | 
| bsw/jbe@0 | 5 Initiator:add_reference{ | 
| bsw/jbe@0 | 6   mode          = 'm1', | 
| bsw/jbe@0 | 7   to            = "Initiative", | 
| bsw/jbe@0 | 8   this_key      = 'initiative_id', | 
| bsw/jbe@0 | 9   that_key      = 'id', | 
| bsw/jbe@0 | 10   ref           = 'initiative', | 
| bsw/jbe@0 | 11 } | 
| bsw/jbe@0 | 12 | 
| bsw/jbe@0 | 13 Initiator:add_reference{ | 
| bsw/jbe@0 | 14   mode          = 'm1', | 
| bsw/jbe@0 | 15   to            = "Member", | 
| bsw/jbe@0 | 16   this_key      = 'member_id', | 
| bsw/jbe@0 | 17   that_key      = 'id', | 
| bsw/jbe@0 | 18   ref           = 'member', | 
| bsw/jbe@0 | 19 } | 
| bsw/jbe@0 | 20 | 
| bsw/jbe@0 | 21 function Initiator:by_pk(initiative_id, member_id) | 
| bsw/jbe@0 | 22   return self:new_selector() | 
| bsw/jbe@0 | 23     :add_where{ "initiative_id = ?", initiative_id } | 
| bsw/jbe@0 | 24     :add_where{ "member_id = ?", member_id } | 
| bsw/jbe@0 | 25     :optional_object_mode() | 
| bsw/jbe@0 | 26     :exec() | 
| bsw/jbe@0 | 27 end | 
| bsw@558 | 28 | 
| bsw@558 | 29 function Initiator:selector_for_invites(member_id) | 
| bsw@558 | 30   return Initiative:new_selector() | 
| bsw@558 | 31     :join("issue", "_issue_state", "_issue_state.id = initiative.issue_id") | 
| bsw@558 | 32     :join("initiator", nil, { "initiator.initiative_id = initiative.id AND initiator.member_id = ? AND initiator.accepted ISNULL", member_id }) | 
| bsw@558 | 33     :add_where("_issue_state.closed ISNULL AND _issue_state.half_frozen ISNULL") | 
| bsw@558 | 34 end |