liquid_feedback_frontend

diff app/main/issue/_details.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
children 4b2af207cefa
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/app/main/issue/_details.lua	Sat Feb 20 22:10:31 2010 +0100
     1.3 @@ -0,0 +1,37 @@
     1.4 +local issue = param.get("issue", "table")
     1.5 +
     1.6 +local policy = issue.policy
     1.7 +ui.form{
     1.8 +  record = issue,
     1.9 +  readonly = true,
    1.10 +  attr = { class = "vertical" },
    1.11 +  content = function()
    1.12 +    ui.field.text{ label = _"Population", name = "population" }
    1.13 +    ui.field.text{ label = _"State", name = "state" }
    1.14 +    ui.field.timestamp{ label = _"Created at",            name = "created" }
    1.15 +    ui.field.text{      label = _"Admission time",        value = policy.admission_time }
    1.16 +    ui.field.text{
    1.17 +      label = _"Issue quorum",
    1.18 +      value = format.percentage(policy.issue_quorum_num / policy.issue_quorum_den)
    1.19 +    }
    1.20 +    ui.field.timestamp{ label = _"Accepted at",              name = "accepted" }
    1.21 +    ui.field.text{      label = _"Discussion time",       value = policy.discussion_time }
    1.22 +    ui.field.vote_now{   label = _"Vote now", name = "vote_now" }
    1.23 +    ui.field.vote_later{ label = _"Vote later", name = "vote_later" }
    1.24 +    ui.field.timestamp{ label = _"Half frozen at",           name = "half_frozen" }
    1.25 +    ui.field.text{      label = _"Verification time",     value = policy.verification_time }
    1.26 +    ui.field.text{
    1.27 +      label   = _"Initiative quorum",
    1.28 +      value = format.percentage(policy.initiative_quorum_num / policy.initiative_quorum_den)
    1.29 +    }
    1.30 +    ui.field.timestamp{ label = _"Fully frozen at",          name = "fully_frozen" }
    1.31 +    ui.field.text{      label = _"Voting time",           value = policy.voting_time }
    1.32 +    ui.field.timestamp{ label = _"Closed",                name = "closed" }
    1.33 +  end
    1.34 +}
    1.35 +ui.form{
    1.36 +  record = issue.policy,
    1.37 +  readonly = true,
    1.38 +  content = function()
    1.39 +  end
    1.40 +}

Impressum / About Us