39 lines
1.6 KiB
Python
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_' |