forked from Movimento5StelleLazio/ParlamentoElettronicoM5S
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinitiator.lua
executable file
·34 lines (30 loc) · 1.05 KB
/
initiator.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Initiator = mondelefant.new_class()
Initiator.table = 'initiator'
Initiator.primary_key = { "initiative_id", "member_id" }
Initiator:add_reference{
mode = 'm1',
to = "Initiative",
this_key = 'initiative_id',
that_key = 'id',
ref = 'initiative',
}
Initiator:add_reference{
mode = 'm1',
to = "Member",
this_key = 'member_id',
that_key = 'id',
ref = 'member',
}
function Initiator:by_pk(initiative_id, member_id)
return self:new_selector()
:add_where{ "initiative_id = ?", initiative_id }
:add_where{ "member_id = ?", member_id }
:optional_object_mode()
:exec()
end
function Initiator:selector_for_invites(member_id)
return Initiative:new_selector()
:join("issue", "_issue_state", "_issue_state.id = initiative.issue_id")
:join("initiator", nil, { "initiator.initiative_id = initiative.id AND initiator.member_id = ? AND initiator.accepted ISNULL", member_id })
:add_where("_issue_state.closed ISNULL AND _issue_state.half_frozen ISNULL")
end