47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
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' |