rev |
line source |
bsw/jbe@0
|
1 Initiative = mondelefant.new_class()
|
bsw/jbe@0
|
2 Initiative.table = 'initiative'
|
bsw/jbe@0
|
3
|
bsw/jbe@0
|
4 Initiative:add_reference{
|
bsw/jbe@0
|
5 mode = 'm1',
|
bsw/jbe@0
|
6 to = "Issue",
|
bsw/jbe@0
|
7 this_key = 'issue_id',
|
bsw/jbe@0
|
8 that_key = 'id',
|
bsw/jbe@0
|
9 ref = 'issue',
|
bsw/jbe@0
|
10 }
|
bsw/jbe@0
|
11
|
bsw/jbe@0
|
12 Initiative:add_reference{
|
bsw/jbe@0
|
13 mode = '1m',
|
bsw/jbe@0
|
14 to = "Draft",
|
bsw/jbe@0
|
15 this_key = 'id',
|
bsw/jbe@0
|
16 that_key = 'initiative_id',
|
bsw/jbe@0
|
17 ref = 'drafts',
|
bsw/jbe@0
|
18 back_ref = 'initiative',
|
bsw/jbe@0
|
19 default_order = '"id"'
|
bsw/jbe@0
|
20 }
|
bsw/jbe@0
|
21
|
bsw/jbe@0
|
22 Initiative:add_reference{
|
bsw/jbe@0
|
23 mode = '1m',
|
bsw/jbe@0
|
24 to = "Suggestion",
|
bsw/jbe@0
|
25 this_key = 'id',
|
bsw/jbe@0
|
26 that_key = 'initiative_id',
|
bsw/jbe@0
|
27 ref = 'suggestions',
|
bsw/jbe@0
|
28 back_ref = 'initiative',
|
bsw/jbe@0
|
29 default_order = '"id"'
|
bsw/jbe@0
|
30 }
|
bsw/jbe@0
|
31
|
bsw/jbe@0
|
32 Initiative:add_reference{
|
bsw/jbe@0
|
33 mode = '1m',
|
bsw/jbe@0
|
34 to = "Initiator",
|
bsw/jbe@0
|
35 this_key = 'id',
|
bsw/jbe@0
|
36 that_key = 'initiative_id',
|
bsw/jbe@0
|
37 ref = 'initiators',
|
bsw/jbe@0
|
38 back_ref = 'initiative',
|
bsw/jbe@0
|
39 default_order = '"id"'
|
bsw/jbe@0
|
40 }
|
bsw/jbe@0
|
41
|
bsw/jbe@0
|
42 Initiative:add_reference{
|
bsw/jbe@0
|
43 mode = '1m',
|
bsw/jbe@0
|
44 to = "Supporter",
|
bsw/jbe@0
|
45 this_key = 'id',
|
bsw/jbe@0
|
46 that_key = 'initiative_id',
|
bsw/jbe@0
|
47 ref = 'supporters',
|
bsw/jbe@0
|
48 back_ref = 'initiative',
|
bsw/jbe@0
|
49 default_order = '"id"'
|
bsw/jbe@0
|
50 }
|
bsw/jbe@0
|
51
|
bsw/jbe@0
|
52 Initiative:add_reference{
|
bsw/jbe@0
|
53 mode = '1m',
|
bsw/jbe@0
|
54 to = "Opinion",
|
bsw/jbe@0
|
55 this_key = 'id',
|
bsw/jbe@0
|
56 that_key = 'initiative_id',
|
bsw/jbe@0
|
57 ref = 'opinions',
|
bsw/jbe@0
|
58 back_ref = 'initiative',
|
bsw/jbe@0
|
59 default_order = '"id"'
|
bsw/jbe@0
|
60 }
|
bsw/jbe@0
|
61
|
bsw/jbe@0
|
62 Initiative:add_reference{
|
bsw/jbe@0
|
63 mode = '1m',
|
bsw/jbe@0
|
64 to = "Vote",
|
bsw/jbe@0
|
65 this_key = 'id',
|
bsw/jbe@0
|
66 that_key = 'initiative_id',
|
bsw/jbe@0
|
67 ref = 'votes',
|
bsw/jbe@0
|
68 back_ref = 'initiative',
|
bsw/jbe@0
|
69 default_order = '"member_id"'
|
bsw/jbe@0
|
70 }
|
bsw/jbe@0
|
71
|
bsw/jbe@0
|
72 Initiative:add_reference{
|
bsw/jbe@0
|
73 mode = 'mm',
|
bsw/jbe@0
|
74 to = "Member",
|
bsw/jbe@0
|
75 this_key = 'id',
|
bsw/jbe@0
|
76 that_key = 'id',
|
bsw/jbe@0
|
77 connected_by_table = '"initiator"',
|
bsw/jbe@0
|
78 connected_by_this_key = 'initiative_id',
|
bsw/jbe@0
|
79 connected_by_that_key = 'member_id',
|
bsw/jbe@0
|
80 ref = 'initiating_members'
|
bsw/jbe@0
|
81 }
|
bsw/jbe@0
|
82
|
bsw/jbe@0
|
83 Initiative:add_reference{
|
bsw/jbe@0
|
84 mode = 'mm',
|
bsw/jbe@0
|
85 to = "Member",
|
bsw/jbe@0
|
86 this_key = 'id',
|
bsw/jbe@0
|
87 that_key = 'id',
|
bsw/jbe@0
|
88 connected_by_table = '"supporter"',
|
bsw/jbe@0
|
89 connected_by_this_key = 'initiative_id',
|
bsw/jbe@0
|
90 connected_by_that_key = 'member_id',
|
bsw/jbe@0
|
91 ref = 'supporting_members'
|
bsw/jbe@0
|
92 }
|
bsw/jbe@0
|
93
|
bsw/jbe@0
|
94 function Initiative:search(search_string)
|
bsw/jbe@0
|
95 return self:new_selector()
|
bsw/jbe@0
|
96 :add_where{ '"initiative"."name" ILIKE ?', "%" .. search_string:gsub("%%", "") .. "%" }
|
bsw/jbe@0
|
97 :exec()
|
bsw/jbe@0
|
98 end
|
bsw/jbe@0
|
99
|
bsw/jbe@0
|
100 function Initiative.object_get:current_draft()
|
bsw/jbe@0
|
101 return Draft:new_selector()
|
bsw/jbe@0
|
102 :add_where{ '"initiative_id" = ?', self.id }
|
bsw/jbe@0
|
103 :add_order_by('"id" DESC')
|
bsw/jbe@0
|
104 :single_object_mode()
|
bsw/jbe@0
|
105 :exec()
|
bsw/jbe@0
|
106 end
|
bsw/jbe@0
|
107
|
bsw/jbe@0
|
108 function Initiative.object_get:shortened_name()
|
bsw/jbe@0
|
109 local name = self.name
|
bsw/jbe@0
|
110 if #name > 100 then
|
bsw/jbe@0
|
111 name = name:sub(1,100) .. "..."
|
bsw/jbe@0
|
112 end
|
bsw/jbe@0
|
113 return name
|
bsw/jbe@0
|
114 end
|