]c!@svddklZddkZddklZddklZddklZddkl Z l Z l Z ddk l Z lZddklZlZdd klZdd klZdd klZlZlZdd klZlZlZdd klZddk l!Z!ddk"l#Z#ddk$l%Z%ddk&l'Z'l(Z(l)Z)ddk*l+Z+ddk,l-Z-l.Z.l/Z/ddk0l1Z1l2Z2l3Z3ddk4l5Z5ddk6l7Z7ddk8l9Z9ddk:l;Z;ddk<l=Z=ddk>Tddk?Tddk@TddkAlBZBlCZClDZDlEZElFZFlGZGlHZHddkIl1Z1l2Z2l3Z3dZJdZKdZLde;fd YZMd!ZNd"ZOd#e+fd$YZPd%eMfd&YZQd'e+fd(YZRd)eMfd*YZSd+e(fd,YZTd-e(fd.YZUd/e-fd0YZVd1e.fd2YZWd3e+fd4YZXd5eMfd6YZYd7eMfd8YZZd9eMfd:YZ[d;e+fd<YZ\d=eMfd>YZ]d?e)fd@YZ^dAe(fdBYZ_dCe)fdDYZ`dEe(fdFYZadGe(fdHYZbdIe(fdJYZcdKe-fdLYZddMe/fdNYZedOe'fdPYZfdQe-fdRYZge dSZhdTe)fdUYZidVe(fdWYZjdXZkdYe-fdZYZld[e'fd\YZmd]e(fd^YZnd_e(fd`YZodae+fdbYZpdceMfddYZqdeeMfdfYZrdgeMfdhYZsdie'fdjYZtdke(fdlYZudme)fdnYZvdoe)fdpYZwe dqZxe drZydse-fdtYZzduZ{dve7fdwYZ|dxZ}dye/fdzYZ~d{e/fd|YZdS(}i(tunicode_literalsN(t attrgetter(tdatetime(tmessages(tlogin_requiredtpermission_requiredtuser_passes_test(tUsertGroup(tPermissionDeniedtImproperlyConfigured(t send_mail(treverse(tMaxtQtCount(tHttpResponseRedirectt HttpResponsetHttp404(trender_to_response(tTemplateResponse(tRequestContext(tmethod_decorator(tListViewt DetailViewtView(t TemplateView(t CreateViewt UpdateViewtFormView(t Paginatort EmptyPagetPageNotAnInteger(tstatus(t ListAPIView(tResponse(tAPIView(tIsAuthenticated(t*(tUserSerializertOficioSerializertOficiosRecibidosSerializertOficiosRecibidosCCPSerializertOficiosAsignadosSerializertOficiosAsignadosCCPSerializertOficiosEnviadosSerializercCst|dp t|dS(Nu funcionariou adscripcion(thasattr(tuser((s(/opt/public_html/hermes/oficios/views.pyttiene_adscripcion&scCs(tiidd}||iijS(Ntnameuadmindep(Rtobjectstgettgroupstall(R/tg((s(/opt/public_html/hermes/oficios/views.pytes_admin_dependencia*scCsK|g}x;|iiD]*}x!t|D]}|i|q,WqW|S(N(tadscripcion_setR5tget_dependencias_hijastappend(t adscripciont dependenciastdth((s(/opt/public_html/hermes/oficios/views.pyR90s  t DataTableViewcBs>eZdZdZdZdZdZdZdZ RS(cCsI|io|iS|io|iii|_|iStddS(Nu(Debe especificar un queryset o un modelo(tquerysettmodelR2R5R (tself((s(/opt/public_html/hermes/oficios/views.pyt get_queryset=s   cCs%|iptdn|iSdS(Nu,Debe especificar un serializer para la vista(t serializerR (RB((s(/opt/public_html/hermes/oficios/views.pytget_serializerFs cCstddS(Nu'Debe implementar la función get_filter(R (RBt filter_stringR@((s(/opt/public_html/hermes/oficios/views.pyt get_filterLsc Os|i}|i}|iid}|o|i||}n|i}|iid}|iid} | o|| }n|iid} | o|| }n|i|_|i|dt} h|d6|d6|d6| id6} t | d t i S( NusSearchusEchou iDisplayStartuiDisplayLengthtmanyu iTotalRecordsuiTotalDisplayRecordsuaaDataR!( RCtcounttGETR3RGRERDtTruetdataR#R!t HTTP_200_OK( RBtrequesttargstkwargsR@t iTotalRecordstsSearchtiTotalDisplayRecordstsEchot iDisplayStarttiDisplayLengthRDRL((s(/opt/public_html/hermes/oficios/views.pyR3Os*    N( t__name__t __module__tNoneRARDR@RCRERGR3(((s(/opt/public_html/hermes/oficios/views.pyR?8s  u&Por favor, corrija el siguiente error:cCst}|iioAx>|iiD])}|iid|io t}q&q&Wn|iio*|iid|io t}qn|i |jo t}n|S(u Este método determina si el oficio dado es accesible para el usuario dado. True cuando el oficio ha sido asignado o enviado al usuario así cuando el usuario de captura del oficio es el usuario en cuestión. tusernametusuarios_asignados( tFalset envio_settexistsR5tusuarios_recibentfilterRZRKtasignacion_sett propietario(toficiotusuariotpermisotenvio((s(/opt/public_html/hermes/oficios/views.pytget_perm_oficioss t MisOficioscBseZdZdZRS(uoficios/mis_oficios.htmlcKs0tt|i|}d|deZdZeZeZdZdZdZ dZ RS(u Vista para crear un oficio. El usuario que crea el oficio será asignado a la propiedad propietario del objeto oficio. Folio será autoincrementable para el usuario. cOsh}d}tiid|ii}|io3d|id|iiitdd}n||d<||_t t |i ||||S(NiRbufoliou folio__max( RtR2R`RNR/R^t aggregateR tinitialRiRR3(RBRNRORPRtfoliotoficios((s(/opt/public_html/hermes/oficios/views.pyR3 s 3  cCstiid|ii}|io6dtiid|iiitdd}nd}|ii|i_ |iii |i_ ||i_ t i|id|itt|i|S(NRbiufoliou folio__maxu Oficio %s agregado correctamente(RtR2R`RNR/R^RR tinstanceRbRuRsRRtsuccessRiRt form_valid(RBtformtoficios1R((s(/opt/public_html/hermes/oficios/views.pyR,s 6 cCs)ti|ittt|i|S(N(RterrorRNt ERROR_MESSAGERiRt form_invalid(RBR((s(/opt/public_html/hermes/oficios/views.pyR?scKs&tt|i|}d|d<|S(Nuactiveuoficios(RiRRj(RBRPRk((s(/opt/public_html/hermes/oficios/views.pyRjCs ( RWRXRxRtRAt OficioFormt form_classR3RRRj(((s(/opt/public_html/hermes/oficios/views.pyRs  t OficioUpdatecBsbeZdZeZeZeeee dde dZ dZ dZ dZRS(u* Vista para actualizar el oficio. uoficios.change_oficiotraise_exceptioncOs_|i|_|ii|iij p|iiio tntt |i ||S(N( RRRbRNR/R]R^R RiRRw(RBRORP((s(/opt/public_html/hermes/oficios/views.pyRwPs- cCs0ti|id|itt|i|S(Nu#Oficio %s actualizado correctamente(RRRNRRiRR(RBR((s(/opt/public_html/hermes/oficios/views.pyRZscCs)ti|ittt|i|S(N(RRRNRRiRR(RBR((s(/opt/public_html/hermes/oficios/views.pyR^scKs&tt|i|}d|d<|S(Nuactiveuoficios(RiRRj(RBRPRk((s(/opt/public_html/hermes/oficios/views.pyRjbs (RWRXRxRtRARRRRRRKRwRRRj(((s(/opt/public_html/hermes/oficios/views.pyRIs $  tOficiosRecibidoscBs,eZdZeedZdZRS(uoficios/oficios_recibidos.htmlcOstt|i|||S(N(RiRRw(RBRNRORP((s(/opt/public_html/hermes/oficios/views.pyRwkscKs0tt|i|}d|denvio__usuario_envia__funcionario__apellido_paterno__icontainst>envio__usuario_envia__funcionario__apellido_materno__icontainst6envio__usuario_envia__personafisica__nombre__icontainst@envio__usuario_envia__personafisica__apellido_paterno__icontainst@envio__usuario_envia__personafisica__apellido_materno__icontainst envio__usuario_envia__first_nametenvio__usuario_envia__last_namet#envio__oficio__no_oficio__icontainst envio__oficio__asunto__icontainst%envio__oficio__descripcion__icontains(R`R(RBRFR@((s(/opt/public_html/hermes/oficios/views.pyRG|s (RWRXR)RDRCRG(((s(/opt/public_html/hermes/oficios/views.pyRvs tOficiosEnviadosAPIViewcBs eZeZdZdZRS(cCs|iiiiidS(Nuenvio(RNR/RR5R(RB((s(/opt/public_html/hermes/oficios/views.pyRCscCs|itd|td|Btd|Btd|Btd|Btd|Btd|Btd|Btd |Btd |Btd |Btd |Btd |BS(Nt.usuario_recibe__adscripcion__nombre__icontainst*usuario_recibe__empresa__nombre__icontainst.usuario_recibe__funcionario__nombre__icontainst8usuario_recibe__funcionario__apellido_paterno__icontainst8usuario_recibe__funcionario__apellido_materno__icontainst0usuario_recibe__personafisica__nombre__icontainst:usuario_recibe__personafisica__apellido_paterno__icontainst:usuario_recibe__personafisica__apellido_materno__icontainstusuario_recibe__first_nametusuario_recibe__last_nameRRR(R`R(RBRFR@((s(/opt/public_html/hermes/oficios/views.pyRGs (RWRXR-RDRCRG(((s(/opt/public_html/hermes/oficios/views.pyRs tOficiosRecibidosCCPAPIViewcBs eZeZdZdZRS(cCs|iiiiidS(Nuenvio(RNR/trecepcioncopia_setR5R(RB((s(/opt/public_html/hermes/oficios/views.pyRCscCs|itd|td|Btd|Btd|Btd|Btd|Btd|Btd|Btd |Btd |Btd |Btd |Btd |BS(NRRRRRRRRRRRRR(R`R(RBRFR@((s(/opt/public_html/hermes/oficios/views.pyRGs (RWRXR*RDRCRG(((s(/opt/public_html/hermes/oficios/views.pyRs t OficiosRecibidosAdminDependenciacBsVeZdZdZeeeeeeeedZ dZ RS(uL Vista para ver los oficios que han sido enviados a la dependencia. uoficios/oficios_recibidos2.htmlcOstt|i||S(N(RiRRw(RBRORP((s(/opt/public_html/hermes/oficios/views.pyRwscKs0tt|i|}d|dRw(RBRORP((s(/opt/public_html/hermes/oficios/views.pyRwFscCs5|iiiitddtddBidS(NR"iiu asignacion(RNR/R'R`RR(RB((s(/opt/public_html/hermes/oficios/views.pyRCJscKstt|i|}d|dRjRNR/R'R`RR+tsortedtchainRRK(RBRPRktquery1tquery2((s(/opt/public_html/hermes/oficios/views.pyRjMs  $+( RWRXRxRlRRRwRCRj(((s(/opt/public_html/hermes/oficios/views.pyR>@s  tOficiosAtendidosDetailcBsAeZdZeZdZeedZdZ dZ RS(u$docstring for OficiosAtendidosDetailuoficios/atendidos_detail.htmlcOstt|i||S(N(RiRDRw(RBRORP((s(/opt/public_html/hermes/oficios/views.pyRw\scOsJ|i|_|i}t|_|itt|i|||S(N(RRRKRRRiRDR3(RBRNRORPR((s(/opt/public_html/hermes/oficios/views.pyR3`s    c Ks5tiid|id}y-|iiiGHtiid|ii}Wntij o d}nXt t |i |}t |ii}|iiid}|djo |}nd}|iiiitddtddBid }t |d iit |jo_d} d} x|D]D} | d jo | i} n| djo | i}n| d 7} q4Wn9|d ii|jo$|djo|d ii} n|djo|iiiitddtddBid |id }|idjoYd} xV|D]D} | djo | i} n| d jo | i}n| d 7} q.Wqd} n5|} x+|D]#} | i|jo | i}qqWd |d <||d<||d<| |d<||d<||d<|ii} | io|djo t} nt} | |d<|S(NRuupkRusiR"iiu asignacioniRuactiveuoficiosu respuestau recepcion_iduanterioru siguienteubandera(RR2R3RPRRcRuRtRRYRiRDRjRRRNRJR/R'R`RRRIt is_superuserRKR\(RBRPRRRkRRRRRRRRdR((s(/opt/public_html/hermes/oficios/views.pyRjksl   7&    ' C              ( RWRXRxRRARlRRRwR3Rj(((s(/opt/public_html/hermes/oficios/views.pyRDWs  t AtenderOficiocBsDeZdZeeeeddedZdZRS(udocstring for AtenderOficiouoficios.change_oficioRcOstt|i||S(N(RiRFRw(RBRORP((s(/opt/public_html/hermes/oficios/views.pyRwscOs|iidoltiid|iid}|idjo7|iid}d|_||_ti|_qn|iidolt iid|iid}|iid}|idjo%d|_ti|_||_qnt dS(Nu asignacionRiu observacionu recepcionuok( RJR3RR2R"t observacionesRRR#RR(RBRNRORPRt observacionR((s(/opt/public_html/hermes/oficios/views.pyR3s!  ! ( RWRXRxRRRRKRwR3(((s(/opt/public_html/hermes/oficios/views.pyRFs $tAtenderSinRespuestacBsDeZdZeeeeddedZdZRS(udocstring for AtenderOficiouoficios.change_oficioRcOstt|i||S(N(RiRIRw(RBRORP((s(/opt/public_html/hermes/oficios/views.pyRwscOs|iidovtiid|iid}|idjoA|iid}d|_||_ti|_|i qn|iidovt iid|iid}|iid}|idjo/d|_ti|_||_|i qnt dS(Nu asignacionRiu observacionu recepcionuok( RJR3RR2R"RGRRR#RRR(RBRNRORPRRHR((s(/opt/public_html/hermes/oficios/views.pyR3s"!  !  ( RWRXRxRRRRKRwR3(((s(/opt/public_html/hermes/oficios/views.pyRIs $cCs\tiiid|i}|i}tiiid|i}|ididt d}|i}t iiid|idt }|i}t iiid|i}|i} t iiid|idd } | i} t iiid|idd } | i} t iiid|i}|i}t iiid |idd }|i}t iiid |idd }|i}t iiid |i}|i}d }h |d 6d d6|d6|d6| d6|d6|d6| d6| d6|d6|d6|d6}t d|dt|S(NRbRuoficiotdcountRRtasignacion__usuario_asignaR"iiRuactiveu oficio_bcuiniciouconteo_mis_oficiosuconteo_recibidos_leidosuconteo_recibidosuconteo_enviadosuconteo_asignacionesuconteo_asignaciones_atenderuconteo_asignaciones_atendidosuconteo_asignadosuconteo_asignados_atenderuconteo_asignados_atendidosuoficios/oficio_graficas.htmlR (RtR2R5R`R/RIRtvaluestannotateRRRKRRR(RNt mis_oficiostconteo_mis_oficiostenviadost enviados2tconteo_enviadostrecibidos_leidostconteo_recibidos_leidost recibidostconteo_recibidostasignaciones_atendertconteo_asignaciones_atendertasignaciones_atendidostconteo_asignaciones_atendidosRtconteo_asignacionestasignados_atendertconteo_asignados_atendertasignados_atendidostconteo_asignados_atendidost asignadostconteo_asignadost oficio_bctpaquete((s(/opt/public_html/hermes/oficios/views.pytgraficarsH ! $  $ $  $ $   cCs t|dS(Nu perfil.html(R(RNtuser_id((s(/opt/public_html/hermes/oficios/views.pytperfil'stResponderConOficiocBsGeZdZeZeZdZdZdZ dZ dZ RS(u docstring for ResponderConOficiocKs&ti|}d|dRDRFRIRdRfRgRrRsRRR(((s(/opt/public_html/hermes/oficios/views.pyts    4   8   2'S*@@Lu!=E ~B= S@] " '