liquid_feedback_frontend

annotate app/main/api/suggestion.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 a33abf457d29
children ff6162022615
rev   line source
bsw@95 1 local id = param.get("id")
bsw@95 2 local min_id = param.get("min_id")
bsw@95 3 local max_id = param.get("max_id")
bsw@95 4 local initiative_id = param.get("initiative_id")
bsw@95 5 local order = param.get("order")
bsw@95 6 local limit = param.get("limit", atom.integer)
bsw@95 7
bsw@95 8 local suggestions_selector = Suggestion:new_selector()
bsw@95 9
bsw@95 10 if id then
bsw@95 11 suggestions_selector:add_where{"suggestion.id = ?", id}
bsw@95 12 end
bsw@95 13
bsw@95 14 if min_id then
bsw@95 15 suggestions_selector:add_where{"suggestion.id >= ?", min_id}
bsw@95 16 end
bsw@95 17
bsw@95 18 if max_id then
bsw@95 19 suggestions_selector:add_where{"suggestion.id <= ?", max_id}
bsw@95 20 end
bsw@95 21
poelzi@143 22 if initiative_id then
poelzi@143 23 suggestions_selector:add_where{"suggestion.initiative_id = ?", initiative_id}
poelzi@143 24 end
poelzi@143 25
bsw@95 26 if order == "id_desc" then
bsw@95 27 suggestions_selector:add_order_by("suggestion.id DESC")
bsw@95 28 else
bsw@95 29 suggestions_selector:add_order_by("suggestion.id")
bsw@95 30 end
bsw@95 31
bsw@95 32 if limit then
bsw@95 33 suggestions_selector:limit(limit)
bsw@95 34 end
bsw@95 35
bsw@95 36 local api_engine = param.get("api_engine") or "xml"
bsw@95 37
bsw@95 38 local fields = {
bsw@95 39
bsw@95 40 { name = "id", field = "suggestion.id" },
bsw@95 41 { name = "initiative_id", field = "suggestion.initiative_id" },
bsw@95 42 { name = "name", field = "suggestion.name" },
bsw@95 43 { name = "description", field = "suggestion.description" },
bsw@95 44 { name = "minus2_unfulfilled_count", field = "suggestion.minus2_unfulfilled_count" },
bsw@95 45 { name = "minus2_fulfilled_count", field = "suggestion.minus2_fulfilled_count" },
bsw@95 46 { name = "minus1_unfulfilled_count", field = "suggestion.minus1_unfulfilled_count" },
bsw@95 47 { name = "minus1_fulfilled_count", field = "suggestion.minus1_fulfilled_count" },
bsw@95 48 { name = "plus1_unfulfilled_count", field = "suggestion.plus1_unfulfilled_count" },
bsw@95 49 { name = "plus1_fulfilled_count", field = "suggestion.plus1_fulfilled_count" },
bsw@95 50 { name = "plus2_unfulfilled_count", field = "suggestion.plus2_unfulfilled_count" },
bsw@95 51 { name = "plus2_fulfilled_count", field = "suggestion.plus2_fulfilled_count" },
bsw@95 52
bsw@95 53 }
bsw@95 54
bsw@95 55 util.autoapi{
bsw@95 56 relation_name = "suggestion",
bsw@95 57 selector = suggestions_selector,
bsw@95 58 fields = fields,
bsw@95 59 api_engine = api_engine
bsw@95 60 }

Impressum / About Us