Skip to content

Commit 97de36a

Browse files
committed
Minor refactoring (cleaner access to list of active areas)
- Legacy-Id: 2033
1 parent 0877e5a commit 97de36a

6 files changed

Lines changed: 24 additions & 31 deletions

File tree

ietf/idrfc/templatetags/wg_menu.py

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
1+
# Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
22
# All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com>
33
#
44
# Redistribution and use in source and binary forms, with or without
@@ -33,7 +33,7 @@
3333
from django import template
3434
from django.core.cache import cache
3535
from django.template import loader
36-
from ietf.idtracker.models import IETFWG, Area
36+
from ietf.idtracker.models import Area
3737

3838
register = template.Library()
3939

@@ -42,23 +42,14 @@
4242
'rai':'RAI'
4343
}
4444

45-
def get_wgs():
46-
wgs = IETFWG.objects.filter(group_type__type='WG').filter(status__status='Active').select_related().order_by('acronym.acronym')
47-
areas = []
48-
for a in Area.objects.filter(status__status='Active').select_related().order_by('acronym.acronym'):
49-
wglist = []
50-
for w in wgs:
51-
if w.area.area == a:
52-
wglist.append(w)
53-
if len(wglist) > 0:
54-
if a.area_acronym.acronym in area_short_names:
55-
area_name = area_short_names[a.area_acronym.acronym]
56-
else:
57-
area_name = a.area_acronym.name
58-
if area_name.endswith(" Area"):
59-
area_name = area_name[:-5]
60-
areas.append({'areaAcronym':a.area_acronym.acronym, 'areaName':area_name, 'areaObj':a, 'wgs':wglist})
61-
return areas
45+
def get_short_name(area):
46+
if area.area_acronym.acronym in area_short_names:
47+
return area_short_names[area.area_acronym.acronym]
48+
else:
49+
area_name = area.area_acronym.name
50+
if area_name.endswith(" Area"):
51+
area_name = area_name[:-5]
52+
return area_name
6253

6354
class WgMenuNode(template.Node):
6455
def __init__(self):
@@ -67,7 +58,7 @@ def render(self, context):
6758
x = cache.get('idrfc_wgmenu')
6859
if x:
6960
return x
70-
areas = get_wgs()
61+
areas = [{'area':x, 'short_name':get_short_name(x)} for x in Area.active_areas()]
7162
x = loader.render_to_string('idrfc/base_wgmenu.html', {'areas':areas})
7263
cache.set('idrfc_wgmenu', x, 30*60)
7364
return x

ietf/idrfc/views_search.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
1+
# Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
22
# All rights reserved. Contact: Pasi Eronen <pasi.eronen@nokia.com>
33
#
44
# Redistribution and use in source and binary forms, with or without
@@ -50,7 +50,7 @@ class SearchForm(forms.Form):
5050
oldDrafts = forms.BooleanField(required=False,initial=False)
5151

5252
group = forms.CharField(required=False)
53-
area = forms.ModelChoiceField(Area.objects.filter(status=Area.ACTIVE), empty_label="any area", required=False)
53+
area = forms.ModelChoiceField(Area.active_areas(), empty_label="any area", required=False)
5454

5555
ad = forms.ChoiceField(choices=(), required=False)
5656
state = forms.ModelChoiceField(IDState.objects.all(), empty_label="any state", required=False)

ietf/idtracker/forms.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class IDSearch(forms.Form):
77
search_job_owner = forms.ChoiceField(choices=(), required=False)
88
search_group_acronym = forms.CharField(widget=forms.TextInput(attrs={'size': 7, 'maxlength': 10}), required=False)
99
search_status_id = forms.ModelChoiceField(IDStatus.objects.all(), empty_label="--All", required=False)
10-
search_area_acronym = forms.ModelChoiceField(Area.objects.filter(status=Area.ACTIVE), empty_label="--All/Any", required=False)
10+
search_area_acronym = forms.ModelChoiceField(Area.active_areas(), empty_label="--All/Any", required=False)
1111
search_cur_state = forms.ModelChoiceField(IDState.objects.all(), empty_label="--All/Any", required=False)
1212
sub_state_id = forms.ChoiceField(choices=(), required=False)
1313
search_filename = forms.CharField(widget=forms.TextInput(attrs={'size': 15, 'maxlength': 60}), required=False)

ietf/idtracker/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ def __str__(self):
8787
return self.area_acronym.acronym
8888
def active_wgs(self):
8989
return IETFWG.objects.filter(group_type=1,status=IETFWG.ACTIVE,areagroup__area=self).order_by('group_acronym__acronym')
90-
def active_area_choices():
91-
return [(area.area_acronym_id, area.area_acronym.acronym) for area in Area.objects.filter(status=1).select_related().order_by('acronym.acronym')]
92-
active_area_choices = staticmethod(active_area_choices)
90+
def active_areas():
91+
return Area.objects.filter(status=Area.ACTIVE).order_by('area_acronym__acronym')
92+
active_areas = staticmethod(active_areas)
9393
class Meta:
9494
db_table = 'areas'
9595
verbose_name="area"

ietf/templates/idrfc/base_wgmenu.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3333
{% endcomment %}
3434
{% for area in areas %}
35-
<li class="yuimenuitem"><a class="yuimenuitemlabel">{{area.areaName|escape }}</a><div id="wgs-{{area.areaAcronym}}" class="yuimenu"><div class="bd"><ul>{% for wg in area.wgs %}
36-
<li class="yuimenuitem"><a class="yuimenuitemlabel" href="http://tools.ietf.org/wg/{{wg.group_acronym}}/">{{wg.group_acronym}} &mdash; {{wg.group_acronym.name|escape}}</a></li>{% endfor %}
35+
{% if area.area.active_wgs %}
36+
<li class="yuimenuitem"><a class="yuimenuitemlabel">{{area.short_name }}</a><div id="wgs-{{area.area.area_acronym}}" class="yuimenu"><div class="bd"><ul>{% for wg in area.area.active_wgs %}
37+
<li class="yuimenuitem"><a class="yuimenuitemlabel" href="http://tools.ietf.org/wg/{{wg.group_acronym}}/">{{wg.group_acronym}} &mdash; {{wg.group_acronym.name}}</a></li>{% endfor %}
3738
</ul></div></div></li>
39+
{% endif %}
3840
{% endfor %}

ietf/wginfo/views.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,16 @@
3838
from django.http import HttpResponse
3939

4040
def wg_summary_acronym(request):
41-
areas = Area.objects.filter(status='1')
42-
wgs = IETFWG.objects.filter(status='1')
41+
areas = Area.active_areas()
42+
wgs = IETFWG.objects.filter(status=IETFWG.ACTIVE)
4343
return HttpResponse(loader.render_to_string('wginfo/summary-by-acronym.txt', {'area_list': areas, 'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
4444

4545
def wg_summary_area(request):
4646
wgs = IETFWG.objects.filter(status='1',start_date__isnull=False)
4747
return HttpResponse(loader.render_to_string('wginfo/summary-by-area.txt', {'wg_list': wgs}),mimetype='text/plain; charset=UTF-8')
4848

4949
def wg_dir(request):
50-
areas = Area.objects.filter(status__status='Active')
50+
areas = Area.active_areas()
5151
return render_to_response('wginfo/wg-dir.html', {'areas':areas}, RequestContext(request))
5252

5353
def collect_wg_info(acronym):

0 commit comments

Comments
 (0)