Exemple #1
0
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  } ) 
Exemple #2
0
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})
Exemple #3
0
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"))
Exemple #4
0
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 }) 
Exemple #5
0
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})
Exemple #6
0
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 })
Exemple #7
0
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
    })
Exemple #8
0
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
    })
Exemple #9
0
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 })
Exemple #10
0
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 })
Exemple #11
0
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})
Exemple #12
0
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 })
Exemple #13
0
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})
Exemple #14
0
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
    })
Exemple #15
0
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})
Exemple #16
0
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
    })
Exemple #17
0
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})
Exemple #18
0
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})
Exemple #19
0
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})
Exemple #20
0
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
    })
Exemple #21
0
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);
Exemple #22
0
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)
Exemple #23
0
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
    })
Exemple #24
0
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})
Exemple #25
0
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
    })
Exemple #26
0
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 } ) 
Exemple #27
0
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"))
Exemple #28
0
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 } ) 
Exemple #29
0
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})
Exemple #30
0
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})
Exemple #31
0
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"))
Exemple #32
0
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  }) 
Exemple #33
0
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 })