liquid_feedback_frontend
changeset 177:b9c8503feff7
Highlight members been part of my delegation chain, removed unused code
author | bsw |
---|---|
date | Sun Oct 31 19:54:07 2010 +0100 (2010-10-31) |
parents | 3f179402127f |
children | bf799314a20f |
files | app/main/interest/show_incoming.lua app/main/member/_list.lua app/main/member/_show_thumb.lua app/main/supporter/show_incoming.lua static/style.css |
line diff
1.1 --- a/app/main/interest/show_incoming.lua Sun Oct 31 19:53:15 2010 +0100 1.2 +++ b/app/main/interest/show_incoming.lua Sun Oct 31 19:54:07 2010 +0100 1.3 @@ -3,6 +3,7 @@ 1.4 1.5 local members_selector = Member:new_selector() 1.6 :join("delegating_interest_snapshot", nil, "delegating_interest_snapshot.member_id = member.id") 1.7 + :join("issue", nil, "issue.id = delegating_interest_snapshot.issue_id") 1.8 :add_where{ "delegating_interest_snapshot.issue_id = ?", issue.id } 1.9 :add_where{ "delegating_interest_snapshot.event = ?", issue.latest_snapshot_event } 1.10 :add_where{ "delegating_interest_snapshot.delegate_member_ids[1] = ?", member.id }
2.1 --- a/app/main/member/_list.lua Sun Oct 31 19:53:15 2010 +0100 2.2 +++ b/app/main/member/_list.lua Sun Oct 31 19:54:07 2010 +0100 2.3 @@ -4,6 +4,12 @@ 2.4 local trustee = param.get("trustee", "table") 2.5 local initiator = param.get("initiator", "table") 2.6 2.7 +if initiative or issue then 2.8 + local issue_id = issue and issue.id or initiative.issue_id 2.9 + members_selector:left_join("delegating_interest_snapshot", "_member_list__delegating_interest", { "_member_list__delegating_interest.event = issue.latest_snapshot_event AND _member_list__delegating_interest.issue_id = issue.id AND _member_list__delegating_interest.member_id = ?", app.session.member_id }) 2.10 + members_selector:add_field("_member_list__delegating_interest.delegate_member_ids", "delegate_member_ids") 2.11 +end 2.12 + 2.13 ui.add_partial_param_names{ "member_list" } 2.14 2.15 local filter = { 2.16 @@ -52,75 +58,6 @@ 2.17 attr = { class = "member_list" }, 2.18 content = function() 2.19 local members = members_selector:exec() 2.20 - local columns = { 2.21 - { 2.22 - label = _"Name", 2.23 - content = function(member) 2.24 - ui.link{ 2.25 - module = "member", 2.26 - view = "show", 2.27 - id = member.id, 2.28 - content = function() 2.29 - ui.image{ 2.30 - attr = { width = 48, height = 48 }, 2.31 - module = "member", 2.32 - view = "avatar", 2.33 - id = member.id, 2.34 - extension = "jpg" 2.35 - } 2.36 - end 2.37 - } 2.38 - end 2.39 - }, 2.40 - { 2.41 - label = _"Name", 2.42 - content = function(member) 2.43 - ui.link{ 2.44 - module = "member", 2.45 - view = "show", 2.46 - id = member.id, 2.47 - content = member.name 2.48 - } 2.49 - if member.admin then 2.50 - ui.image{ 2.51 - attr = { 2.52 - alt = _"Administrator", 2.53 - title = _"Administrator" 2.54 - }, 2.55 - static = "icons/16/cog.png" 2.56 - } 2.57 - end 2.58 - -- TODO performance 2.59 - local contact = Contact:by_pk(app.session.member.id, member.id) 2.60 - if contact then 2.61 - ui.image{ 2.62 - attr = { 2.63 - alt = _"Saved as contact", 2.64 - title = _"Saved as contact" 2.65 - }, 2.66 - static = "icons/16/book_edit.png" 2.67 - } 2.68 - end 2.69 - end 2.70 - } 2.71 - } 2.72 - 2.73 - if initiative then 2.74 - columns[#columns+1] = { 2.75 - label = _"Delegations", 2.76 - field_attr = { style = "text-align: right;" }, 2.77 - content = function(member) 2.78 - if member.weight > 1 then 2.79 - ui.link{ 2.80 - content = member.weight, 2.81 - module = "support", 2.82 - view = "show_incoming", 2.83 - params = { member_id = member.id, initiative_id = initiative.id } 2.84 - } 2.85 - end 2.86 - end 2.87 - } 2.88 - end 2.89 2.90 for i, member in ipairs(members) do 2.91 execute.view{ 2.92 @@ -136,6 +73,7 @@ 2.93 } 2.94 end 2.95 2.96 + 2.97 end 2.98 } 2.99 slot.put('<br style="clear: left;" />')
3.1 --- a/app/main/member/_show_thumb.lua Sun Oct 31 19:53:15 2010 +0100 3.2 +++ b/app/main/member/_show_thumb.lua Sun Oct 31 19:54:07 2010 +0100 3.3 @@ -21,6 +21,19 @@ 3.4 container_class = container_class .. " not_informed" 3.5 end 3.6 3.7 +local in_delegation_chain = false 3.8 +if member.delegate_member_ids then 3.9 + for member_id in member.delegate_member_ids:gmatch("(%w+)") do 3.10 + if tonumber(member_id) == member.id then 3.11 + in_delegation_chain = true 3.12 + end 3.13 + end 3.14 +end 3.15 + 3.16 +if in_delegation_chain then 3.17 + container_class = container_class .. " in_delegation_chain" 3.18 +end 3.19 + 3.20 ui.container{ 3.21 attr = { class = container_class }, 3.22 content = function() 3.23 @@ -93,7 +106,10 @@ 3.24 end 3.25 end 3.26 ui.link{ 3.27 - attr = { title = _"Number of incoming delegations, follow link to see more details" }, 3.28 + attr = { 3.29 + class = in_delegation_chain and "in_delegation_chain" or nil, 3.30 + title = _"Number of incoming delegations, follow link to see more details" 3.31 + }, 3.32 content = _("+ #{weight}", { weight = weight - 1 }), 3.33 module = module, 3.34 view = "show_incoming",
4.1 --- a/app/main/supporter/show_incoming.lua Sun Oct 31 19:53:15 2010 +0100 4.2 +++ b/app/main/supporter/show_incoming.lua Sun Oct 31 19:54:07 2010 +0100 4.3 @@ -4,6 +4,7 @@ 4.4 4.5 local members_selector = Member:new_selector() 4.6 :join("delegating_interest_snapshot", nil, "delegating_interest_snapshot.member_id = member.id") 4.7 + :join("issue", nil, "issue.id = delegating_interest_snapshot.issue_id") 4.8 :add_where{ "delegating_interest_snapshot.issue_id = ?", issue.id } 4.9 :add_where{ "delegating_interest_snapshot.event = ?", issue.latest_snapshot_event } 4.10 :add_where{ "delegating_interest_snapshot.delegate_member_ids[1] = ?", member.id }
5.1 --- a/static/style.css Sun Oct 31 19:53:15 2010 +0100 5.2 +++ b/static/style.css Sun Oct 31 19:54:07 2010 +0100 5.3 @@ -971,6 +971,10 @@ 5.4 margin-left: 0.5em; 5.5 } 5.6 5.7 +.member_thumb .flags .in_delegation_chain { 5.8 + font-weight: bold; 5.9 +} 5.10 + 5.11 5.12 .member .right { 5.13 float: right; 5.14 @@ -981,6 +985,10 @@ 5.15 opacity: 0.5; 5.16 } 5.17 5.18 +.member_thumb.in_delegation_chain { 5.19 + border-color: #f70; 5.20 +} 5.21 + 5.22 .member_statement, 5.23 .draft_content, 5.24 .suggestion_content {