diff options
Diffstat (limited to 'rpki/gui/app/views.py')
-rw-r--r-- | rpki/gui/app/views.py | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/rpki/gui/app/views.py b/rpki/gui/app/views.py index 86ec30d7..a9c038f5 100644 --- a/rpki/gui/app/views.py +++ b/rpki/gui/app/views.py @@ -596,7 +596,7 @@ def roa_create(request): conf = get_conf(request.user, request.session['handle']) if request.method == 'POST': - form = forms.ROARequest(request.POST, request.FILES, conf=conf) + form = forms.ROARequestFormFactory(conf)(request.POST, request.FILES) if form.is_valid(): asn = form.cleaned_data.get('asn') rng = form._as_resource_range() # FIXME calling "private" method @@ -620,26 +620,11 @@ def roa_create(request): for s in ('asn', 'prefix'): if s in request.GET: d[s] = request.GET[s] - form = forms.ROARequest(initial=d) + form = forms.ROARequestFormFactory(conf)(initial=d) return render(request, 'app/roarequest_form.html', {'form': form}) -class ROARequestFormSet(BaseFormSet): - """There is no way to pass arbitrary keyword arguments to the form - constructor, so we have to override BaseFormSet to allow it. - - """ - def __init__(self, *args, **kwargs): - self.conf = kwargs.pop('conf') - super(ROARequestFormSet, self).__init__(*args, **kwargs) - - def _construct_forms(self): - self.forms = [] - for i in xrange(self.total_form_count()): - self.forms.append(self._construct_form(i, conf=self.conf)) - - def split_with_default(s): xs = s.split(',') if len(xs) == 1: @@ -681,11 +666,9 @@ def roa_create_multi(request): v = [] rng.chop_into_prefixes(v) init.extend([{'asn': asn, 'prefix': str(p)} for p in v]) - formset = formset_factory(forms.ROARequest, formset=ROARequestFormSet, - can_delete=True)(initial=init, conf=conf) + formset = formset_factory(forms.ROARequestFormFactory(conf), can_delete=True)(initial=init) elif request.method == 'POST': - formset = formset_factory(forms.ROARequest, formset=ROARequestFormSet, - extra=0, can_delete=True)(request.POST, request.FILES, conf=conf) + formset = formset_factory(forms.ROARequestFormFactory(conf), extra=0, can_delete=True)(request.POST, request.FILES) if formset.is_valid(): routes = [] v = [] |