first commit

This commit is contained in:
2026-01-02 09:19:43 -03:00
parent 63cf724aaf
commit cc44b7ef4f
187 changed files with 2484 additions and 686 deletions

View File

@@ -4,6 +4,10 @@ from Client import models, FormsClient
from Movement.models import Calendar
from django.urls import reverse_lazy
# from django.core import serializers
from django.shortcuts import redirect
from django.contrib import messages
# importate para função ou no filtro
from django.db.models import Q
class ClientListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
model = models.Client
@@ -26,7 +30,6 @@ class ClientListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
queryset = queryset.none()
return queryset
class ClientCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
model = models.Client
template_name = 'Client/Create.html'
@@ -34,18 +37,33 @@ class ClientCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView):
success_url = reverse_lazy('ClientListView')
permission_required = 'Client.add_client'
class ClientDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
model = models.Client
template_name = 'Client/Detail.html'
template_name = 'Client/Detail/Detail.html'
permission_required = 'Client.view_client'
def post(self, request, *args, **kwargs):
self.object = self.get_object()
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
if request.POST.get('double_workload') == 'double_workload':
self.object.double_workload = not self.object.double_workload
if request.POST.get('late') == 'late':
self.object.late = not self.object.late
if request.POST.get('feed_back') == 'feed_back':
self.object.feed_back = not self.object.feed_back
if request.POST.get('msg_3_months') == 'msg_3_months':
self.object.msg_3_months = not self.object.msg_3_months
if request.POST.get('msg_6_months') == 'msg_6_months':
self.object.msg_6_months = not self.object.msg_6_months
if request.POST.get('msg_12_months') == 'msg_12_months':
self.object.msg_12_months = not self.object.msg_12_months
self.object.save()
return redirect('ClientDetailView', pk=self.object.id)
class ClientUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
model = models.Client
@@ -54,6 +72,42 @@ class ClientUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
success_url = reverse_lazy('ClientListView')
permission_required = 'Client.change_client'
class ClientUpdateResponsableView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView):
model = models.Client
template_name = 'Client/Update_responsable.html'
form_class = FormsClient.FormsClient
permission_required = 'Client.change_client'
def get_success_url(self):
return redirect('ClientDetailView', pk=self.object.pk)['Location']
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
search_term = self.request.GET.get('Client')
if search_term:
filter_client = models.Client.objects.filter(
Q(first_name__icontains=search_term) |
Q(last_name__icontains=search_term)
)
else:
filter_client = models.Client.objects.none()
context['Clients'] = filter_client
return context
def form_valid(self, form):
print(self.request)
form.instance.created_by = self.request.user
messages.success(self.request, 'Registro realizado com sucesso!')
return super().form_valid(form)
def form_invalid(self, form):
print(self.request)
errors = form.errors.as_text()
messages.error(self.request, f'Verifique os dados: {errors}')
return super().form_invalid(form)
class ClientDeleteView(LoginRequiredMixin, PermissionRequiredMixin, DeleteView):
model = models.Client
template_name = 'Client/Delete.html'