# 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
*/