rev |
line source |
bsw/jbe@5
|
1 local tmp = db:query({ "SELECT text_entries_left FROM member_contingent_left WHERE member_id = ?", app.session.member.id }, "opt_object")
|
bsw/jbe@5
|
2 if tmp and tmp.text_entries_left and tmp.text_entries_left < 1 then
|
bsw/jbe@5
|
3 slot.put_into("error", _"Sorry, you have reached your personal flood limit. Please be slower...")
|
bsw/jbe@5
|
4 return false
|
bsw/jbe@5
|
5 end
|
bsw/jbe@5
|
6
|
bsw/jbe@0
|
7 local initiative = Initiative:by_id(param.get("initiative_id", atom.integer))
|
bsw/jbe@0
|
8
|
bsw/jbe@5
|
9 -- TODO important m1 selectors returning result _SET_!
|
bsw/jbe@5
|
10 local issue = initiative:get_reference_selector("issue"):for_share():single_object_mode():exec()
|
bsw/jbe@5
|
11
|
bsw/jbe@5
|
12 if issue.closed then
|
bsw/jbe@5
|
13 slot.put_into("error", _"This issue is already closed.")
|
bsw/jbe@5
|
14 return false
|
bsw/jbe@5
|
15 elseif issue.half_frozen then
|
bsw/jbe@5
|
16 slot.put_into("error", _"This issue is already frozen.")
|
bsw/jbe@5
|
17 return false
|
bsw/jbe@5
|
18 end
|
bsw/jbe@5
|
19
|
bsw@10
|
20 local initiator = Initiator:by_pk(initiative.id, app.session.member.id)
|
bsw@10
|
21 if not initiator or not initiator.accepted then
|
bsw@10
|
22 error("access denied")
|
bsw@10
|
23 end
|
bsw@10
|
24
|
bsw@10
|
25 local draft = Draft:new()
|
bsw@10
|
26 draft.author_id = app.session.member.id
|
bsw@10
|
27 draft.initiative_id = initiative.id
|
bsw@10
|
28 local formatting_engine = param.get("formatting_engine")
|
bsw@10
|
29 local formatting_engine_valid = false
|
bsw@10
|
30 for fe, dummy in pairs(config.formatting_engine_executeables) do
|
bsw@10
|
31 if formatting_engine == fe then
|
bsw@10
|
32 formatting_engine_valid = true
|
bsw/jbe@4
|
33 end
|
bsw@10
|
34 end
|
bsw@10
|
35 if not formatting_engine_valid then
|
bsw@10
|
36 error("invalid formatting engine!")
|
bsw@10
|
37 end
|
bsw@10
|
38 draft.formatting_engine = formatting_engine
|
bsw@10
|
39 draft.content = param.get("content")
|
bsw@10
|
40 draft:save()
|
bsw/jbe@0
|
41
|
bsw@10
|
42 slot.put_into("notice", _"New draft has been added to initiative")
|
bsw/jbe@0
|
43
|