def post(self, *args, **kwargs): self.parse_args() self.form = PricingGroupForm( self.date, self.request.POST, self.request.FILES, ) if self.form.is_valid(): self.form.save(commit=False) self.form.instance.date = datetime.date(self.year, self.month, 1) self.form.instance.save() if self.form.cleaned_data['clone']: sources = PricingGroup.objects.filter( name=self.form.instance.name, date__lt=self.form.instance.date, ).order_by('-date')[:1] if sources.exists(): self.form.instance.clone_contents(sources[0]) elif self.form.cleaned_data['upload']: self.import_csv( self.form.instance, self.request.FILES['upload'] ) messages.success( self.request, "Group %s saved." % self.form.instance.name ) return HttpResponseRedirect(self.request.path) messages.error(self.request, "Errors in the form.") return self.get(*args, **kwargs)
def get_context_data(self, **kwargs): ret = super(CatalogPricingNew, self).get_context_data(**kwargs) self.parse_args() if self.form is None: self.form = PricingGroupForm(self.date) ret.update({ 'form': self.form, 'group_name': '', }) return ret