57 lines
2.3 KiB
Python
57 lines
2.3 KiB
Python
from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView
|
|
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
|
|
from Base.Forms import FormsBankAccounts
|
|
from Base import models
|
|
from django.urls import reverse_lazy
|
|
from django.contrib import messages
|
|
|
|
class BankAccountsListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
|
|
model = models.BankAccount
|
|
template_name = 'BankAccounts/List.html'
|
|
context_object_name = 'BankAccounts'
|
|
paginate_by = 10
|
|
permission_required = 'Base.view_bankaccount'
|
|
def get_queryset(self):
|
|
queryset = super().get_queryset()
|
|
name = self.request.GET.get('name')
|
|
if name:
|
|
queryset = queryset.filter(name__icontains=name)
|
|
return queryset
|
|
|
|
class BankAccountsCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
|
model = models.BankAccount
|
|
template_name = 'BankAccounts/Create.html'
|
|
form_class = FormsBankAccounts.FormsBankAccount
|
|
success_url = reverse_lazy('BankAccountsListView')
|
|
permission_required = 'Base.add_bankaccount'
|
|
|
|
def get_form(self, form_class=None):
|
|
form = super().get_form(form_class)
|
|
return form
|
|
|
|
def form_valid(self, form):
|
|
messages.success(self.request, 'Registro realizado com sucesso!')
|
|
return super().form_valid(form)
|
|
|
|
def form_invalid(self, form):
|
|
errors = form.errors.as_text()
|
|
messages.error(self.request, f'Verifique os dados: {errors}')
|
|
return super().form_invalid(form)
|
|
|
|
class BankAccountsDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
|
|
model = models.BankAccount
|
|
template_name = 'BankAccounts/Detail.html'
|
|
permission_required = 'Base.view_bankaccount'
|
|
|
|
class BankAccountsUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
|
|
model = models.BankAccount
|
|
template_name = 'BankAccounts/Update.html'
|
|
form_class = FormsBankAccounts.FormsBankAccount
|
|
success_url = reverse_lazy('BankAccountsListView')
|
|
permission_required = 'Base.change_bankaccount'
|
|
|
|
class BankAccountsDeleteView(LoginRequiredMixin, PermissionRequiredMixin, DeleteView):
|
|
model = models.BankAccount
|
|
template_name = 'BankAccounts/Delete.html'
|
|
success_url = reverse_lazy('BankAccountsListView')
|
|
permission_required = 'Base.delete_bankaccount' |