liquid_feedback_frontend

annotate app/main/interest/_action/update.lua @ 159:5d797c6706d5

implement quorum display

show the initiative quorum as a small 1px line in bargraph
allow to update your support on the diff page
better linked title in diff page
show absolute quorum numbers in detail pages of issue and initiative
author Daniel Poelzleithner <poelzi@poelzi.org>
date Sat Oct 09 03:42:48 2010 +0200 (2010-10-09)
parents 42547a48774d
children ca006681befc
rev   line source
bsw/jbe@0 1 local issue_id = assert(param.get("issue_id", atom.integer), "no issue id given")
bsw/jbe@5 2
bsw/jbe@0 3 local interest = Interest:by_pk(issue_id, app.session.member.id)
bsw/jbe@0 4
bsw@92 5 local issue = Issue:new_selector():add_where{ "id = ?", issue_id }:for_share():single_object_mode():exec()
bsw/jbe@5 6
bsw/jbe@5 7 if issue.closed then
bsw/jbe@5 8 slot.put_into("error", _"This issue is already closed.")
bsw/jbe@5 9 return false
bsw/jbe@5 10 elseif issue.fully_frozen then
bsw/jbe@5 11 slot.put_into("error", _"Voting for this issue has already begun.")
bsw/jbe@5 12 return false
bsw/jbe@5 13 end
bsw/jbe@5 14
bsw/jbe@0 15 if param.get("delete", atom.boolean) then
bsw/jbe@0 16 if interest then
bsw/jbe@0 17 interest:destroy()
bsw/jbe@0 18 slot.put_into("notice", _"Interest removed")
bsw/jbe@0 19 else
bsw/jbe@0 20 slot.put_into("notice", _"Interest not existant")
bsw/jbe@0 21 end
bsw/jbe@0 22 return
bsw/jbe@0 23 end
bsw/jbe@0 24
bsw/jbe@0 25 if not interest then
bsw/jbe@0 26 interest = Interest:new()
bsw/jbe@0 27 interest.issue_id = issue_id
bsw/jbe@0 28 interest.member_id = app.session.member_id
bsw/jbe@0 29 interest.autoreject = false
bsw/jbe@0 30 end
bsw/jbe@0 31
bsw/jbe@0 32 local autoreject = param.get("autoreject", atom.boolean)
bsw/jbe@0 33 if autoreject ~= nil then
bsw/jbe@0 34 interest.autoreject = autoreject
bsw/jbe@0 35 end
bsw/jbe@0 36
bsw/jbe@0 37 interest:save()
bsw/jbe@0 38
bsw/jbe@0 39 slot.put_into("notice", _"Interest updated")

Impressum / About Us