liquid_feedback_frontend
view app/main/suggestion/_action/add.lua @ 145:90520c9fca44
implement area filter in timeline
allows the user to ignore any area in the timeline filter.
better display in javascript off
allows the user to ignore any area in the timeline filter.
better display in javascript off
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Thu Oct 07 00:35:48 2010 +0200 (2010-10-07) |
| parents | 53a45356c107 |
| children | 23c98752e697 |
line source
1 local tmp = db:query({ "SELECT text_entries_left FROM member_contingent_left WHERE member_id = ?", app.session.member.id }, "opt_object")
2 if tmp and tmp.text_entries_left and tmp.text_entries_left < 1 then
3 slot.put_into("error", _"Sorry, you have reached your personal flood limit. Please be slower...")
4 return false
5 end
7 local name = param.get("name")
8 local name = util.trim(name)
10 if #name < 3 then
11 slot.put_into("error", _"This title is really too short!")
12 return false
13 end
15 local suggestion = Suggestion:new()
17 suggestion.author_id = app.session.member.id
18 suggestion.name = name
19 param.update(suggestion, "description", "initiative_id")
20 suggestion:save()
22 -- TODO important m1 selectors returning result _SET_!
23 local issue = suggestion.initiative:get_reference_selector("issue"):for_share():single_object_mode():exec()
25 if issue.closed then
26 slot.put_into("error", _"This issue is already closed.")
27 return false
28 elseif issue.half_frozen then
29 slot.put_into("error", _"This issue is already frozen.")
30 return false
31 end
33 local opinion = Opinion:new()
35 opinion.suggestion_id = suggestion.id
36 opinion.member_id = app.session.member.id
37 opinion.degree = param.get("degree", atom.integer)
38 opinion.fulfilled = false
40 opinion:save()
42 slot.put_into("notice", _"Your suggestion has been added")
