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

39 lines
1.6 KiB
Python

from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
from Movement.Forms import FormsCalendar
from Movement import models
from django.urls import reverse_lazy
from django.utils import timezone
class CalendarListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
model = models.Calendar
template_name = 'Calendar/List.html'
context_object_name = 'Calendar'
paginate_by = 10
permission_required = 'Base.view_'
def get_queryset(self):
queryset = super().get_queryset()
date = self.request.GET.get('date')
if date:
queryset = queryset.filter(date__icontains=date)
else:
queryset = queryset.filter(date__icontains=timezone.localdate())
return queryset
class CalendarDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
model = models.Calendar
template_name = 'Calendar/Detail.html'
permission_required = 'Base.view_'
class CalendarUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
model = models.Calendar
template_name = 'Calendar/Update.html'
form_class = FormsCalendar.FormsCalendar
success_url = reverse_lazy('MovCalendarListView')
permission_required = 'Base.change_'
class CalendarDeleteView(LoginRequiredMixin, PermissionRequiredMixin, DeleteView):
model = models.Calendar
template_name = 'Calendar/Delete.html'
success_url = reverse_lazy('MovCalendarListView')
permission_required = 'Base.delete_'