Skip to content

Commit a649c85

Browse files
author
Michael Lee
committed
* Remove LooseModelChoiceField
* Use ModelChoiceField * use empty_label='none' - Legacy-Id: 957
1 parent 83df6e2 commit a649c85

2 files changed

Lines changed: 9 additions & 39 deletions

File tree

ietf/mailinglists/forms.py

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -223,34 +223,4 @@ def clean(self, value):
223223
class ApprovalComment(forms.Form):
224224
add_comment = forms.CharField(label="Approver's comments to the requestor (will be emailed to the requestor)", widget=forms.Textarea(attrs={'cols':41, 'rows': 4}))
225225

226-
class LooseModelChoiceField (ModelChoiceField) :
227-
def __init__(self, queryset, empty_label=u"---------", cache_choices=False,
228-
required=True, widget=forms.Select, label=None, initial=None,
229-
help_text=None):
230-
231-
super(LooseModelChoiceField, self).__init__(queryset, empty_label, cache_choices, required, widget, label, initial, help_text)
232-
233-
def _get_choices(self):
234-
return [i for i in super(LooseModelChoiceField, self)._get_choices()] + [("none", "none", )]
235-
236-
def _set_choices (self, value) :
237-
return super(LooseModelChoiceField, self)._set_choices(value)
238-
239-
choices = property(_get_choices, _set_choices)
240-
241-
def clean(self, value):
242-
Field.clean(self, value)
243-
if value in ('', None):
244-
return None
245-
246-
if value == "none" :
247-
return value
248-
249-
try:
250-
value = self.queryset.model._default_manager.get(pk=value)
251-
except self.queryset.model.DoesNotExist:
252-
raise ValidationError(gettext(u'Select a valid choice. That choice is not one of the available choices.'))
253-
return value
254-
255-
256226

ietf/mailinglists/views.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Copyright The IETF Trust 2007, All Rights Reserved
22

3-
from forms import NonWgStep1, ListReqStep1, PickApprover, DeletionPickApprover, UrlMultiWidget, Preview, ListReqAuthorized, ListReqClose, MultiEmailField, AdminRequestor, ApprovalComment, ListApprover, LooseModelChoiceField
3+
from forms import NonWgStep1, ListReqStep1, PickApprover, DeletionPickApprover, UrlMultiWidget, Preview, ListReqAuthorized, ListReqClose, MultiEmailField, AdminRequestor, ApprovalComment, ListApprover
44
from models import NonWgMailingList, MailingList, Domain
55
from ietf.idtracker.models import Area, PersonOrOrgInfo, AreaDirector, WGChair, Role
66
from django import newforms as forms
@@ -13,10 +13,10 @@
1313
from datetime import datetime
1414

1515
def get_approvers_from_area (area_id) :
16-
if area_id == "none" :
17-
return [ad.person_id for ad in Role.objects.filter(role_name__in=("IETF", "IAB", ))]
18-
else :
19-
return [ad.person_id for ad in Area.objects.get(area_acronym=area_id).areadirector_set.all()]
16+
if not area_id :
17+
return [ad.person_id for ad in Role.objects.filter(role_name__in=("IETF", "IAB", ))]
18+
else :
19+
return [ad.person_id for ad in Area.objects.get(area_acronym=area_id).areadirector_set.all()]
2020

2121
def formchoice(form, field):
2222
if not(form.is_valid()):
@@ -105,19 +105,19 @@ def process_step(self, request, form, step):
105105
if step == 0:
106106
self.clean_forms = [ form ]
107107
if form.clean_data['add_edit'] == 'add':
108-
nonwg_fields["area"] = LooseModelChoiceField(Area.objects.filter(status=1))
108+
nonwg_fields["area"] = forms.ModelChoiceField(Area.objects.filter(status=1), required=False, empty_label='none')
109109
nonwg_callback = form_decorator(fields=nonwg_fields, widgets=nonwg_widgets, attrs=nonwg_attrs, querysets=nonwg_querysets)
110110

111111
self.form_list.append(forms.form_for_model(NonWgMailingList, formfield_callback=nonwg_callback))
112112
elif form.clean_data['add_edit'] == 'edit':
113113
list = NonWgMailingList.objects.get(pk=form.clean_data['list_id'])
114-
nonwg_fields["area"] = LooseModelChoiceField(Area.objects.filter(status=1), initial=list.area_id is None and "none" or list.area_id)
114+
nonwg_fields["area"] = forms.ModelChoiceField(Area.objects.filter(status=1), required=False, empty_label='none',initial=list.area_id is None or list.area_id)
115115
nonwg_callback = form_decorator(fields=nonwg_fields, widgets=nonwg_widgets, attrs=nonwg_attrs, querysets=nonwg_querysets)
116116

117117
self.form_list.append(forms.form_for_instance(list, formfield_callback=nonwg_callback))
118118
elif form.clean_data['add_edit'] == 'delete':
119119
list = NonWgMailingList.objects.get(pk=form.clean_data['list_id_delete'])
120-
self.form_list.append(gen_approval(get_approvers_from_area(list.area is None and "none" or list.area_id), DeletionPickApprover))
120+
self.form_list.append(gen_approval(get_approvers_from_area(list.area is None or list.area_id), DeletionPickApprover))
121121
self.form_list.append(Preview)
122122
else:
123123
self.clean_forms.append(form)
@@ -135,7 +135,7 @@ def done(self, request, form_list):
135135
if add_edit == 'add' or add_edit == 'edit':
136136
template = 'mailinglists/nwg_addedit_email.txt'
137137
approver = self.clean_forms[2].clean_data['approver']
138-
if self.clean_forms[1].clean_data["area"] == "none" :
138+
if not self.clean_forms[1].clean_data["area"] :
139139
self.clean_forms[1].clean_data["area"] = None
140140

141141
list = NonWgMailingList(**self.clean_forms[1].clean_data)

0 commit comments

Comments
 (0)