Exemplo n.º 1
0
 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})
Exemplo n.º 2
0
 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})
Exemplo n.º 3
0
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))
Exemplo n.º 4
0
class PartnerUpdate(TemplateView):
    model = Partners
    template_name = "partner_edit.html"

    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)

    def get_context_data(self, **kwargs):
        context = super(PartnerUpdate, self).get_context_data(**kwargs)
        context["partner"] = self.partner
        context["form"] = self.form
        context["formset2detail"] = self.formset2detail
        context["formset2desc"] = self.formset2desc
        return context

    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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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))
Exemplo n.º 7
0
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)