annotate model/initiator.lua @ 1028:350a57518529
Added canceled_by_admin state to state name table
author |
bsw |
date |
Sun Aug 11 23:00:20 2013 +0200 (2013-08-11) |
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
|