# Create your views here. #encoding:utf-8 from django.http import * from django.shortcuts import render_to_response from django.template.response import * from django.contrib.auth.decorators import * from django.contrib.auth import * from almacen.models import * from django.shortcuts import * from django.contrib.auth.models import User from almacen.forms import * from django.db.models import * from datetime import * from django.contrib import messages from django.utils import formats from django.views.generic import ListView from .models import DatosGenerales from django.core.context_processors import csrf from django.views.decorators.csrf import csrf_exempt from django.db.models import Q import json from django.core import serializers from django.contrib.auth.forms import UserCreationForm from django.template.response import TemplateResponse from django.utils.html import format_html, format_html_join from datetime import date from datetime import datetime import datetime from datetime import timedelta from django import http from django.template.loader import get_template from django.template import Context # import ho.pisa as pisa import cStringIO as StringIO import cgi import os def login_(request): return TemplateResponse(request, 'login.html') def validarView(request): username = request.POST['username'] password = request.POST['password'] user = authenticate(username = username, password = password) if user is not None: if user.is_active: login(request, user) return HttpResponseRedirect('/index') else: messages.error(request, 'cuenta desactivada') else: messages.error(request, 'Usuario no valido, verifique sus credenciales') return TemplateResponse(request, 'login.html') def logout_user(request): response = logout(request) return HttpResponseRedirect('/login') def index(request): return TemplateResponse(request, 'index.html',{'principal':'active','Dependencia':'closed', 'evaluacion':'closed','configuracion':'closed'}) @login_required(login_url='/login') def principal(request): return render_to_response('principal.html',context_instance = RequestContext(request)) from django.views.decorators.csrf import csrf_exempt @csrf_exempt def consultarLocalidad(request): if request.is_ajax(): if request.method=='GET': respuest="este se envio via get" elif request.method=='POST': id_municipio=request.POST['id_municipio'] partidas=serializers.serialize("json",Localidad.objects.all().filter(municipio=id_municipio),fields=('id','nombre')) return HttpResponse(partidas,mimetype="application/javascript") @csrf_exempt def consultarActividadEspecifica(request): if request.is_ajax(): if request.method=='GET': respuest="este se envio via get" elif request.method=='POST': id_giro=request.POST['id_giro'] partidas=serializers.serialize("json",ActividadEspecifica.objects.all().filter(giro=id_giro),fields=('id','nombre')) return HttpResponse(partidas,mimetype="application/javascript") # def wizardz(request): # if request.method == 'POST': # formDocumento = DocumentosForm(request.POST) # if formDocumento.is_valid(): # formDocumento.save() # msj = 'El registro ingreso correctamente' # messages.success(request, msj) # return HttpResponseRedirect('/index/') # else: msj = 'Error' # messages.success(request, msj) # else: # formDocumento = DocumentosForm() # contexto = {'formDocumento':formDocumento,'Empresa':'active', 'active':'desactivo', } # return render_to_response('wizard.html', contexto ,context_instance = RequestContext(request)) #Registra Datos generales def wizardz(request): folio=DatosGenerales.objects.count() if folio != 0: ultimo= int(folio); cadena = str(ultimo) # return HttpResponse(cade) if ultimo >= 10: consecutivo = ultimo + 1 if ultimo < 9: cadena=str(ultimo+1) consecutivo = '0' +cadena if ultimo == 9: consecutivo=ultimo+1 else: consecutivo = '01' datos=DatosGenerales.objects.all() if request.method == 'POST': formDocumento = DocumentosForm(request.POST) try: if formDocumento.is_valid(): documento = formDocumento.save() #msj = 'El registro domicilio de la empresa se ingreso correctamente' #messages.success(request, msj) return HttpResponseRedirect('/wizard_pdf/'+str(documento.id)) except Exception, e: messages.error(request, e.message) else: formDocumento = DocumentosForm(initial={'folio': (consecutivo )}) contexto = {'formDocumento':formDocumento,'folio':consecutivo, 'abasto':'active', 'active':'desactivo'} return render_to_response('wizard.html', contexto ,context_instance = RequestContext(request)) def pre_view( request, id_documento ): docume = DatosGenerales.objects.get( pk = id_documento ) return render_to_response('pre_view_pdf.html',{'pdf':docume},context_instance=RequestContext(request)) #template validacionEmpresa def registra_validacion(request,id_persona): id_validacionEmpresa=id_persona datosGenerales=DatosGenerales.objects.all() datos=DatosGenerales.objects.get(id=id_persona) datosgenerales=DatosGenerales.objects.get(id=id_validacionEmpresa) if request.method=='POST': formValida = ValidacionForm(request.POST) if formValida.is_valid(): formValida.save() messages.success(request, 'Empresa Validada') return HttpResponseRedirect('/recibo/%s/'%(id_persona)) else: formValida = ValidacionForm() return render_to_response('validacion_credito.html',{'datos':datosgenerales.id,'mostrar':datos,'formValida':formValida,'principal':'closed' },context_instance=RequestContext(request)) def recibo_pymes(request,id_persona): persona = DatosGenerales.objects.get(id=id_persona) if request.method == 'GET': formDocumento = DocumentosForm(initial = { 'rfc':persona.rfc, 'curp':persona.curp, 'nombreNegocio':persona.nombreNegocio, 'nombreEmpresario':persona.nombreEmpresario, 'apellidoPaterno':persona.apellidoPaterno, 'apellidoMaterno':persona.apellidoMaterno, 'tipoVialidad':persona.tipoVialidad, 'nombreVialidad':persona.nombreVialidad, 'numeroExterior1':persona.numeroExterior1, 'tipo_AsentamientoHumano':persona.tipo_AsentamientoHumano, 'nombreAsentamientoHumano':persona.nombreAsentamientoHumano, 'codigoPostal':persona.codigoPostal, }) contexto = {'formDocumento':formDocumento, 'persona':persona} return render_to_response('recibo_pymes.html', contexto ,context_instance = RequestContext(request)) #hace una consulta general def consulta(request): folio = DatosGenerales.objects.order_by('folio') datosgenerales = DatosGenerales.objects.all() #validacionempresa = validacionEmpresa.objects.all() if request.method == 'POST': formDocumento = DocumentosForm(request.POST) try: if formDocumento.is_valid(): formDocumento.save() msj = 'El registro domicilio de la empresa se ingreso correctamente' messages.success(request, msj) return HttpResponseRedirect('/index') except Exception, e: messages.error(request, e.message) else: formDocumento = DocumentosForm() contexto = {'formDocumento':formDocumento, 'datosgenerales':datosgenerales, 'folio':folio,'abasto':'active', 'active':'desactivo'} return render_to_response('consulta.html', contexto ,context_instance = RequestContext(request)) #consulta todos los registro de la empresa ya registrada def consulta_registro(request, id_persona): datosgenerales = validacionEmpresa.objects.filter(Q(validacionCredito=True) | Q(validacionApoyoDirecto=True)) persona = DatosGenerales.objects.get(id=id_persona) validador = validacionEmpresa.objects.get(id=id_persona) if request.method == 'GET': formDocumento = DocumentosForm(initial = { 'identificacion':persona.identificacion, 'tipoIdentificacion':persona.tipoIdentificacion, 'curP':persona.curP, 'rfC':persona.rfC, 'comprobanteDomicilio':persona.comprobanteDomicilio, 'tipoPersona':persona.tipoPersona, 'rfc':persona.rfc, 'curp':persona.curp, 'nombreNegocio':persona.nombreNegocio, 'ano':persona.ano, 'meses':persona.meses, 'nombreEmpresario':persona.nombreEmpresario, 'apellidoPaterno':persona.apellidoPaterno, 'apellidoMaterno':persona.apellidoMaterno, 'genero':persona.genero, 'telefono':persona.telefono, 'celular':persona.celular, 'correoElectronico':persona.correoElectronico, 'municipio':persona.municipio, 'localidad':persona.localidad, 'tipoVialidad':persona.tipoVialidad, 'nombreVialidad':persona.nombreVialidad, 'numeroExterior1':persona.numeroExterior1, 'numeroExterior2':persona.numeroExterior2, 'numeroInterior':persona.numeroInterior, 'tipo_AsentamientoHumano':persona.tipo_AsentamientoHumano, 'nombreAsentamientoHumano':persona.nombreAsentamientoHumano, 'codigoPostal':persona.codigoPostal, 'tipoVialidad1':persona.tipoVialidad1, 'nombreVialidad1':persona.nombreVialidad1, 'tipoVialidad2':persona.tipoVialidad2, 'nombreVialidad2':persona.nombreVialidad2, 'tipoVialidad3':persona.tipoVialidad3, 'nombreVialidad3':persona.nombreVialidad3, 'descripcionUbicacion':persona.descripcionUbicacion, 'tipoSector':persona.tipoSector, 'giro':persona.giro, 'actividadEspecifica':persona.actividadEspecifica, 'turismo':persona.turismo, 'organizacionEmpresarial':persona.organizacionEmpresarial, 'ventaAnual':persona.ventaAnual, 'noEmpleadoHombre':persona.noEmpleadoHombre, 'noEmpleadoMujer':persona.noEmpleadoMujer, 'totalEmpleado':persona.totalEmpleado, 'tamanoEmpresa':persona.tamanoEmpresa, 'tipoLocal':persona.tipoLocal, 'infraestructurA':persona.infraestructurA, 'maquinaEquipo':persona.maquinaEquipo, 'inventariO':persona.inventariO, 'economico':persona.economico, 'infraestructura':persona.infraestructura, 'maquinaria':persona.maquinaria, 'inventario':persona.inventario, 'danoEconomico':persona.danoEconomico, 'subtotalFisicco':persona.subtotalFisicco, 'totalMontoEstimado':persona.totalMontoEstimado, 'RequiereCreditoEmpresa':persona.RequiereCreditoEmpresa, 'banco':persona.banco, 'montoRequerido':persona.montoRequerido, 'credito':persona.credito, }) if request.method == 'GET': formValida = ValidacionForm(initial = { 'validacionApoyoDirecto':validador.validacionApoyoDirecto, 'validacionCredito':validador.validacionCredito, 'fechaValidacion':validador.fechaValidacion, 'tipoDano':validador.tipoDano, 'observacion':validador.observacion, 'nombreValidador':validador.nombreValidador, 'montoVentas':validador.montoVentas, 'montoCostos':validador.montoCostos, 'utilidad':validador.utilidad, 'nuevoMontoCredito':validador.nuevoMontoCredito, 'enOperacion':validador.enOperacion, 'tipo':validador.tipo, }) if request.method == 'POST': formDocumento = DocumentosForm(request.POST) formValida = ValidacionForm(request.POST) contexto = {'formDocumento':formDocumento, 'persona':id_persona, 'formValida':formValida, 'datosgenerales':datosgenerales} return render_to_response('con.html', contexto ,context_instance = RequestContext(request)) #Busca todos los que faltan por validar def validacion(request): valida=validacionEmpresa.objects.all() validacionempresa = DatosGenerales.objects.exclude(validacionempresa__in=valida) contexto = {'validacionempresa':validacionempresa} return render_to_response('validacion_Empresa.html', contexto ,context_instance = RequestContext(request)) #Busca todas las empresas validadas def validados(request): datosgenerales = validacionEmpresa.objects.filter(Q(validacionCredito=True) | Q(validacionApoyoDirecto=True)) if request.method=='POST': formDocumento = DocumentosForm(request.POST) formValida = ValidacionForm(request.POST) return HttpResponseRedirect('/consulta') else: formDocumento = DocumentosForm() formValida = ValidacionForm() contexto = {'datosgenerales':datosgenerales, 'formDocumento':formDocumento,'formValida':formValida} return render_to_response('consulta_validados.html', contexto ,context_instance = RequestContext(request)) def persona_update (request,id_persona): persona = DatosGenerales.objects.get(id = id_persona) form = ActualizarForm(request.POST, instance = persona) if form.is_valid(): update_persona = form.save() update_persona.save() return HttpResponseRedirect('/validados/') else: form = ActualizarForm(instance = persona) return render_to_response("persona_update.html",{'form':form},context_instance = RequestContext(request)) def search(request): query = request.GET.get('q', '') if query: qset = ( Q(folio__icontains=query) ) results = DatosGenerales.objects.filter(qset).distinct() else: results = [] return render_to_response("consulta.html", { "results": results, "query": query }) def consulta_busqueda (request,id_persona): persona = DatosGenerales.objects.get(id = id_persona) form = ActualizarForm(request.POST, instance = persona) if form.is_valid(): busqueda_consulta = form.save() return HttpResponseRedirect('/validados/') else: form = ActualizarForm(instance = persona) return render_to_response("consultar_busqueda.html",{'form':form},context_instance = RequestContext(request)) #3-abril-2014 def actualizar_recibo(request,id_persona): p = DatosGenerales.objects.get(id = id_persona) if request.method == "GET": form = DocumentosForm(initial = { 'nombreEmpresario':p.nombreEmpresario, 'apellidoPaterno':p.apellidoPaterno, 'apellidoMaterno':p.apellidoMaterno, }) ctx = {'DocumentosForm':form,'p':p} return render_to_response('actualizar_recibo.html',{'ctx':ctx },context_instance = RequestContext(request)) #========================================================================================================================================= #para crear pdf #========================================================================================================================================= def render_to_pdf(template_src, context_dict): template = get_template(template_src) context = Context(context_dict) html = template.render(context) result = StringIO.StringIO() pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result) pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("utf-8")), result) if not pdf.err: return http.HttpResponse(result.getvalue(), mimetype='application/pdf') return http.HttpResponse('We had some errors
%s
' % cgi.escape(html)) def reporte_pdf(request, id_persona): contigenpdf = DatosGenerales.objects.get( id = id_persona ) reporte = DatosGenerales.objects.get( id = id_persona ) return render_to_pdf('test_pdf.html',{ 'pagesize': 'A4', 'test_pdf': contigenpdf,}) def pdf_to_pdf(template_src, context_dict): template = get_template(template_src) context = Context(context_dict) html = template.render(context) result = StringIO.StringIO() pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("ISO-8859-1")), result) pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("utf-8")), result) if not pdf.err: return http.HttpResponse(result.getvalue(), mimetype='application/pdf') return http.HttpResponse('We had some errors
%s
' % cgi.escape(html)) def reportee(request, id_persona): reporte = DatosGenerales.objects.get( id = id_persona ) today_date = datetime.date.today() return pdf_to_pdf('recibo_pdf.html',{ 'pagesize': 'A4', 'recibo_pdf': reporte, 'hola' :today_date, }) def prueba(request, id_persona): reporte = DatosGenerales.objects.get( id = id_persona ) today_date = datetime.datetime.now() UTC_OFFSET = 4 local_datetime = datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S") dia_registro = datetime.datetime.now().strftime("%d/%m/%Y") return pdf_to_pdf('prueba_pdf.html',{ 'pagesize': 'A4', 'prueba_pdf': reporte, 'fecha':local_datetime, 'registro':dia_registro})