示例#1
0
 def get(self, request):
     today = datetime.datetime.now().date()
     today_sales = SaleItem.objects.filter(sale__in=[s for s in Sale.objects.filter(
         sale_date__date=today)]).values_list('quantity', 'price')
     if today_sales:
         total_today_sales = sum(
             float(s[0]) * float(s[1]) for s in today_sales)
     else:
         total_today_sales = 0
     today_expenses = ExpenseDetail.objects.filter(expense__expense_date=today).aggregate(
         Sum("expense_amount"))["expense_amount__sum"]
     if today_expenses:
         today_total_expenses = today_expenses
     else:
         today_total_expenses = 0
     today_sale_list = Sale.objects.filter(
         sale_date__date=today).order_by("-created")
     today_expense_list = Expense.objects.filter(
         expense_date=today).order_by("created")
     from control.account_calculations import get_today_total_cash_amount,get_today_total_bank_amount,total_petty_account_amount,get_total_cash_on_hand
     context = {
         'title': "Home",
         'total_today_sales': total_today_sales,
         'today_total_expenses': today_total_expenses,
         'total_cash_collection': get_today_total_cash_amount(),
         'total_bank_collection': get_today_total_bank_amount(),
         'total_collection': get_today_total_cash_amount() + get_today_total_bank_amount(),
         'coh': get_total_cash_on_hand(),
         'sale_list': today_sale_list,
         'expense_list': today_expense_list,
         'petty_cash_account': total_petty_account_amount(),
     }
     return render(request, 'pages/home.html', context)
示例#2
0
 def clean(self):
     form_data = self.cleaned_data
     amount = form_data.get("expense_amount", None)
     account_id = form_data.get("payment_method", None)
     if amount:
         if not account_id == "Cash Collections":
             if total_account_amount(int(account_id)) < amount:
                 self._errors['payment_method'] = "Your balance is not enough! transfer or recharge"
         else:
             if get_today_total_cash_amount() < amount:
                 self._errors['payment_method'] = "Your balance is not enough! transfer or recharge"