liquid_feedback_frontend
annotate app/main/api/suggestion.lua @ 95:6a12fb7e4963
Suggestion API, draft preview, word based diff, multiple fixes
- Added suggestion API
- Initiative API: Drafts optionally delivered as rendered html fragment
- Initiative API: Fixed wrong output of revoked timestamp when using JSON
- Preview added for initiative drafts
- Improved (word based) diff added
- Improved suggestion list
- Added missing sorting of initiative in vote list
- Filter state for member page initiative lists
- Fixed wrong status output in member history
- Fixed wrongly closed div in layout
- Added suggestion API
- Initiative API: Drafts optionally delivered as rendered html fragment
- Initiative API: Fixed wrong output of revoked timestamp when using JSON
- Preview added for initiative drafts
- Improved (word based) diff added
- Improved suggestion list
- Added missing sorting of initiative in vote list
- Filter state for member page initiative lists
- Fixed wrong status output in member history
- Fixed wrongly closed div in layout
author | bsw |
---|---|
date | Mon Aug 30 21:52:19 2010 +0200 (2010-08-30) |
parents | |
children | a33abf457d29 |
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 |
bsw@95 | 22 if order == "id_desc" then |
bsw@95 | 23 suggestions_selector:add_order_by("suggestion.id DESC") |
bsw@95 | 24 else |
bsw@95 | 25 suggestions_selector:add_order_by("suggestion.id") |
bsw@95 | 26 end |
bsw@95 | 27 |
bsw@95 | 28 if limit then |
bsw@95 | 29 suggestions_selector:limit(limit) |
bsw@95 | 30 end |
bsw@95 | 31 |
bsw@95 | 32 local api_engine = param.get("api_engine") or "xml" |
bsw@95 | 33 |
bsw@95 | 34 local fields = { |
bsw@95 | 35 |
bsw@95 | 36 { name = "id", field = "suggestion.id" }, |
bsw@95 | 37 { name = "initiative_id", field = "suggestion.initiative_id" }, |
bsw@95 | 38 { name = "name", field = "suggestion.name" }, |
bsw@95 | 39 { name = "description", field = "suggestion.description" }, |
bsw@95 | 40 { name = "minus2_unfulfilled_count", field = "suggestion.minus2_unfulfilled_count" }, |
bsw@95 | 41 { name = "minus2_fulfilled_count", field = "suggestion.minus2_fulfilled_count" }, |
bsw@95 | 42 { name = "minus1_unfulfilled_count", field = "suggestion.minus1_unfulfilled_count" }, |
bsw@95 | 43 { name = "minus1_fulfilled_count", field = "suggestion.minus1_fulfilled_count" }, |
bsw@95 | 44 { name = "plus1_unfulfilled_count", field = "suggestion.plus1_unfulfilled_count" }, |
bsw@95 | 45 { name = "plus1_fulfilled_count", field = "suggestion.plus1_fulfilled_count" }, |
bsw@95 | 46 { name = "plus2_unfulfilled_count", field = "suggestion.plus2_unfulfilled_count" }, |
bsw@95 | 47 { name = "plus2_fulfilled_count", field = "suggestion.plus2_fulfilled_count" }, |
bsw@95 | 48 |
bsw@95 | 49 } |
bsw@95 | 50 |
bsw@95 | 51 util.autoapi{ |
bsw@95 | 52 relation_name = "suggestion", |
bsw@95 | 53 selector = suggestions_selector, |
bsw@95 | 54 fields = fields, |
bsw@95 | 55 api_engine = api_engine |
bsw@95 | 56 } |