def post(self, request, *args, **kwargs): self.partner = Partners.objects.get(pk=self.kwargs["pk"]) if request.method == "POST": self.form = PartnerForm(request.POST, instance=self.partner) if self.form.is_valid(): self.form.save() self.formset2detail = PartnerDetailsFormset( request.POST, instance=self.partner) self.formset2desc = PartnerDescriptionFormset( request.POST, instance=self.partner) messages.add_message(request, messages.SUCCESS, "Обновление данных произведено. ") if self.formset2detail.is_valid(): if self.formset2desc.is_valid(): self.formset2desc.save() self.formset2detail.save() messages.add_message(request, messages.SUCCESS, "Контрагент успешно изменен. ") return redirect( reverse("partners_detail", kwargs={"pk": self.partner.pk})) else: messages.add_message( request, messages.ERROR, "ОШИБКА при заполнении реквизитов! Проверьте заполнение обязательных полей. " ) else: messages.add_message( request, messages.ERROR, "ВНИМАНИЕ: Необходимо заполнить все обязательные параметры! " ) return super(PartnerUpdate, self).get(request, *args, **kwargs)
def post(self, request): form = PartnerForm(request.POST, instance=self.partner) if form.is_valid(): form.save() messages.add_message(request, messages.SUCCESS, "The partner has been successfully edited.") return HttpResponseRedirect(self.next) return render(request=request, template_name="partners/edit.html", context={"form": form})
def post(self, request): form = PartnerForm(request.POST) if form.is_valid(): partner = form.save(commit=False) partner.partner_id = generate_id(form.cleaned_data["company"]) partner.save() messages.add_message(request, messages.SUCCESS, "The partner has been successfully created.") return HttpResponseRedirect(self.next) return render(request=request, template_name="partners/create.html", context={"form": form})
def create_partner(request): if request.method == 'GET': form = PartnerForm() return render_to_response('partner.html', {'form': form}, context_instance=RequestContext(request)) if request.method == 'POST': form = PartnerForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect(reverse_lazy('partners:home')) return render_to_response('partner.html', {'form': form}, context_instance=RequestContext(request))
class PartnerCreate(TemplateView): model = Partners template_name = "partner_add.html" form = None formset2detail = None formset2desc = None def get(self, request, *args, **kwargs): self.form = PartnerForm() self.formset2detail = PartnerDetailsFormset() self.formset2desc = PartnerDescriptionFormset() return super(PartnerCreate, self).get(request, *args, **kwargs) def get_context_data(self, **kwargs): context = super(PartnerCreate, self).get_context_data(**kwargs) context['form'] = self.form context['formset2detail'] = self.formset2detail context['formset2desc'] = self.formset2desc return context def post(self, request, *args, **kwargs): self.form = PartnerForm(request.POST) if request.method == "POST": if self.form.is_valid(): new_partner = self.form.save() self.formset2detail = PartnerDetailsFormset( request.POST, instance=new_partner) self.formset2desc = PartnerDescriptionFormset( request.POST, instance=new_partner) if self.formset2detail.is_valid(): if self.formset2desc.is_valid(): self.formset2desc.save() self.formset2detail.save() messages.add_message(request, messages.SUCCESS, "Контрагент успешно добавлен. ") return redirect("/partners/index/", *args, **kwargs) else: messages.add_message( request, messages.ERROR, "ОШИБКА при заполнении данных! Проверьте заполнение полей. " ) self.formset2detail = PartnerDetailsFormset(request.POST) self.formset2desc = PartnerDescriptionFormset(request.POST) return super(PartnerCreate, self).get(request, *args, **kwargs)
def add_invoice(request): """Add invoice""" if request.method == 'POST': # check if it's new partner or already existing try: partner_id = int(request.POST['partner_id']) partner = Partner.objects.get(pk=partner_id) partner_form = PartnerForm(request.POST, instance=partner) except ValueError: partner_form = PartnerForm(request.POST) invoice_form = InvoiceForm(request.POST) article_formset = ArticleFormSet(request.POST) if article_formset.is_valid() and\ invoice_form.is_valid() and\ partner_form.is_valid(): # save new/changed partner instance partner_instance = partner_form.save() # get all articles from invoice and save them as JSON string in # article field in Invoice model articles = [] for form in article_formset: articles.append( {'amount gross': str(form.cleaned_data['amount_gross']), 'article_type': form.cleaned_data['article_type'], 'destination': form.cleaned_data['destination']} ) articles_json = json.dumps(articles) # create invoice instance with POST partner and articles invoice_instance = invoice_form.save(commit=False) invoice_instance.company = partner_instance invoice_instance.article = articles_json invoice_instance.save() return redirect('invoices-app:all-url') else: article_formset = ArticleFormSet() invoice_form = InvoiceForm() partner_form = PartnerForm() # create partners list for page js searching purpose partners_list = Partner.objects.order_by('company_name')\ .values('id', 'company_name') ctx = {'partners_list': partners_list, 'partner_form': partner_form, 'article_form_set': article_formset, 'invoice_form': invoice_form} return render(request, 'invoices/add_invoice.html', ctx)
def post(self, request, *args, **kwargs): self.form = PartnerForm(request.POST) if request.method == "POST": if self.form.is_valid(): new_partner = self.form.save() self.formset2detail = PartnerDetailsFormset( request.POST, instance=new_partner) self.formset2desc = PartnerDescriptionFormset( request.POST, instance=new_partner) if self.formset2detail.is_valid(): if self.formset2desc.is_valid(): self.formset2desc.save() self.formset2detail.save() messages.add_message(request, messages.SUCCESS, "Контрагент успешно добавлен. ") return redirect("/partners/index/", *args, **kwargs) else: messages.add_message( request, messages.ERROR, "ОШИБКА при заполнении данных! Проверьте заполнение полей. " ) self.formset2detail = PartnerDetailsFormset(request.POST) self.formset2desc = PartnerDescriptionFormset(request.POST) return super(PartnerCreate, self).get(request, *args, **kwargs)
def get(self, request): form = PartnerForm(instance=self.partner) return render(request=request, template_name="partners/edit.html", context={"form": form})
def get(self, request): form = PartnerForm() return render(request=request, template_name="partners/create.html", context={"form": form})
def get(self, request, *args, **kwargs): self.form = PartnerForm() self.formset2detail = PartnerDetailsFormset() self.formset2desc = PartnerDescriptionFormset() return super(PartnerCreate, self).get(request, *args, **kwargs)
def get(self, request, *args, **kwargs): self.partner = Partners.objects.get(pk=self.kwargs["pk"]) self.form = PartnerForm(instance=self.partner) self.formset2detail = PartnerDetailsFormset(instance=self.partner) self.formset2desc = PartnerDescriptionFormset(instance=self.partner) return super(PartnerUpdate, self).get(request, *args, **kwargs)