first commit
This commit is contained in:
61
Client/viewsClient.py
Normal file
61
Client/viewsClient.py
Normal file
@@ -0,0 +1,61 @@
|
||||
from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin , PermissionRequiredMixin
|
||||
from Client import models, FormsClient
|
||||
from Movement.models import Calendar
|
||||
from django.urls import reverse_lazy
|
||||
# from django.core import serializers
|
||||
|
||||
class ClientListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
|
||||
model = models.Client
|
||||
template_name = 'Client/List.html'
|
||||
context_object_name = 'Clients'
|
||||
# paginate_by = 5
|
||||
permission_required = 'Client.view_client'
|
||||
def get_queryset(self):
|
||||
queryset = super().get_queryset()
|
||||
name = self.request.GET.get('name')
|
||||
number = self.request.GET.get('number')
|
||||
# all = self.request.GET.get('all')
|
||||
if name:
|
||||
queryset = queryset.filter(first_name__icontains=name) | queryset.filter(last_name__icontains=name)
|
||||
elif number:
|
||||
queryset = queryset.filter(phone__icontains=number)
|
||||
# elif all:
|
||||
# queryset = queryset.all()
|
||||
else:
|
||||
queryset = queryset.none()
|
||||
return queryset
|
||||
|
||||
|
||||
class ClientCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
|
||||
model = models.Client
|
||||
template_name = 'Client/Create.html'
|
||||
form_class = FormsClient.FormsClient
|
||||
success_url = reverse_lazy('ClientListView')
|
||||
permission_required = 'Client.add_client'
|
||||
|
||||
|
||||
class ClientDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
|
||||
model = models.Client
|
||||
template_name = 'Client/Detail.html'
|
||||
permission_required = 'Client.view_client'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['clients'] = Calendar.objects.filter(
|
||||
client__id=self.object.id
|
||||
).order_by('-id').distinct()[:3]
|
||||
return context
|
||||
|
||||
class ClientUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
|
||||
model = models.Client
|
||||
template_name = 'Client/Update.html'
|
||||
form_class = FormsClient.FormsClient
|
||||
success_url = reverse_lazy('ClientListView')
|
||||
permission_required = 'Client.change_client'
|
||||
|
||||
class ClientDeleteView(LoginRequiredMixin, PermissionRequiredMixin, DeleteView):
|
||||
model = models.Client
|
||||
template_name = 'Client/Delete.html'
|
||||
success_url = reverse_lazy('ClientListView')
|
||||
permission_required = 'Client.delete_client'
|
||||
Reference in New Issue
Block a user