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")