5Zc@s~ddklZddklZddklZddklZddkTddk Z ddk l Z ddkl Z dhdidjdkdldmdndodpdqf Z drdsfZdtdudvdwdxdydzd{d|d}d~df ZdddddfZd2Zd3Zd4eifd5YZd6eifd7YZd8eifd9YZd:eifd;YZd<eifd=YZd>eifd?YZd@eifdAYZdBeifdCYZdDeifdEYZdFeifdGYZdHeifdIYZdJeifdKYZdLeifdMYZ dNeifdOYZ!dPeifdQYZ"dReifdSYZ#dTeifdUYZ$dVeifdWYZ%dXZ&dYZ'dZeifd[YZ(d\eifd]YZ)d^eifd_YZ*d`eifdaYZ+dbeifdcYZ,ddeifdeYZ-dfeifdgYZ.dS(i(t validators(tRegexValidator(tValidationError(tmodels(t*N(tUser(tdatet1sPrimer Grado - Preescolart2sSegundo Grado - Preescolart3sTercer Grado - Preescolart4sPrimer Grado - Primariat5sSegundo Grado - Primariat6sTercer Grado - Primariat7sCuarto Grado - Primariat8sQuinto Grado - Primariat9sSexto Grado - Primariat10s Grado EspecialtHt MasculinotMtFemeninotEnerotFebrerotMarzotAbriltMayotJuniotJuliotAgostot SeptiembretOctubret Noviembret Diciembret2014t2015t2016t2017t2018cCsdt|}|djotd||fn.tid|djotd|ndS(Niu?La CURP "%s" debe tener una longitud de 18 caracteres, tiene %ss,[a-zA-Z]{4}[0-9]{6}[a-zA-Z]{6}[a-zA-Z0-9]{2}ula CURP "%s" no es correcto(tlenRtretmatchtNone(ta_curpt longitudCurp((s4/opt/public_html/insumos_test/apps/control/models.pyt valida_curp.s   cCsdt|}|djotd||fn.tid|djotd|ndS(Niu?La CURP "%s" debe tener una longitud de 18 caracteres, tiene %ss,[a-zA-Z]{4}[0-9]{6}[a-zA-Z]{6}[a-zA-Z0-9]{2}ula CURP "%s" no es correcto(R&RR'R(R)(tt_curpt longitudCurpt((s4/opt/public_html/insumos_test/apps/control/models.pyt valida_t_curp7s   tEstadocBs9eZeidddZdZdddYZRS(R0t max_lengthidcCs d|iS(Ns%s(tnombre(tself((s4/opt/public_html/insumos_test/apps/control/models.pyt __unicode__CstMetacBseZdgZdgZRS(R2(t__name__t __module__torderingtunique_together(((s4/opt/public_html/insumos_test/apps/control/models.pyR5Fs ((R6R7Rt CharFieldR2R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyR0@s t MunicipiocBsTeZeidddZeieddddZdZdd d YZ RS( R;R1idtdefaultit verbose_nameR0cCs d|iS(Ns%s(R2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4NsR5cBseZdgZdgZRS(R2(R6R7R8R9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5Qs (( R6R7RR:R2t ForeignKeyR0testadoR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyR;Js t LocalidadcBs`eZeieddZeiddZeidddZdZ dd dYZ RS( R=R;R1iR@idcCsd|ii|ifS(Ns%s - %s(t municipioR2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4[sR5cBs,eZddgZddgZdZdZRS(RAR2t localidadest Localidades(R6R7R8R9R=tverbose_name_plural(((s4/opt/public_html/insumos_test/apps/control/models.pyR5^s  (( R6R7RR>R;RAR:tnumeroR2R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyR@Us  t CatProyectocBsZeZeidddZeiddZeieZdZ dddYZ RS(sNumero de ProyectoR1iidcCsd|i|iifS(Ns %s - %s(tnumeroProyectoRAR2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4jsR5cBs&eZdgZdZdZdgZRS(RGs proyecto s Catalogo de Proyectos (R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5ms (( R6R7RR:RGt descripcionR>R;RAR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRFes  t CatVehiculocBs~eZeiddZeiddZeidddddZeiddZdZ d Z d d d YZ RS( R1i isCapacidad en toneladast max_digitsitdecimal_placesicCsd|i|i|ifS(Ns %s - %s - %s(tmodelotmarcat capacidad(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4yscCst|id}|S(Ni(tfloatRN(R3tcapacidad_vehiculo((s4/opt/public_html/insumos_test/apps/control/models.pyttonelaje|sR5cBs&eZdgZdZdZdgZRS(RLs el vehiculo s Catalogo de Vehiculos tnumPlaca(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s (( R6R7RR:RLRMt DecimalFieldRNRRR4RQR5(((s4/opt/public_html/insumos_test/apps/control/models.pyRIss  t CatProveedorcBsleZeidddZeiddddedeZeideZdZ dd d YZ RS( sNombre del ProveedorR1i,t LicitaciontblanktnullR<cCs d|iS(Nu%s(tnombreProveedor(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs&eZdgZdZdZdgZRS(RXsnombre del proveedorsCatalogo de Proveedores(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s (( R6R7RR:RXtTruet licitaciont BooleanFieldtstatusR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRTs ! tCatPresentacionProductocBs6eZeiddZdZdddYZRS(R1icCs d|iS(Nu%s(t presentacion(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs&eZdgZdZdZdgZRS(R^s+Catalogo de Presentaciones de los Productos(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR:R^R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyR]s t CatProductoscBseZeiddZeidedeZeie ddZ eidddedeZ ei dZ eideZd Zd d d YZRS( R1iRWRVR=s Presentaciónis DescripciónR<cCs d|iS(Nu%s(R2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs&eZdgZdZdZdgZRS(R2tproductosCatalogo de Productos(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR:R2t IntegerFieldRYtcantidadR>R]R^RMt TextFieldRHR[R\R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyR_s t TipoPaquetecBsHeZeiddZeiddZdZdddYZRS(R1iicCsd|i|ifS(Nu%s - %s(tpkR2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs&eZdgZdZdZdgZRS(R2stipo de paquetesCatalogo de Tipo de Paquetetclave(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR:RfR2R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRds t CatPaquetec BseZeieZeieZei ddddde de Z eie Z ei ddddZeide Zeid d Zd Zd Zd ddYZRS(RJiRKiRWRViiR<R1icCsd|ii|iifS(Nu %s - %s (t proveedorRXt tipoPaqueteR2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4scCs8d}x+|iiD]}||i|i}qW|S(Ni(R`talltpesoRb(R3Rktp((s4/opt/public_html/insumos_test/apps/control/models.pyt peso_paquetes R5cBseZdgZdZdZRS(Ritpaquetes Catalogo Paquetes de Proveedores(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR>RdRitManyToManyFieldR_R`RSRYRkRTRhtprecioR[R\R:t noContratoR4RmR5(((s4/opt/public_html/insumos_test/apps/control/models.pyRgs$  tCatRutacBs?eZeiZeieZdZdddYZRS(cCs d|iS(Nu%s(R2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs&eZdgZdZdZdgZRS(R2trutasCatalogo de Rutas(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s (( R6R7RRaR2RoR@R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRrs  tCatObservacionescBsHeZeiddZeiddZdZdddYZRS(R1iicCs d|iS(Ns%s(R2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs,eZddgZddgZdZdZRS(RfR2t observacionsCatalogo de Observaciones(R6R7R8R9R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s  ((R6R7RR:RfR2R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRts t CatEscuelacBseZeieZeieZeiddZ eiddZ eiddZ eidddZ eidddZ eideZeidddd Zeidddd Zd Zd dd YZRS(R1i idit Domiciliois No de JN.iR<tALTOtURBANAcCs#d|iii|ii|ifS(Ns %s - %s - %s(t localidadRAR2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs/eZdddgZdZdZddgZRS(tfolioRzR2tescuelasCatalogo de EscuelasRf(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5 s((R6R7RR>RrRsR@RzR:RfR2R{t domiciliotno_jnR[RYR\tgradotambitoR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRvs tCatTipoPersonacBsHeZeiddZeiddZdZdddYZRS(R1ii2cCs d|iS(Nu%s(R2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs)eZdgZdZdZddgZRS(R2stipo de personalsCatalogo de Tipo de PersonaRf(R6R7R8R=RDR9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR:RfR2R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRs t CatPersonacBseZeiddZeidddZeidddZeieZ eie ddZ ei de Zeiede de Zd Zd d d YZRS( R1i2sApellido PaternosApellido MaternoR=sTipo de PersonaR<RVRWcCsd|i|i|ifS(Ns %s %s %s(R2tapellidoPaternotapellidoMaterno(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4'sR5cBs eZddgZdZdZRS(R2RtpersonasCatalogo de Persona(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5*s ((R6R7RR:R2RRR>R;RARt tipoPersonaR[RYR\RtusuarioR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRs tProgramacionEntregacBseZeideiZeiddeddZ eidde ddZ ei e ZeieddZei eZei eZdZd d d YZRS( R<tmesestchoicesR1itanotthroughtProgramacionEntregaEscuelacCsd|iiS(Nu%s(RAR2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR48sR5cBseZdgZdZdZRS(t nombre_chofersprogramacion de entregasProgramacion de Entrega(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5;s ((R6R7Rt DateFieldtdatetimetnowt fecha_repartoR:tMesestmestAnoRR>R;RARoRvR|RRRItvehiculoR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyR/s RcBsJeZeieZeieZeiddZ ei ddZ RS(R1iR<i( R6R7RR>Rt programacionRvR|R:testatusRatregistro_abasto(((s4/opt/public_html/insumos_test/apps/control/models.pyR@stComitecBsleZeideiZeieZ eie Z ei ddZ dZdddYZRS(R<t upload_tosDocumentoComite/cCsd|iiS(Nu%s(R|R2(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4LsR5cBseZdgZdZdZRS(R|tcomiteR(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5Os ((R6R7RRRRtfechaR>RvR|Rtpromotort FileFieldtDocumentoComiteR4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRFs  cCs-ti}|i}|djo d}n|djo d}n|djo d}n|djo d}n|d jo d }n|d jo d }n|d jo d}nt|djo d}n]|djo d}nF|djo d}n/|djo d}n|djo d}n|S(NiRiRiRiRiRiRiRiRi Ri Ri Ri R (Rttodaytmonth(tdR((s4/opt/public_html/insumos_test/apps/control/models.pyt mes_actualTs6                          cCsti}|i}|djo d}n|djo d}nt|djo d}n]|djo d}nF|djo d}n/|djo d}n|d jo d }n|S( NiR!iR"iR#iR$iR%(RRtyear(RR((s4/opt/public_html/insumos_test/apps/control/models.pyt ano_actualrs"                tRegistroAbastocBseZeieZeideiZ ei dde ddde Z ei ddedddeZeiZeiZeiZeiZeiZeieZeiZeiededeZdZd Zd Z d d d YZ!RS(R<RRR1isañoRVRWcCs)d|iii|ii|i|ifS(Ns%s - %s - %s- %s(R|RzR2RR(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4scCstiid|iidjoR|idjp |idjp|idjo|id}q|id}n"tiid|i}|i }|S(Ntregistro_abasto__pkiRRR ii( tDotaciontobjectstfiltertidtcountRttotalNinosLechetgetRetleches(R3t resultadotdotacion((s4/opt/public_html/insumos_test/apps/control/models.pyt litros_leches%0 cCstiid|iidjo|idjo|idjo d}q|id}|djo|id}q|djo|idd}q|djo|id}qn"tiid|i}|i}|S(NRiii i( RRRRRt totalNinosRRetpaquetes(R3RR((s4/opt/public_html/insumos_test/apps/control/models.pytpaquete_alimentarios%       R5cBs8eZdgZdZdZdddddddfZRS(R|tabastosRegistro de Abastotver_cuadro_abastosver los cuadro de abastostvalidar_cuadro_abastosvalidar los cuadro de abastostver_requerimientos#ver los requerimientos por procuctot vales_salidasvales de salidatprogramar_entregasprogramar entregatimprimir_programacionsimprimir la programacion(Rsver los cuadro de abastos(Rsvalidar los cuadro de abastos(Rs#ver los requerimientos por procucto(Rsvales de salida(Rsprogramar entrega(Rsimprimir la programacion(RR(R6R7R8R=RDt permissions(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s (("R6R7RR>RvR|RRRtanioR:RRRRRRRatninastninosRRt totalMadresRRR[tenviadoRtRYRuR4RRR5(((s4/opt/public_html/insumos_test/apps/control/models.pyRs !!         tValidarCuadroAbastocBs{eZeieZeiddeddZeiddeddZ ei de Z dZ dd dYZRS( RRR1iRR<cCs#d|ii|i|i|ifS(Ns%s - %s - %s - %s(R;R2RRR\(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBseZdgZdZdZRS(R;t validacionsValidacion de Cuadro de Abasto(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR>R;R:RRRRR[RYR\R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRs  tCatConceptosADcBs&eZeidddZdZRS(tTextoR1icCs d|iS(Ns%s(ttexto(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4s(R6R7RR:RR4(((s4/opt/public_html/insumos_test/apps/control/models.pyRsRc BseZddfZeieZeiddedeZ ei ddedddedeZ eie dedeZ eid dedeZei d dedddedeZeid dedeZd dd YZdZRS(tAumentot DisminucionsPaquetes AlimentariosRVRWsOpcion paquetesRR1itLechess Opcion Lechestconcepto_lecheR5cBseZdZRS(R(sregistro_abasto(R6R7R9(((s4/opt/public_html/insumos_test/apps/control/models.pyR5scCsd|i|i|ifS(Ns %s - %s - %s(Rtopciontconcepto(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4s(RR(RR((R6R7tOPCIONRR>RRRaRYRR:RRRRt opcion_lechesRR5R4(((s4/opt/public_html/insumos_test/apps/control/models.pyRs ''t NivelacioncBs_eZeieZeidZeidZeidddZ eie ddZ RS(sPaquetes AlimentariossPaquetes de LechestTonelajeR<i( R6R7RR>RtprogramacionentregaRattotal_paquetest total_lechesRQRrRs(((s4/opt/public_html/insumos_test/apps/control/models.pyRs tValidarProgramacioncBs{eZeieZeiddeddZeiddeddZ ei de Z dZ dd dYZRS( RRR1iRR<cCs#d|ii|i|i|ifS(Ns%s - %s - %s - %s(R;R2RRR\(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBseZdgZdZdZRS(R;tvalidacion_programacionsValidacion de la Programacion(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s ((R6R7RR>R;R:RRRRR[RYR\R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRs  t PadronPersonac BseZeieZeidddZeidddZeidddZ eidde ddZ eidde ddZ eidZeid ddd egZeid ddZeidddZeidddZeidZeidde ddZeid ddd ed ed egZeieddZeideZdZdddYZRS(sNombre del AlumnoR1i2sApellido MaternosApellido PaternotGeneroRs Grado EscolarsFecha de nacimientotCURPRsNombre del Padre o TutorRVRWR<icCsd|i|i|ifS(Ns %s %s %s(ta_nombret a_paternot a_materno(R3((s4/opt/public_html/insumos_test/apps/control/models.pyR4sR5cBs eZddgZdZdZRS(RRtPadron_personassPadron de Personas(R6R7R8R=RD(((s4/opt/public_html/insumos_test/apps/control/models.pyR5s (( R6R7RR>RvR|R:RRRRtgenerotGradot grado_escolarRta_fecha_nacimientoR,R*t tutor_nombret tutor_maternot tutor_paternottutor_fecha_nacimientot tutor_generoRYR/R-R0R?R[R\R4R5(((s4/opt/public_html/insumos_test/apps/control/models.pyRs$* (RsPrimer Grado - Preescolar(RsSegundo Grado - Preescolar(R sTercer Grado - Preescolar(R sPrimer Grado - Primaria(R sSegundo Grado - Primaria(R sTercer Grado - Primaria(R sCuarto Grado - Primaria(RsQuinto Grado - Primaria(RsSexto Grado - Primaria(Rs Grado Especial(RR(RR(sEnerosEnero(sFebrerosFebrero(sMarzosMarzo(sAbrilsAbril(sMayosMayo(sJuniosJunio(sJuliosJulio(sAgostosAgosto(s Septiembres Septiembre(sOctubresOctubre(s Noviembres Noviembre(s Diciembres Diciembre(s2014s2014(s2015s2015(s2016s2016(s2017s2017(s2018s2018(/t django.coreRtdjango.core.validatorsRtdjango.core.exceptionsRt django.dbRRR'tdjango.contrib.auth.modelsRRRRRRR,R/tModelR0R;R@RFRIRTR]R_RdRgRrRtRvRRRRRRRRRRRRRR(((s4/opt/public_html/insumos_test/apps/control/models.pyts               C