Files
CenterPes/Base/Views/viewsProfessional.py
2025-11-01 18:10:39 -03:00

43 lines
1.9 KiB
Python

from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView
from django.contrib.auth.mixins import LoginRequiredMixin , PermissionRequiredMixin
from Base.Forms import FormsProfessional
from Base import models
from django.urls import reverse_lazy
class ProfessionalListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
model = models.Professional
template_name = 'Professional/List.html'
context_object_name = 'Professionals'
paginate_by = 10
permission_required = 'Base.view_professional'
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 ProfessionalCreateView(LoginRequiredMixin,PermissionRequiredMixin, CreateView):
model = models.Professional
template_name = 'Professional/Create.html'
form_class = FormsProfessional.FormsProfessional
success_url = reverse_lazy('ProfessionalListView')
permission_required = 'Base.add_professional'
class ProfessionalDetailView(LoginRequiredMixin,PermissionRequiredMixin, DetailView):
model = models.Professional
template_name = 'Professional/Detail.html'
permission_required = 'Base.view_professional'
class ProfessionalUpdateView(LoginRequiredMixin,PermissionRequiredMixin, UpdateView):
model = models.Professional
template_name = 'Professional/Update.html'
form_class = FormsProfessional.FormsProfessional
success_url = reverse_lazy('ProfessionalListView')
permission_required = 'Base.change_professional'
class ProfessionalDeleteView(LoginRequiredMixin,PermissionRequiredMixin, DeleteView):
model = models.Professional
template_name = 'Professional/Delete.html'
success_url = reverse_lazy('ProfessionalListView')
permission_required = 'Base.delete_professional'