Beispiel #1
0
def determine_share(request, partner, case):
    coming_url = request.META.get("HTTP_REFERER")
    partner = hlp.get_or_none(Partner, slug=partner)
    case = hlp.get_or_none(Case, slug=case)
    if request.method == "POST":
        form = ShareForm(request.POST,
                         initial={
                             'partner': partner,
                             'case': case,
                         })
        if form.is_valid():
            form.save()
            messages.success(request, custom_messages.CREATE_SUCCESS)
            return redirect(coming_url)
        else:
            error = form.errors['__all__'].as_data()
            for e in error:
                messages.error(request, e.message)

    else:
        form = ShareForm(initial={
            'partner': partner,
            'case': case,
        })
    return render(request, 'case/new_share.html', locals())
Beispiel #2
0
def view_partner(request, slug):
    partner = hlp.get_or_none(Partner, slug=slug)
    case_list = partner.cases.all()
    transactions = []
    for case in partner.cases.all():
        for trans in case.transactions.all():
            transactions.append(trans)
Beispiel #3
0
def update(request, slug):
    instance = hlp.get_or_none(Other, slug=slug)
    if request.method == "POST":
        form = OtherForm(request.POST, instance=instance)
        if form.is_valid():
            form.save()
            messages.success(request, custom_messages.UPDATE_SUCCESS)
            return redirect("/other/%s/view_other" % instance.id)
        else:
            messages.error(request, custom_messages.UPDATE_ERROR)
            for field in form.errors:
                form[field].field.widget.attrs['class'] += ' is-invalid'
    else:
        form = OtherForm(instance=instance)
    return render(request, 'other/new.html', {
        "form": form,
        "instance": instance
    })
Beispiel #4
0
def view_employee(request, slug):
    employee = hlp.get_or_none(Employee, slug=slug)
    transactions = employee.transactions.all().order_by('-date')
    paginator = Paginator(transactions, 10)
    page = request.GET.get('page')
    try:
        response = paginator.page(page)
    except PageNotAnInteger:
        response = paginator.page(1)
    except EmptyPage:
        response = paginator.page(paginator.num_pages)

    return render(
        request, 'office/view_employee.html', {
            "results":
            response,
            "employee":
            employee,
            "next_page_params":
            "&" + request.GET.urlencode().replace("page=", "empty_param=")
        })
Beispiel #5
0
def view_other(request, id=1):
    other = hlp.get_or_none(Other, id=id)
    transactions = []
    for expense in other.expenses.all():
        for trans in expense.transactions.all():
            transactions.append(trans)
    paginator = Paginator(transactions, 10)
    page = request.GET.get('page')
    try:
        response = paginator.page(page)
    except PageNotAnInteger:
        response = paginator.page(1)
    except EmptyPage:
        response = paginator.page(paginator.num_pages)

    return render(
        request, 'other/view_other.html', {
            "results":
            response,
            "other":
            other,
            "next_page_params":
            "&" + request.GET.urlencode().replace("page=", "empty_param=")
        })
Beispiel #6
0
def view_client(request, slug):
    client = hlp.get_or_none(Client, slug=slug)
    transactions = []
    for case in client.cases.all():
        for trans in case.transactions.all():
            transactions.append(trans)
Beispiel #7
0
from django.shortcuts import render, redirect
from .forms import *
from django.contrib import messages
import core.custom_messages as custom_messages
import core.helper as hlp
from django.http import JsonResponse
from .filters import *
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from expense.models import Expense
from django.contrib.auth.decorators import login_required
# Create your views here.


@login_required
def view_case(request, slug):
    case = hlp.get_or_none(Case, slug=slug)
    # from faker import Faker
    # from transactions.models import Transaction
    # fake = Faker()
    # for i in range(11):
    #     trans = Transaction()
    #     trans.expense = Expense.objects.get(id=1)
    #     trans.case = case
    #     trans.amount = 350
    #     trans.save()
    partnership_list = Partnership.objects.filter(case=case)
    transactions = case.transactions.all().order_by('-date')
    paginator = Paginator(transactions, 10)
    page = request.GET.get('page')
    try:
        response = paginator.page(page)
Beispiel #8
0
def login_activation(request):
    user = hlp.get_or_none(User,guid=request.GET['key'])
    user.make_active()
    messages.success(request, custom_messages.ACTIVISED_SUCCESS)
    return redirect('login')