Advertisement
EulisAires

viaseg views

Mar 14th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.69 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from __future__ import unicode_literals
  3.  
  4. from django.core.paginator import Paginator
  5. from django.http import HttpResponseRedirect, HttpResponse
  6. from django.shortcuts import get_object_or_404, render
  7. from django.urls import reverse_lazy
  8. from django.views.generic import (CreateView, DetailView, FormView, ListView,
  9.                                   TemplateView)
  10.  
  11. from .forms import inspectionRegisterForm
  12.  
  13. from .models import *
  14. from .models import Vistoria
  15.  
  16. import time
  17. from datetime import datetime
  18. import json
  19. from django.core import serializers
  20. import unicodedata
  21.  
  22. def get_vistorias(request):
  23.     data = serializers.serialize("json", Vistoria.objects.all())
  24.     return HttpResponse(unicodedata.normalize('NFKD', data).encode('ASCII', 'ignore').decode('utf-8')
  25. )
  26.  
  27. class inspectionDetailView(DetailView):
  28.     model = Vistoria
  29.     template_name = 'inspectionDetail.html'
  30.    
  31.    
  32. class RelatorioView(ListView):
  33.     template_name = 'relatorio.html'
  34.     model = Vistoria
  35.     context_object_name = 'vistoria'
  36.     queryset = Vistoria.objects.all()
  37.     paginate_by = 7
  38.  
  39.     group_list = Grupos_de_Concessionaria.objects.all()
  40.     setor_list = Setor.objects.all()
  41.     concessionaria_list = Concessionaria.objects.all()
  42.     pagamento_list = Modos_de_Pagamento.objects.all()
  43.  
  44.     def get_context_data(self, **kwargs):
  45.         context = super(RelatorioView, self).get_context_data(**kwargs)
  46.         context.update({
  47.             'group_list': self.group_list,
  48.             'setor_list': self.setor_list,
  49.             'concessionaria_list':self.concessionaria_list,
  50.             'pagamento_list':self.pagamento_list
  51.         })
  52.         return context
  53.     def get_queryset(self):
  54.         context_queryset = super(RelatorioView, self).get_queryset()
  55.        
  56.         if self.request.GET.get('check-date') =='on':
  57.             if (self.request.GET.get('initial-date')!='' and self.request.GET.get('end-date')!=''):
  58.                 print('entre')
  59.                 context_queryset = context_queryset.filter(Data_de_Registro__range=[self.request.GET.get('initial-date'), self.request.GET.get('final-date')])
  60.             elif (self.request.GET.get('initial-date')!= ''):
  61.                 print('inicio')
  62.                 context_queryset = context_queryset.filter(Data_de_Registro__gte = self.request.GET.get('initial-date'))
  63.             elif (self.request.GET.get('end-date')!=''):
  64.                 print('fim')
  65.                 context_queryset = context_queryset.filter(Data_de_Registro__lte = self.request.GET.get('end-date'))
  66.         if self.request.GET.get('check-date-register') =='on': #Pesquisa pela data que o model foi criado
  67.             if (self.request.GET.get('initial-date-register')!='' and self.request.GET.get('end-date-register')!=''):
  68.                 print('entre')
  69.                 context_queryset = context_queryset.filter(dataSys__range=[self.request.GET.get('initial-date'), self.request.GET.get('final-date')])
  70.             elif (self.request.GET.get('initial-date-register')!= ''):
  71.                 print('inicio')
  72.                 context_queryset = context_queryset.filter(dataSys__gte = self.request.GET.get('initial-date'))
  73.             elif (self.request.GET.get('end-date-register')!=''):
  74.                 print('fim')
  75.                 context_queryset = context_queryset.filter(dataSys__lte = self.request.GET.get('end-date'))
  76.        
  77.         if (self.request.GET.get('check-group')=='on'):
  78.             context_queryset = context_queryset.filter(Grupo_da_concessionaria__pk =self.request.GET.get('group'))
  79.         if (self.request.GET.get('check-concessionaria')=='on'):
  80.             context_queryset = context_queryset.filter(Concessionaria__pk =self.request.GET.get('concessionaria'))
  81.         if (self.request.GET.get('check-setor')=='on'):
  82.             context_queryset = context_queryset.filter(Setor__pk =self.request.GET.get('setor'))
  83.         if (self.request.GET.get('check-pagamento')=='on'):
  84.             context_queryset = context_queryset.filter(Modos_de_pagamento__pk =self.request.GET.get('pagamento'))
  85.         return context_queryset
  86.  
  87. class inspectionRegisterView(CreateView):
  88.     model = Vistoria
  89.     template_name = 'inspectionRegister.html'
  90.     form_class = inspectionRegisterForm
  91.     success_url = reverse_lazy('list')
  92.  
  93.     def form_valid(self, form):
  94.         inspection_date = time.strptime(self.request.POST.get('Data_de_Registro'), "%Y-%m-%d")
  95.         inspection_hour = int(self.request.POST.get('Hora_de_Registro').split(':')[0])
  96.         inspection_minute = int(self.request.POST.get('Hora_de_Registro').split(':')[1])
  97.         now_date = time.strptime(datetime.now().strftime('%Y-%m-%d'), "%Y-%m-%d")
  98.         now_hour = int(datetime.now().strftime('%H'))
  99.         now_minute = int(datetime.now().strftime('%M'))
  100.         if(now_date<inspection_date):
  101.             form.add_error("Data_de_Registro", "A Data da vistoria não pode ser maior que a Data de hoje.")
  102.             return super(inspectionRegisterView, self).form_invalid(form)
  103.         elif(now_date == inspection_date):
  104.             if(now_hour < inspection_hour):
  105.                 form.add_error("Hora_de_Registro", "A Hora da vistoria não pode ser maior que a Hora atual.")
  106.                 return super(inspectionRegisterView, self).form_invalid(form)
  107.             elif(now_hour == inspection_hour):
  108.                 if(now_minute < inspection_minute):
  109.                     form.add_error("Hora_de_Registro", "A Hora da vistoria não pode ser maior que a Hora atual.")
  110.                     return super(inspectionRegisterView, self).form_invalid(form)
  111.         return super(inspectionRegisterView, self).form_valid(form)
  112.    
  113.     def form_invalid(self,form):
  114.         return super(inspectionRegisterView, self).form_invalid(form)
  115.  
  116.  
  117. class downloadDBView(TemplateView):
  118.     template_name = 'db.html'
  119.  
  120.    
  121. class inspectionListView(ListView):
  122.     model = Vistoria
  123.     context_object_name = 'vistoria'
  124.     template_name = 'inspectionList.html'
  125.     paginate_by = 6
  126.  
  127.     # https://docs.djangoproject.com/pt-br/2.1/topics/db/queries/
  128.     def get_queryset(self):
  129.         context_queryset = super(inspectionListView, self).get_queryset()
  130.         select = self.request.GET.get('select')
  131.         search = self.request.GET.get('search')
  132.  
  133.         if select == 'Placa':
  134.             context_queryset = Vistoria.objects.filter(Placa__iexact=search)
  135.         elif select == 'Chassi':
  136.             context_queryset = Vistoria.objects.filter(Chassi__iexact=search)
  137.         elif select == 'CPF_do_cliente':
  138.             context_queryset = Vistoria.objects.filter(CPF_do_cliente__iexact=search)
  139.         elif select == 'pk':
  140.             context_queryset = Vistoria.objects.filter(pk=search)
  141.        
  142.         return context_queryset
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement