# HG changeset patch # User bsw # Date 1330867121 -3600 # Node ID 89d32158bfd5b12409f553697cc41443f10b7844 # Parent 178136e66341859a3c042cd0c9b7c87a3962a29e Show unit delegatee on member area list, optical enhancements on member area list diff -r 178136e66341 -r 89d32158bfd5 app/main/area/_list.lua --- a/app/main/area/_list.lua Sat Mar 03 17:30:16 2012 +0100 +++ b/app/main/area/_list.lua Sun Mar 04 14:18:41 2012 +0100 @@ -1,4 +1,5 @@ local areas_selector = param.get("areas_selector", "table") +local hide_membership = param.get("hide_membership", atom.boolean) areas_selector :reset_fields() @@ -35,35 +36,22 @@ ui.container{ attr = { class = "area" }, content = function() - ui.container{ attr = { class = "info" }, content = function() - - ui.container{ attr = { class = "bar" }, content = function() - if area.member_weight and area.direct_member_count then - local max_value = MemberCount:get() - ui.bargraph{ - max_value = max_value, - width = 100, - bars = { - { color = "#444", value = area.direct_member_count }, - { color = "#777", value = area.member_weight - area.direct_member_count }, - { color = "#ddd", value = max_value - area.member_weight }, - } + ui.container{ attr = { class = "bar" }, content = function() + if area.member_weight and area.direct_member_count then + local max_value = MemberCount:get() + ui.bargraph{ + max_value = max_value, + width = 100, + bars = { + { color = "#444", value = area.direct_member_count }, + { color = "#777", value = area.member_weight - area.direct_member_count }, + { color = "#ddd", value = max_value - area.member_weight }, } - end - end } + } + end + end } - ui.container{ attr = { class = "name" }, content = function() - ui.link{ - text = area.name, - module = "area", - view = "show", - id = area.id - } - slot.put(" ") - ui.tag{ content = "" } - end - } - + if not hide_membership then ui.container{ attr = { class = "membership" }, content = function() if area.is_member then local text = _"Member of area" @@ -75,31 +63,41 @@ slot.put('') end end } - - ui.container{ attr = { class = "delegatee" }, content = function() - if area.trustee_member_id then - local trustee_member = Member:by_id(area.trustee_member_id) - local text = _("Area delegated to '#{name}'", { name = area.trustee_member_name }) - local text = _"delegated to" - ui.image{ - attr = { class = "delegation_arrow", alt = text, title = text }, - static = "delegation_arrow_24_horizontal.png" + end + + ui.container{ attr = { class = "delegatee" }, content = function() + if area.trustee_member_id then + local trustee_member = Member:by_id(area.trustee_member_id) + local text = _("Area delegated to '#{name}'", { name = area.trustee_member_name }) + ui.image{ + attr = { class = "delegation_arrow", alt = text, title = text }, + static = "delegation_arrow_24_horizontal.png" + } + execute.view{ + module = "member_image", + view = "_show", + params = { + member = trustee_member, + image_type = "avatar", + show_dummy = true, + class = "micro_avatar", + popup_text = text } - execute.view{ - module = "member_image", - view = "_show", - params = { - member = trustee_member, - image_type = "avatar", - show_dummy = true, - class = "micro_avatar", - popup_text = text - } - } - else - slot.put('') - end - end } + } + else + slot.put('') + end + end } + + ui.container{ attr = { class = "name" }, content = function() + ui.link{ + text = area.name, + module = "area", + view = "show", + id = area.id + } + slot.put(" ") + ui.tag{ content = "" } end } ui.container{ attr = { class = "phases" }, content = function() @@ -166,7 +164,7 @@ end } - slot.put("
") end } end diff -r 178136e66341 -r 89d32158bfd5 app/main/initiative/_list_element.lua --- a/app/main/initiative/_list_element.lua Sat Mar 03 17:30:16 2012 +0100 +++ b/app/main/initiative/_list_element.lua Sun Mar 04 14:18:41 2012 +0100 @@ -10,7 +10,7 @@ then ui.field.rank{ attr = { class = "rank" }, value = initiative.rank, eligible = initiative.eligible } else - slot.put('') + ui.image{ static = "icons/16/script.png" } end end } diff -r 178136e66341 -r 89d32158bfd5 app/main/member/_area_list.lua --- a/app/main/member/_area_list.lua Sat Mar 03 17:30:16 2012 +0100 +++ b/app/main/member/_area_list.lua Sun Mar 04 14:18:41 2012 +0100 @@ -1,37 +1,59 @@ local units = app.session.member.units_with_voting_right local member = param.get("member", "table") for i, unit in ipairs(units) do + local trustee_member = Member:new_selector() + :join("delegation", nil, { "delegation.unit_id = ? AND delegation.truster_id = ?", unit.id, member.id }) + :optional_object_mode() + :exec() + local areas_selector = Area:new_selector() :join("membership", nil, { "membership.area_id = area.id AND membership.member_id = ?", member.id }) :add_where{ "area.unit_id = ?", unit.id } :add_order_by("area.member_weight DESC") local area_count = areas_selector:count() - local class = "heading" - if area_count > 0 then - class = class .. " member_area_list" - end - ui.link{ - attr = { class = class }, - text = unit.name, - module = "unit", view = "show", id = unit.id - } + + ui.container{ attr = { class = "member_area_list" }, content = function() + ui.container{ attr = { class = "unit_head" }, content = function() + ui.link{ + text = unit.name, + module = "unit", view = "show", id = unit.id + } - if area_count > 0 then - execute.view{ - module = "area", view = "_list", - params = { areas_selector = areas_selector } - } - else - ui.tag{ content = _"You have voting privileges for this unit, but you are not member of any of its areas." } - slot.put(" ") - ui.link{ - text = _"Show all areas of this unit", - module = "unit", view = "show", id = unit.id - } - end - slot.put("
") - slot.put("
") + if trustee_member then + local text = _("Unit delegated to '#{name}'", { name = trustee_member.name }) + ui.image{ + attr = { class = "delegation_arrow", alt = text, title = text }, + static = "delegation_arrow_24_horizontal.png" + } + execute.view{ + module = "member_image", + view = "_show", + params = { + member = trustee_member, + image_type = "avatar", + show_dummy = true, + class = "micro_avatar", + popup_text = text + } + } + end + end } + + if area_count > 0 then + execute.view{ + module = "area", view = "_list", + params = { areas_selector = areas_selector, hide_membership = true } + } + else + ui.tag{ content = _"You have voting privileges for this unit, but you are not member of any of its areas." } + slot.put(" ") + ui.link{ + text = _"Show all areas of this unit", + module = "unit", view = "show", id = unit.id + } + end + end } end diff -r 178136e66341 -r 89d32158bfd5 static/style.css --- a/static/style.css Sat Mar 03 17:30:16 2012 +0100 +++ b/static/style.css Sun Mar 04 14:18:41 2012 +0100 @@ -842,22 +842,29 @@ * Area list */ -.area_list { +.member_area_list { + margin-bottom: 2ex; +} + +.member_area_list .unit_head { + font-size: 120%; + font-weight: bold; + line-height: 200%; +} + +.member_area_list .unit_delegatee { + float: left; } .area_list .area { line-height: 28px; + clear: both; } .area_list .area img { vertical-align: middle; } -.area_list .area .info { - float: left; - clear: both; -} - .area_list .area .bar { float: left; padding-top: 6px @@ -874,20 +881,9 @@ font-weight: bold; } -@media screen and (max-width: 480px) { - .area_list .area .name { - clear: left; - display: block; - float: left; - margin-left: 0px; - } - .area_list .area .phases { - margin-bottom: 2ex; - } -} - .area_list .area .phases { float: right; + margin-bottom: 2ex; } .area_list .area .phases div { @@ -896,6 +892,18 @@ text-align: right; } +@media screen and (max-width: 480px) { + .area_list .area .name { + xdisplay: block; + xfloat: left; + } + .area_list .area .bar, + .area_list .area .membership, + .area_list .area .delegatee { + display: none; + } +} + /************************************************************************* * Issues */