from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView from django.contrib.auth.mixins import LoginRequiredMixin , PermissionRequiredMixin from Movement.Forms import FormsTransition from Movement import models from django.urls import reverse_lazy from django.utils import timezone class TransitionListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): model = models.Transition template_name = 'Transition/List.html' context_object_name = 'Transitions' paginate_by = 10 permission_required = 'Base.view_professional' def get_queryset(self): queryset = super().get_queryset() date = self.request.GET.get('month') if date: queryset = queryset.filter( date__month=date, date__year=timezone.localtime(timezone.now()).year, ) else: queryset = queryset.filter( date__month=timezone.localtime(timezone.now()).month, date__year =timezone.localtime(timezone.now()).year, ) return queryset class TransitionCreateView(LoginRequiredMixin,PermissionRequiredMixin, CreateView): model = models.Transition template_name = 'Transition/Create.html' form_class = FormsTransition.FormsTransition success_url = reverse_lazy('MovTransitionListView') permission_required = 'Base.add_professional' class TransitionDetailView(LoginRequiredMixin,PermissionRequiredMixin, DetailView): model = models.Transition template_name = 'Transition/Detail.html' permission_required = 'Base.view_professional' class TransitionUpdateView(LoginRequiredMixin,PermissionRequiredMixin, UpdateView): model = models.Transition template_name = 'Transition/Update.html' form_class = FormsTransition.FormsTransition success_url = reverse_lazy('MovTransitionListView') permission_required = 'Base.change_professional' class TransitionDeleteView(LoginRequiredMixin,PermissionRequiredMixin, DeleteView): model = models.Transition template_name = 'Transition/Delete.html' success_url = reverse_lazy('MovTransitionListView') permission_required = 'Base.delete_professional'