# HG changeset patch # User bsw # Date 1331399597 -3600 # Node ID a31fce559540cd5ebab3c429719803438a6468fa # Parent 0a895704373a44911a912d9aa3dd21841e7df541 Show number of areas not member of in member area list diff -r 0a895704373a -r a31fce559540 app/main/member/_area_list.lua --- a/app/main/member/_area_list.lua Sat Mar 10 18:04:36 2012 +0100 +++ b/app/main/member/_area_list.lua Sat Mar 10 18:13:17 2012 +0100 @@ -10,6 +10,7 @@ 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_where{ "area.active" } :add_order_by("area.member_weight DESC") local area_count = areas_selector:count() @@ -49,10 +50,24 @@ else ui.container{ attr = { class = "voting_priv_info" }, content = _"You have voting privileges for this unit, but you are not member of any of its areas." } end - ui.container{ content = function() - ui.link{ content = _"Show all areas of unit", module = "unit", view = "show", id = unit.id } - end } - + local max_area_count = Area:new_selector() + :add_where{ "area.unit_id = ?", unit.id } + :add_where{ "area.active" } + :count() + local more_area_count = max_area_count - area_count + local delegated_count = Area:new_selector() + :add_where{ "area.unit_id = ?", unit.id } + :add_where{ "area.active" } + :left_join("membership", nil, { "membership.area_id = area.id AND membership.member_id = ?", member.id } ) + :add_where{ "membership.member_id ISNULL" } + :join("delegation", nil, { "delegation.area_id = area.id AND delegation.truster_id = ?", member.id } ) + :count() + if more_area_count > 0 then + slot.put("
") + ui.container{ content = function() + ui.link{ content = _("#{count} more areas in this unit, #{delegated_count} of them delegated", { count = more_area_count, delegated_count = delegated_count }), module = "unit", view = "show", id = unit.id } + end } + end end } end diff -r 0a895704373a -r a31fce559540 locale/translations.de.lua --- a/locale/translations.de.lua Sat Mar 10 18:04:36 2012 +0100 +++ b/locale/translations.de.lua Sat Mar 10 18:13:17 2012 +0100 @@ -1,5 +1,6 @@ #!/usr/bin/env lua return { +["#{count} more areas in this unit, #{delegated_count} of them delegated"] = "#{count} weitere Themengebiete in dieser Gliederung, #{delegated_count} davon delegiert"; ["#{interested_issues_to_vote_count} issue(s) you are interested in"] = "#{interested_issues_to_vote_count} Themen, die Dich interessieren"; ["#{issues_to_vote_count} issue(s)"] = "#{issues_to_vote_count} Themen"; ["#{name}\n\n"] = false; @@ -497,7 +498,6 @@ ["Settings"] = "Einstellungen"; ["Show"] = "Zeige"; ["Show active members"] = "Zeige aktive Mitglieder"; -["Show all areas of unit"] = "Zeige alle Themengebiete der Gliederung"; ["Show areas in use"] = "Zeige verwendete Themenbereiche"; ["Show areas not in use"] = "Zeige nicht verwendete Themenbereiche"; ["Show diff"] = "Änderungen anzeigen";