def delete(request , id): if(request.POST): expense = Expense.objects.get(pk=id , user = UserUtil.get_current_user()) expense.delete() return HttpResponseRedirect( "{}?month={}&year={}".format( reverse("search_expenses"), expense.month , expense.year ) ) else: form = ExpenseForm(instance = Expense.objects.get(pk=id , user = UserUtil.get_current_user())) return render(request ,"expenses/delete.html" , { "form" : form } )
def delete(request, id): if (request.POST): expense = Expense.objects.get(pk=id, user=UserUtil.get_current_user()) expense.delete() return HttpResponseRedirect("{}?month={}&year={}".format( reverse("search_expenses"), expense.month, expense.year)) else: form = ExpenseForm(instance=Expense.objects.get( pk=id, user=UserUtil.get_current_user())) return render(request, "expenses/delete.html", {"form": form})
class Profit(models.Model): value = models.DecimalField(decimal_places=2, max_digits=20, blank=False) date = models.DateField(blank=False) month = models.IntegerField(blank=False) year = models.IntegerField(blank=False) user = models.ForeignKey(User, blank=False) type = models.ForeignKey( ProfitType, blank=False, limit_choices_to={"user": UserUtil.get_current_user()}) father_profit = models.ForeignKey('self', related_name="related_profits", blank=True, null=True) def __str__(self): return "Profit[id={},value={},date={},month={},year={},user={}".format( self.id, self.value, self.date, self.month, self.year, self.user) @staticmethod def total_for(user, month=datetime.date.today().month, year=datetime.date.today().year): return Profit.objects.filter(user=user, month=month, year=year).aggregate(Sum("value"))
def search(request): form = SearchExpensesForm(request.GET ) user = UserUtil.get_current_user() expenses = [] if( form.is_valid ): expenses = Expense.objects.filter(user=user, year = form.data['year'] , month = form.data['month']) return render(request ,"expenses/index.html" , { "expenses": expenses , "form" : form })
def types_delete(request, id): instance = ProfitType.objects.get(pk=id, user=UserUtil.get_current_user()) if request.POST: instance.delete() messages.success(request, "Record deleted with success") return redirect("profit_types") form = ProfitTypeForm(instance=instance) return render(request, "profit_types/delete.html", {"form": form})
def search(request): form = ExpenseTypeSearchForm(request.GET or None) expense_types = () if form.is_valid(): expense_types = ExpenseType.objects.filter(name__icontains=form.cleaned_data['name'], user = UserUtil.get_current_user() ) return render(request , "expense_types/index.html", { "form" : form , "expense_types" : expense_types })
def index(request): form = ExpenseTypeSearchForm() expense_types = ExpenseType.objects.filter( user=UserUtil.get_current_user()) return render(request, 'expense_types/index.html', { "form": form, "expense_types": expense_types })
def types_index(request): user = UserUtil.get_current_user() form = SearchProfitTypesForm() profit_types = ProfitType.objects.filter(user=user) return render(request, "profit_types/index.html", { "form": form, "profit_types": profit_types })
def edit(request , id): expense_type = ExpenseType.objects.get(pk=id , user = UserUtil.get_current_user() ) form = ExpenseTypeForm(request.POST or None , instance = expense_type ) form.fields['father_expense_type'].queryset = ExpenseType.objects.filter( father_expense_type = None ) if form.is_valid(): form.save() return redirect("expense_types") return render(request , 'expense_types/form.html' , {"form" : form })
def delete(request , id): expense_type = ExpenseType.objects.get(pk=id , user = UserUtil.get_current_user() ) if request.POST: expense_type.delete() return redirect("expense_types") else: form = ExpenseTypeForm( instance=expense_type ) return render(request , "expense_types/delete.html", { "form" : form })
def delete(request, id): profit = Profit.objects.get(pk=id, user=UserUtil.get_current_user()) if request.POST: profit.delete() messages.success(request, "Record deleted with success") return HttpResponseRedirect("{}?month={}&year={}".format( reverse("search_profits"), profit.month, profit.year)) form = ProfitForm(None, instance=profit) return render(request, "profits/delete.html", {"form": form})
def form(request): form = ExpenseTypeForm(request.POST or None) form.fields['father_expense_type'].queryset = ExpenseType.objects.filter( father_expense_type = None ) if form.is_valid(): expense_type = form.save(commit=False) expense_type.user = UserUtil.get_current_user() expense_type.save() return redirect("expense_types") return render(request , 'expense_types/form.html' , {"form" : form })
def delete(request, id): expense_type = ExpenseType.objects.get(pk=id, user=UserUtil.get_current_user()) if request.POST: expense_type.delete() return redirect("expense_types") else: form = ExpenseTypeForm(instance=expense_type) return render(request, "expense_types/delete.html", {"form": form})
def index(request): form = SearchExpensesForm() user = UserUtil.get_current_user() expenses = Expense.objects.filter(user=user, year=date.today().year, month=date.today().month) return render(request, "expenses/index.html", { "expenses": expenses, "form": form })
def edit(request, id): expense_type = ExpenseType.objects.get(pk=id, user=UserUtil.get_current_user()) form = ExpenseTypeForm(request.POST or None, instance=expense_type) form.fields['father_expense_type'].queryset = ExpenseType.objects.filter( father_expense_type=None) if form.is_valid(): form.save() return redirect("expense_types") return render(request, 'expense_types/form.html', {"form": form})
def index(request): user = UserUtil.get_current_user() form = SearchProfitsForm() profits = Profit.objects.filter(user=user, year=date.today().year, month=date.today().month) return render(request, "profits/index.html", { "profits": profits, "form": form })
def form(request): form = ExpenseTypeForm(request.POST or None) form.fields['father_expense_type'].queryset = ExpenseType.objects.filter( father_expense_type=None) if form.is_valid(): expense_type = form.save(commit=False) expense_type.user = UserUtil.get_current_user() expense_type.save() return redirect("expense_types") return render(request, 'expense_types/form.html', {"form": form})
def types_edit(request, id): instance = ProfitType.objects.get(pk=id, user=UserUtil.get_current_user()) form = ProfitTypeForm(request.POST or None, instance=instance) if form.is_valid(): profit_type = form.save(commit=False) profit_type.save() messages.success(request, "Record updated with success") return redirect("profit_types") return render(request, "profit_types/form.html", {"form": form})
def types_new(request): form = ProfitTypeForm(request.POST or None) if form.is_valid(): profit_type = form.save(commit=False) profit_type.user = UserUtil.get_current_user() profit_type.save() messages.success(request, "Record created with success") return redirect("profit_types") return render(request, "profit_types/form.html", {"form": form})
def search(request): form = ExpenseTypeSearchForm(request.GET or None) expense_types = () if form.is_valid(): expense_types = ExpenseType.objects.filter( name__icontains=form.cleaned_data['name'], user=UserUtil.get_current_user()) return render(request, "expense_types/index.html", { "form": form, "expense_types": expense_types })
def subtypes(request , id ): types = ExpenseType.objects.filter(father_expense_type=id, user = UserUtil.get_current_user() ) data = [] for i in types: data.append({ "pk" : i.pk, "name" : i.name, }) print( data ) return JsonResponse(data , safe=False);
def subtypes(request, id): types = ExpenseType.objects.filter(father_expense_type=id, user=UserUtil.get_current_user()) data = [] for i in types: data.append({ "pk": i.pk, "name": i.name, }) print(data) return JsonResponse(data, safe=False)
def search(request): user = UserUtil.get_current_user() form = SearchProfitsForm(request.GET or None) profits = [] if form.is_valid(): profits = Profit.objects.filter(user=user, year=form.data['year'], month=form.data['month']) return render(request, "profits/index.html", { "form": form, "profits": profits })
def new(request): form = ProfitForm(request.POST or None) if form.is_valid(): profit = form.save(commit=False) profit.user = UserUtil.get_current_user() profit.month = profit.date.month profit.year = profit.date.year profit.save() messages.success(request, "Record created with success") return HttpResponseRedirect("{}?month={}&year={}".format( reverse("search_profits"), profit.month, profit.year)) return render(request, "profits/form.html", {"form": form})
def search(request): form = SearchExpensesForm(request.GET) user = UserUtil.get_current_user() expenses = [] if (form.is_valid): expenses = Expense.objects.filter(user=user, year=form.data['year'], month=form.data['month']) return render(request, "expenses/index.html", { "expenses": expenses, "form": form })
def new(request): form = ExpenseForm(request.POST or None , initial = { 'year' : date.today().year , 'month' : date.today().month }) type_id = 0 if( request.POST ): type_id = int( request.POST.get('type') or 0 ) form.fields['subtype'].queryset = ExpenseType.objects.filter( father_expense_type = type_id ) if(form.is_valid()): expense = form.save(commit=False) expense.user = UserUtil.get_current_user() expense.year = expense.date_expense.year expense.month = expense.date_expense.month expense.save() return HttpResponseRedirect( "{}?month={}&year={}".format( reverse("search_expenses"), expense.month , expense.year ) ) return render(request ,"expenses/form.html" , { "form" : form } )
class Expense(models.Model): year = models.IntegerField( blank = False ) month = models.IntegerField( blank = False ) date_expense = models.DateField( blank = False ) value = models.DecimalField(max_digits = 20, decimal_places = 2, blank = False ) type = models.ForeignKey( ExpenseType , blank = False , limit_choices_to={ 'user' : UserUtil.get_current_user() }) user = models.ForeignKey(User) @staticmethod def total_for(user, month=date.today().month , year=date.today().year ): return Expense.objects.filter(user=user,year=year,month=month).aggregate(Sum("value"))
def edit(request , id): user = UserUtil.get_current_user() obj = Expense.objects.get(pk=id, user = user ) form = ExpenseForm(request.POST or None, instance = obj ) type_id = obj.type.pk if( request.POST ): type_id = int( request.POST.get('type') or 0 ) form.fields['subtype'].queryset = ExpenseType.objects.filter( father_expense_type = type_id ) if form.is_valid(): expense = form.save(commit=False) expense.year = expense.date_expense.year expense.month = expense.date_expense.month form.save() return HttpResponseRedirect( "{}?month={}&year={}".format( reverse("search_expenses"), expense.month , expense.year ) ) return render(request ,"expenses/form.html" , { "form" : form } )
def edit(request, id): user = UserUtil.get_current_user() obj = Expense.objects.get(pk=id, user=user) form = ExpenseForm(request.POST or None, instance=obj) type_id = obj.type.pk if (request.POST): type_id = int(request.POST.get('type') or 0) form.fields['subtype'].queryset = ExpenseType.objects.filter( father_expense_type=type_id) if form.is_valid(): expense = form.save(commit=False) expense.year = expense.date_expense.year expense.month = expense.date_expense.month form.save() return HttpResponseRedirect("{}?month={}&year={}".format( reverse("search_expenses"), expense.month, expense.year)) return render(request, "expenses/form.html", {"form": form})
def new(request): form = ExpenseForm(request.POST or None, initial={ 'year': date.today().year, 'month': date.today().month }) type_id = 0 if (request.POST): type_id = int(request.POST.get('type') or 0) form.fields['subtype'].queryset = ExpenseType.objects.filter( father_expense_type=type_id) if (form.is_valid()): expense = form.save(commit=False) expense.user = UserUtil.get_current_user() expense.year = expense.date_expense.year expense.month = expense.date_expense.month expense.save() return HttpResponseRedirect("{}?month={}&year={}".format( reverse("search_expenses"), expense.month, expense.year)) return render(request, "expenses/form.html", {"form": form})
class Expense(models.Model): year = models.IntegerField(blank=False) month = models.IntegerField(blank=False) date_expense = models.DateField(blank=False) value = models.DecimalField(max_digits=20, decimal_places=2, blank=False) description = models.TextField(blank=True, null=True, max_length=200) type = models.ForeignKey(ExpenseType, blank=False, related_name="expense", limit_choices_to={ 'user': UserUtil.get_current_user(), 'father_expense_type': None }) subtype = models.ForeignKey(ExpenseType, blank=True, null=True, related_name="expense_subtypes") user = models.ForeignKey(User) @staticmethod def total_for(user, month=date.today().month, year=date.today().year): return Expense.objects.filter(user=user, year=year, month=month).aggregate(Sum("value"))
def index(request): form = SearchExpensesForm() user = UserUtil.get_current_user() expenses = Expense.objects.filter(user=user , year = date.today().year , month = date.today().month ) return render(request ,"expenses/index.html" , { "expenses": expenses, "form" : form })
def index(request): form = ExpenseTypeSearchForm() expense_types = ExpenseType.objects.filter(user=UserUtil.get_current_user()) return render(request , 'expense_types/index.html' , { "form" : form, "expense_types" : expense_types })