liquid_feedback_frontend
view app/main/member/show_tab.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
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 | 81586ea68d57 |
line source
1 local member
3 if request.get_json_request_slots() then
4 member = Member:by_id(param.get("member_id"))
5 else
6 member = param.get("member", "table")
7 end
9 local areas_selector = member:get_reference_selector("areas")
10 local issues_selector = member:get_reference_selector("issues")
11 local supported_initiatives_selector = member:get_reference_selector("supported_initiatives")
12 local initiated_initiatives_selector = member:get_reference_selector("initiated_initiatives"):add_where("initiator.accepted = true")
13 local incoming_delegations_selector = member:get_reference_selector("incoming_delegations")
14 :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id")
15 :add_where("_member_showtab_issue.closed ISNULL")
16 local outgoing_delegations_selector = member:get_reference_selector("outgoing_delegations")
17 :left_join("issue", "_member_showtab_issue", "_member_showtab_issue.id = delegation.issue_id")
18 :add_where("_member_showtab_issue.closed ISNULL")
19 local contacts_selector = member:get_reference_selector("saved_members"):add_where("public")
21 ui.tabs{
22 module = "member",
23 view = "show_tab",
24 static_params = { member_id = member.id },
25 {
26 name = "profile",
27 label = _"Profile",
28 icon = { static = "icons/16/application_form.png" },
29 module = "member",
30 view = "_profile",
31 params = { member = member },
32 },
33 {
34 name = "areas",
35 label = _"Areas" .. " (" .. tostring(areas_selector:count()) .. ")",
36 icon = { static = "icons/16/package.png" },
37 module = "area",
38 view = "_list",
39 params = { areas_selector = areas_selector },
40 },
41 {
42 name = "issues",
43 label = _"Issues" .. " (" .. tostring(issues_selector:count()) .. ")",
44 icon = { static = "icons/16/folder.png" },
45 module = "issue",
46 view = "_list",
47 params = { issues_selector = issues_selector },
48 },
49 {
50 name = "supported_initiatives",
51 label = _"Supported initiatives" .. " (" .. tostring(supported_initiatives_selector:count()) .. ")",
52 icon = { static = "icons/16/thumb_up_green.png" },
53 module = "initiative",
54 view = "_list",
55 params = { initiatives_selector = supported_initiatives_selector },
56 },
57 {
58 name = "initiatied_initiatives",
59 label = _"Initiated initiatives" .. " (" .. tostring(initiated_initiatives_selector:count()) .. ")",
60 icon = { static = "icons/16/user_edit.png" },
61 module = "initiative",
62 view = "_list",
63 params = { initiatives_selector = initiated_initiatives_selector },
64 },
65 {
66 name = "incoming_delegations",
67 label = _"Incoming delegations" .. " (" .. tostring(incoming_delegations_selector:count()) .. ")",
68 icon = { static = "icons/16/table_go.png" },
69 module = "delegation",
70 view = "_list",
71 params = { delegations_selector = incoming_delegations_selector, incoming = true },
72 },
73 {
74 name = "outgoing_delegations",
75 label = _"Outgoing delegations" .. " (" .. tostring(outgoing_delegations_selector:count()) .. ")",
76 icon = { static = "icons/16/table_go.png" },
77 module = "delegation",
78 view = "_list",
79 params = { delegations_selector = outgoing_delegations_selector },
80 },
81 {
82 name = "contacts",
83 label = _"Contacts" .. " (" .. tostring(contacts_selector:count()) .. ")",
84 icon = { static = "icons/16/book_edit.png" },
85 module = "member",
86 view = "_list",
87 params = { members_selector = contacts_selector },
88 }
89 }