liquid_feedback_frontend

annotate app/main/initiative/_list.lua @ 1049:297d34ddd9dc

Updated LICENSE file
author bsw
date Thu Jul 10 02:40:03 2014 +0200 (2014-07-10)
parents 701a5cf6b067
children 32cc544d5a5b
rev   line source
bsw@1045 1 local member = param.get("member", "table") or app.session.member
bsw/jbe@0 2
bsw@1045 3 local initiatives = param.get("initiatives", "table")
bsw@1045 4 local highlight_initiative_id = param.get ( "highlight_initiative_id", "number" )
bsw@285 5
bsw@1045 6 local for_initiative = param.get("initiative", "table")
bsw/jbe@19 7
bsw@1045 8 local for_event = param.get("for_event", atom.boolean)
bsw/jbe@19 9
bsw@1045 10 if for_initiative then
bsw@1045 11 initiatives = { for_initiative }
bsw@345 12 end
bsw@345 13
bsw@1045 14 ui.tag {
bsw@1045 15 tag = "ul",
bsw@1045 16 attr = { class = "initiatives" },
bsw@1045 17 content = function ()
bsw@1045 18 local last_group
bsw@1045 19 for i, initiative in ipairs(initiatives) do
bsw@1045 20 local group
bsw@1045 21 if initiative.issue.closed then
bsw@1045 22 if initiative.rank == 1 then
bsw@1045 23 group = "1st_rank"
bsw@1045 24 elseif initiative.admitted then
bsw@1045 25 group = "admitted"
bsw@1045 26 elseif initiative.revoked_by_member_id then
bsw@1045 27 group = "revoked"
bsw@1045 28 else
bsw@1045 29 group = "not_admitted"
bsw@1045 30 end
bsw@1045 31 end
bsw@1045 32 if not for_initiative and group ~= last_group and not for_event then
bsw/jbe@19 33
bsw@1045 34 local text
bsw@1045 35 if group == "admitted" then
bsw@1045 36 if initiative.issue.state == "finished_with_winner" then
bsw@1045 37 text = _"Competing initiatives in pairwise comparison to winner:"
bsw@1045 38 else
bsw@1045 39 text = _"Competing initiatives in pairwise comparison to best initiative:"
bsw@1045 40 end
bsw@1045 41 end
bsw@1045 42 if group == "not_admitted" then
bsw@1045 43 text = _("Competing initiatives failed the 2nd quorum (#{num}/#{den}):", {
bsw@1045 44 num = initiative.issue.policy.initiative_quorum_num,
bsw@1045 45 den = initiative.issue.policy.initiative_quorum_den
bsw@1045 46 } )
bsw@1045 47 end
bsw@1045 48 if text then
bsw@1045 49 slot.put("<br />")
bsw@1045 50 ui.container { attr = { class = "result" }, content = text }
bsw@1045 51 end
bsw@1045 52 last_group = group
bsw@1045 53 end
bsw@1045 54
bsw@1045 55 local class = ""
bsw@1045 56 if highlight_initiative_id == initiative.id then
bsw@1045 57 class = "highlighted"
bsw@1045 58 end
bsw@1045 59 if app.session.member then
bsw@1045 60 if initiative.member_info.supported then
bsw@1045 61 class = class .. " supported"
bsw@1045 62 end
bsw@1045 63 if initiative.member_info.satisfied then
bsw@1045 64 class = class .. " satisfied"
bsw@1045 65 end
bsw@1045 66 end
bsw@1045 67 ui.tag {
bsw@1045 68 tag = "li", attr = { class = class },
bsw@1045 69 content = function ()
bsw@1045 70 execute.view {
bsw@1045 71 module = "initiative", view = "_list_element", params = {
bsw@1045 72 initiative = initiative, for_event = for_event
bsw@1045 73 }
bsw@1045 74 }
bsw@1045 75 end
bsw@1045 76 }
bsw@551 77 end
bsw@1045 78 end
bsw@1045 79 }

Impressum / About Us