56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
|
from django.contrib.auth.mixins import PermissionRequiredMixin
|
||
|
from django.urls import reverse_lazy
|
||
|
from django.views.generic import DetailView, ListView
|
||
|
from django.views.generic.edit import CreateView, DeleteView, UpdateView
|
||
|
|
||
|
from .models import BudgetGroup, BudgetLine
|
||
|
|
||
|
|
||
|
class BudgetGroupList(ListView):
|
||
|
model = BudgetGroup
|
||
|
ordering = "-name"
|
||
|
|
||
|
|
||
|
class BudgetLineView(DetailView):
|
||
|
model = BudgetLine
|
||
|
|
||
|
|
||
|
class BudgetLineCreate(PermissionRequiredMixin, CreateView):
|
||
|
permission_required = "budget.add_budgetline"
|
||
|
model = BudgetLine
|
||
|
success_url = reverse_lazy("budgetgroup_list")
|
||
|
fields = "__all__"
|
||
|
|
||
|
|
||
|
class BudgetLineUpdate(PermissionRequiredMixin, UpdateView):
|
||
|
permission_required = "budget.change_budgetline"
|
||
|
model = BudgetLine
|
||
|
success_url = reverse_lazy("budgetgroup_list")
|
||
|
fields = "__all__"
|
||
|
|
||
|
|
||
|
class BudgetLineDelete(PermissionRequiredMixin, DeleteView):
|
||
|
permission_required = "budget.delete_budgetline"
|
||
|
model = BudgetLine
|
||
|
success_url = reverse_lazy("budgetgroup_list")
|
||
|
|
||
|
|
||
|
class BudgetGroupCreate(PermissionRequiredMixin, CreateView):
|
||
|
permission_required = "budget.add_budgetgroup"
|
||
|
model = BudgetGroup
|
||
|
success_url = reverse_lazy("budgetgroup_list")
|
||
|
fields = "__all__"
|
||
|
|
||
|
|
||
|
class BudgetGroupUpdate(PermissionRequiredMixin, UpdateView):
|
||
|
permission_required = "budget.change_budgetgroup"
|
||
|
model = BudgetGroup
|
||
|
success_url = reverse_lazy("budgetgroup_list")
|
||
|
fields = "__all__"
|
||
|
|
||
|
|
||
|
class BudgetGroupDelete(PermissionRequiredMixin, DeleteView):
|
||
|
permission_required = "budget.delete_budgetgroup"
|
||
|
model = BudgetGroup
|
||
|
success_url = reverse_lazy("budgetgroup_list")
|