liquid_feedback_frontend
changeset 424:a31fce559540
Show number of areas not member of in member area list
author | bsw |
---|---|
date | Sat Mar 10 18:13:17 2012 +0100 (2012-03-10) |
parents | 0a895704373a |
children | 0a49a5268171 |
files | app/main/member/_area_list.lua locale/translations.de.lua |
line diff
1.1 --- a/app/main/member/_area_list.lua Sat Mar 10 18:04:36 2012 +0100 1.2 +++ b/app/main/member/_area_list.lua Sat Mar 10 18:13:17 2012 +0100 1.3 @@ -10,6 +10,7 @@ 1.4 local areas_selector = Area:new_selector() 1.5 :join("membership", nil, { "membership.area_id = area.id AND membership.member_id = ?", member.id }) 1.6 :add_where{ "area.unit_id = ?", unit.id } 1.7 + :add_where{ "area.active" } 1.8 :add_order_by("area.member_weight DESC") 1.9 1.10 local area_count = areas_selector:count() 1.11 @@ -49,10 +50,24 @@ 1.12 else 1.13 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." } 1.14 end 1.15 - ui.container{ content = function() 1.16 - ui.link{ content = _"Show all areas of unit", module = "unit", view = "show", id = unit.id } 1.17 - end } 1.18 - 1.19 + local max_area_count = Area:new_selector() 1.20 + :add_where{ "area.unit_id = ?", unit.id } 1.21 + :add_where{ "area.active" } 1.22 + :count() 1.23 + local more_area_count = max_area_count - area_count 1.24 + local delegated_count = Area:new_selector() 1.25 + :add_where{ "area.unit_id = ?", unit.id } 1.26 + :add_where{ "area.active" } 1.27 + :left_join("membership", nil, { "membership.area_id = area.id AND membership.member_id = ?", member.id } ) 1.28 + :add_where{ "membership.member_id ISNULL" } 1.29 + :join("delegation", nil, { "delegation.area_id = area.id AND delegation.truster_id = ?", member.id } ) 1.30 + :count() 1.31 + if more_area_count > 0 then 1.32 + slot.put("<br />") 1.33 + ui.container{ content = function() 1.34 + 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 } 1.35 + end } 1.36 + end 1.37 end } 1.38 1.39 end
2.1 --- a/locale/translations.de.lua Sat Mar 10 18:04:36 2012 +0100 2.2 +++ b/locale/translations.de.lua Sat Mar 10 18:13:17 2012 +0100 2.3 @@ -1,5 +1,6 @@ 2.4 #!/usr/bin/env lua 2.5 return { 2.6 +["#{count} more areas in this unit, #{delegated_count} of them delegated"] = "#{count} weitere Themengebiete in dieser Gliederung, #{delegated_count} davon delegiert"; 2.7 ["#{interested_issues_to_vote_count} issue(s) you are interested in"] = "#{interested_issues_to_vote_count} Themen, die Dich interessieren"; 2.8 ["#{issues_to_vote_count} issue(s)"] = "#{issues_to_vote_count} Themen"; 2.9 ["#{name}\n\n"] = false; 2.10 @@ -497,7 +498,6 @@ 2.11 ["Settings"] = "Einstellungen"; 2.12 ["Show"] = "Zeige"; 2.13 ["Show active members"] = "Zeige aktive Mitglieder"; 2.14 -["Show all areas of unit"] = "Zeige alle Themengebiete der Gliederung"; 2.15 ["Show areas in use"] = "Zeige verwendete Themenbereiche"; 2.16 ["Show areas not in use"] = "Zeige nicht verwendete Themenbereiche"; 2.17 ["Show diff"] = "Änderungen anzeigen";