Beispiel #1
0
def mobile_add_discount(request, company_id):
    # edit an existing contact
    try:
        c = Company.objects.get(id=company_id)
    except Company.DoesNotExist:
        return JsonError(_("Company does not exist"))

    # check permissions: needs to be at least manager
    if not has_permission(request.user, c, 'discount', 'edit'):
        return JsonError(_("add discounts"))

    data = JsonParse(request.POST['data'])

    valid = validate_discount(data, request.user, c, android=True)

    if not valid.get('status'):
        return JsonError(valid['message'])

    form = valid['form']
    d = Discount(
                description=form.cleaned_data.get('description'),
                code=form.cleaned_data.get('code'),
                type=form.cleaned_data.get('type'),
                amount=form.cleaned_data.get('amount'),
                start_date=form.cleaned_data.get('start_date'),
                end_date=form.cleaned_data.get('end_date'),
                enabled=form.cleaned_data.get('enabled'),

                created_by=request.user,
                company=c
            )
    d.save()

    return JsonOk(extra=discount_to_dict(request.user, c, d, android=True))
Beispiel #2
0
def mobile_edit_discount(request, company_id):
    # edit an existing contact
    try:
        c = Company.objects.get(id=company_id)
    except Company.DoesNotExist:
        return JsonError(_("Company does not exist"))

    # check permissions: needs to be at least manager
    if not has_permission(request.user, c, 'discount', 'edit'):
        return JsonError(_("edit discounts"))

    data = JsonParse(request.POST['data'])

    try:
        d = Discount.objects.get(id=data['id'])
    except Discount.DoesNotExist:
        return JsonError(_("Discount does not exist"))

    # check if contact actually belongs to the given company
    if d.company != c:
        return JsonError(_("failed"))

    if request.method == 'POST':

        data = JsonParse(request.POST['data'])
        valid = validate_discount(data, request.user, c, android=True, discount=d)

        if not valid.get('status'):
            return JsonError(valid['message'])

        form = valid['form']
        # d = form.save(False)
        d.description = form.cleaned_data.get('description')
        d.code = form.cleaned_data.get('code')
        d.type = form.cleaned_data.get('type')
        d.amount = form.cleaned_data.get('amount')
        d.start_date = form.cleaned_data.get('start_date')
        d.end_date = form.cleaned_data.get('end_date')
        d.enabled = form.cleaned_data.get('enabled')
        d.save()
        # d.save()

        return JsonOk(extra=discount_to_dict(request.user, c, d, android=True))