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())
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)
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 })
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=") })
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=") })
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)
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)
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')