Esempio n. 1
0
def form(request, id=False):
    if id:
        instance = Customer.objects.all().get(id=id)
        msg = _("Successfully edited customer")
        title = _("Edit customer")
        cid = instance.cid
    else:
        instance = Customer()
        msg = _("Successfully added new customer")
        title = _("New custmer")
        cid = Customer.calculate_next_cid()

    #Save and set to active, require valid form
    if request.method == 'POST':
        form = CustomerForm(request.POST, instance=instance)
        if form.is_valid():
            o = form.save(commit=False)
            o.owner = request.user
            o.save()

            request.message_success(msg)

            return redirect(view, o.id)
    else:
        form = CustomerForm(instance=instance, initial={'cid': cid})

    return render(request, "customers/form.html", {
        'title': title,
        'customer': instance,
        'form': form
    })
Esempio n. 2
0
 def create(self, request):
     instance = Customer()
     form = CustomerForm(request.POST, instance=instance)
     if form.is_valid():
         customer = form.save(commit=False)
         customer.owner = request.user
         form.save()
         form.save_m2m()
         return customer
     else:
         return form.errors
Esempio n. 3
0
    def update(self, request, id):
        try:
            customer = Core.current_user().get_permitted_objects("EDIT", Customer).filter(trashed=False).get(id=id)
        except Customer.DoesNotExist:
            return rc.NOT_FOUND

        form = CustomerForm(request.PUT, instance=customer)
        if form.is_valid():
            form.save()
            return customer
        else:
            return form.errors
Esempio n. 4
0
def view(request, id):
    customer = Core.current_user().get_permitted_objects("VIEW",
                                                         Customer).get(id=id)

    comments = comment_block(request, customer)
    form = CustomerForm(instance=customer, initial={'cid': customer.cid})

    return render(
        request, 'customers/view.html', {
            'title': _('Customer: ') + customer.name,
            'comments': comments,
            'customer': customer,
            'form': form
        })