Example #1
0
    def __call__(self, request, *args, **kwargs):
        whitelist = self.obj_from_request(request, *args, **kwargs)
        strategy = WhitelistMiddleware().get_strategy()
        current_ip = strategy.get_ip_from_request(request)

        form_args = (current_ip, whitelist)
        form_kwargs = {}
        if hasattr(self, 'range_form_class'):
            form_kwargs = {'range_form_class': self.range_form_class}

        if request.method == 'POST':
            form_args += (request.POST,) 
        form = self.form_class(*form_args, **form_kwargs)
        if form.is_valid():
            self.save_form(request, form, *args, **kwargs)
            return HttpResponseRedirect('.')

        return self.respond(request, form, whitelist, *args, **kwargs)