liquid_feedback_frontend

annotate app/main/initiative/show.rss.lua @ 19:00d1004545f1

Dynamic interface using XMLHttpRequests, and many other changes

Bugfixes:
- Only allow voting on admitted initiatives
- Repaired issue search
- Don't display delegations for closed issues on member page
- Don't show revoke link in initiative, when issue is already half_frozen
- Localization for voting JavaScript
- Display author of suggestions

Disclosure of voting data after voting is finished:
- Possibility to inspect every ballot including preferences
- Show number of voters preferring one initiative to another initiative

Interface behaviour changes:
- Reversed default order of drafts
- Default order of suggestions changed
- Show new drafts of initiatives only once per day in timeline

Accessibility:
- Barrier-free voting implemented
- POST links are now accessible without JavaScript
- Changed gray for unsatisfied supporters in bar graph to a lighter gray

Other interface improvements:
- Optical enhancements
- Dynamic interface using XMLHttpRequests
- Show usage terms in about section
- Show own membership in area listing
- Show uninformed supporters greyed out and marked with yellow question mark
- Warning box in non-admitted initiatives
- When voted, don't display voting notice and change label of voting link
- Show object counts in more tabulator heads
- Enlarged member statement input field

Miscellaneous:
- Code cleanup
- Added README file containing installation instructions
- Use new WebMCP function ui.filters{...} instead of own ui.filter and ui.order functions
author bsw/jbe
date Sat Feb 20 22:10:31 2010 +0100 (2010-02-20)
parents 3bfb2fcf7ab9
children 733f65c0c0a0
rev   line source
bsw/jbe@0 1 slot.set_layout("rss")
bsw/jbe@0 2
bsw/jbe@0 3 local function rss_channel(channel)
bsw/jbe@0 4 for key, val in pairs(channel) do
bsw/jbe@0 5 slot.put("<", key, ">", val, "</", key, ">")
bsw/jbe@0 6 end
bsw/jbe@0 7 end
bsw/jbe@0 8
bsw/jbe@0 9 local function rss_item(item)
bsw/jbe@0 10 slot.put("<item>")
bsw/jbe@0 11 for key, val in pairs(item) do
bsw/jbe@0 12 slot.put("<", key, ">", val, "</", key, ">")
bsw/jbe@0 13 end
bsw/jbe@0 14 slot.put("</item>")
bsw/jbe@0 15 end
bsw/jbe@0 16
bsw/jbe@0 17
bsw/jbe@0 18 local initiative = Initiative:by_id(param.get_id())
bsw/jbe@0 19
bsw/jbe@0 20 rss_channel{
bsw/jbe@0 21 title = initiative.name,
bsw/jbe@0 22 description = initiative.current_draft.content,
bsw/jbe@0 23 language = "de",
bsw/jbe@0 24 copyright = initiative.current_draft.author.name,
bsw/jbe@0 25 pubDate = "Tue, 8 Jul 2008 2:43:19"
bsw/jbe@0 26 }
bsw/jbe@0 27
bsw/jbe@0 28 for i, suggestion in ipairs(initiative.suggestions) do
bsw/jbe@0 29
bsw/jbe@0 30 local text = suggestion.name
bsw/jbe@0 31
bsw/jbe@0 32 text = text .. " ("
bsw/jbe@0 33 text = text .. tostring(suggestion.plus2_unfulfilled_count + suggestion.plus2_unfulfilled_count) .. "++ "
bsw/jbe@0 34 text = text .. tostring(suggestion.plus1_unfulfilled_count + suggestion.plus1_unfulfilled_count) .. "+ "
bsw/jbe@0 35 text = text .. tostring(suggestion.minus1_unfulfilled_count + suggestion.minus1_unfulfilled_count) .. "- "
bsw/jbe@0 36 text = text .. tostring(suggestion.minus2_unfulfilled_count + suggestion.minus2_unfulfilled_count) .. "--"
bsw/jbe@0 37
bsw/jbe@0 38 text = text .. ")"
bsw/jbe@0 39
bsw/jbe@0 40 rss_item{
bsw/jbe@0 41 title = text,
bsw/jbe@0 42 description = suggestion.content,
bsw/jbe@0 43 link = "http://localhost/lf/suggestion/show/" .. tostring(suggestion.id) .. ".html",
bsw/jbe@0 44 author = "",
bsw/jbe@0 45 guid = "guid",
bsw/jbe@0 46 pubDate = "Tue, 8 Jul 2008 2:43:19"
bsw/jbe@0 47 }
bsw/jbe@0 48
bsw/jbe@0 49 end

Impressum / About Us