from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView from django.contrib.auth.mixins import LoginRequiredMixin , PermissionRequiredMixin from Movement.Forms import FormsProduct from Movement import models from django.urls import reverse_lazy from django.utils import timezone class ProductListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): model = models.Product template_name = 'Product/List.html' context_object_name = 'Products' paginate_by = 10 permission_required = 'Base.view_professional' def get_queryset(self): queryset = super().get_queryset() date = self.request.GET.get('date') print(date) if date: queryset = queryset.filter(date__icontains=date) else: queryset = queryset.filter(date__icontains=timezone.localdate()) return queryset # class ProductCreateView(LoginRequiredMixin,PermissionRequiredMixin, CreateView): # model = models.Product # template_name = 'Product/Create.html' # form_class = FormsProduct.FormsProduct # success_url = reverse_lazy('ProductListView') # permission_required = 'Base.add_professional' class ProductDetailView(LoginRequiredMixin,PermissionRequiredMixin, DetailView): model = models.Product template_name = 'Product/Detail.html' permission_required = 'Base.view_professional' class ProductUpdateView(LoginRequiredMixin,PermissionRequiredMixin, UpdateView): model = models.Product template_name = 'Product/Update.html' form_class = FormsProduct.FormsProduct success_url = reverse_lazy('ProductListView') permission_required = 'Base.change_professional' class ProductDeleteView(LoginRequiredMixin,PermissionRequiredMixin, DeleteView): model = models.Product template_name = 'Product/Delete.html' success_url = reverse_lazy('MovProductListView') permission_required = 'Base.delete_professional'