liquid_feedback_frontend

annotate app/main/interest/_action/update_voting_requested.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 559c6be0e1e9
children
rev   line source
bsw@16 1 local issue_id = assert(param.get("issue_id", atom.integer), "no issue id given")
bsw@16 2
bsw@16 3 local interest = Interest:by_pk(issue_id, app.session.member.id)
bsw@16 4
bsw@16 5 local issue = Issue:new_selector():add_where{ "id = ?", issue_id }:for_share():single_object_mode():exec()
bsw@16 6
bsw@16 7 if issue.closed then
bsw@16 8 slot.put_into("error", _"This issue is already closed.")
bsw@16 9 return false
bsw@16 10 elseif issue.half_frozen then
bsw@16 11 slot.put_into("error", _"This issue is already frozen.")
bsw@16 12 return false
bsw@16 13 end
bsw@16 14
bsw@16 15 interest.voting_requested = param.get("voting_requested", atom.boolean)
bsw@16 16
bsw@16 17 if interest.voting_requested == true then
bsw@16 18 error("not implemented yet")
bsw@16 19 end
bsw@16 20
bsw@16 21 interest:save()
bsw@16 22
bsw@16 23 slot.put_into("notice", _"Voting request updated")

Impressum / About Us