liquid_feedback_frontend
view app/main/suggestion/_action/add.lua @ 291:71eed60f6a41
Closed branch of experimental frontend
| author | jbe | 
|---|---|
| date | Sat Feb 25 15:56:55 2012 +0100 (2012-02-25) | 
| 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")
