Пример #1
0
def new_comment(request, expense_pk):
    try:
        expense = models.Expense.objects.get(pk=int(expense_pk))
        if not may_view_expense(request, expense):
            return HttpResponseForbidden()

        if request.method == 'POST':
            if re.match('^\s*$', request.POST['content']):
                return HttpResponseRedirect(
                    reverse('expenses-expense', kwargs={'pk': expense_pk}))
            comment = models.Comment(expense=expense,
                                     author=request.user.profile,
                                     content=request.POST['content'])
            comment.save()
            return HttpResponseRedirect(
                reverse('expenses-expense', kwargs={'pk': expense_pk}))
        else:
            raise Http404()
    except ObjectDoesNotExist:
        raise Http404("Utlägget finns inte")
Пример #2
0
def new_comment(request, expense_pk):
    """
    Adds new comment to receipt.
    """
    try:
        expense = models.Expense.objects.get(pk=int(expense_pk))
    except ObjectDoesNotExist:
        raise Http404("Utlägget finns inte")

    if not request.user.profile.may_view_expense(expense):
        return HttpResponseForbidden()
    if re.match('^\s*$', request.POST['content']):
        return HttpResponseRedirect(
            reverse('expenses-show', kwargs={'pk': expense_pk}))

    models.Comment(expense=expense,
                   author=request.user.profile,
                   content=request.POST['content']).save()

    return HttpResponseRedirect(
        reverse('expenses-show', kwargs={'pk': expense_pk}))
Пример #3
0
def new_payment(request):
    """
    Performs a payment
    """
    try:
        expenses = [
            models.Expense.objects.get(id=int(expense_id))
            for expense_id in request.POST.getlist('expense')
        ]
    except ObjectDoesNotExist:
        raise Http404("Ett av utläggen finns inte.")

    expense_owner = expenses[0].owner
    for expense in expenses:
        if expense.owner != expense_owner:
            return HttpResponseBadRequest("Alla kvitton måste ha samma ägare")

    if expense_owner.bank_name == "" or expense_owner.bank_account == "" or expense_owner.sorting_number == "":
        return HttpResponseBadRequest(
            "Användaren har inte angett alla sina bankuppgifter")

    payment = models.Payment(
        payer=request.user.profile,
        receiver=expense_owner,
        account=models.BankAccount.objects.get(name=request.POST['account']))
    payment.save()

    for expense in expenses:
        expense.reimbursement = payment
        expense.save()

        models.Comment(author=request.user.profile,
                       expense=expense,
                       content="Betalade ut i betalning " +
                       str(payment.id)).save()

    return HttpResponseRedirect(
        reverse('expenses-action-pay') + "?payment=" + str(payment.id))