/7Uc@sddlZddlmZmZddlmZddlTddlmZddlTddl m Z ddl m Z m Z mZddlmZddlZdd lmZdd lmZdd lmZd ejfd YZddlmZmZmZdejfdYZdejfdYZdejfdYZ dejfdYZ!dejfdYZ"ddl#TdZ$dZ%defdYZ&defdYZ'edZ(ddl)Tddl*Tddl+Td Z,d!Z-d"Z.dd#l/m0Z0d$ejfd%YZ1dd&lm2Z2d'e2j3fd(YZ4dd)l5m6Z6d*e2j3fd+YZ7d,e2j3fd-YZ8d.e2j3fd/YZ9d0ejfd1YZ:d2e2j;fd3YZ<d4e2j3fd5YZ=d6e2j3fd7YZ>d8e2j3fd9YZ?e@d:ZAd;eBfd<YZCd=eeCfd>YZDd?eeCfd@YZEdAZFdS(BiN(tdatet timedelta(t RedirectView(t*(tviewsets(trender_to_response(tListViewt DetailViewtView(t JasperClient(t never_cache(t csrf_exempt(tmethod_decoratortDependenciaViewSetcBseZeZRS((t__name__t __module__t Dependenciatmodel(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR s(t send_mailtBadHeaderErrortEmailMultiAlternativestProyectoViewSetcBs>eZeZeZeedZdZ e dZ RS(cOstt|j||S(N(tsuperRtdispatch(tselftargstkwargs((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRscCsptjjd|jj}t|dkr9d|_n|jj|_tjj |_ t t |j |S(Ntusuariot Responsablesi(tUsuariosPerfiltobjectstgettrequesttusertstrt estatus_idtcreadortdatetimetnowt fecha_terminoRRtpre_save(Rtobjtperfil((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR(s  c Cs+|r'djg|jjD]}d|jd^q}djg|jjD]}|jd|j^qR}d}d|j|f}|d}|d}ynxg|jjD]V}d |jd |j} } } t| || | g} | j|d | j qWWq't k r#q'Xnd S( s6 #agregar a la columna porcentaje actividades = Actividad.objects.filter(proyecto = self.id, estatus=True)#.annotate(por=Sum('porcentaje')) porcentaje = 0 if actividades: porcentaje = actividades[0].porcentaje * actividades.count() return porcentaje t,t's, t ts]Se le ha asignado un nuevo proyecto de nombre "%s" al usuario o usuarios %s.

skSi desea ingresar al sistema en este momento, de clic en la liga siguiente para ver los detalles.

s       Ingresar al sistema de ProyectossProyecto asignado (%s)sdgtic@tabasco.gob.mxs text/htmlN( tjoint responsabletalltemailt first_namet last_nametnombreRtattach_alternativetsendR( RR)tcreatedtstcorreostusuariost text_contenttmessagetresponsablefortsubjectt from_emailttotmsg((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyt post_save(s 69   ( RRtProyectoSerializertserializer_classtProyectoRR R RR(tFalseRC(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs  tProyectosViewSetcBseZeZeZdZRS(cCsO|jj|_tjj|_tjjdd|_ t t |j |S(Ntpki( R R!R$R%R&R'tEstatusRRtestatusRRHR((RR)((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR(Qs(RRRDRERFRR((((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRHMstComentarioViewSetcBseZeZeZdZRS(cCs7|jj|_tjj|_tt|j|S(N( R R!RR%R&tfechaRRLR((RR)((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR(]s(RRtComentarioSerializerREt ComentarioRR((((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRLYstActividadViewSetcBs)eZeZeZdZedZRS(cCs(tjj|_tt|j|S(N(R%R&RMRRPR((RR)((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR(fsc Csetjjd|j}|jdkrax=|D])}td|j|_|jq1Wn d|_|rad|j}dj g|j j D]}d|j d^q}dj g|j j D]}|j d|j^q}d |j} | d |} d } y=x6|j j D]%} t|| | t| j gq WWqatk r]qaXndS( NtproyectoigY@sActividad asignada (%s)R+R,s, R-s$Se le ha asignado la actividad "%s" sa los usuarios %s. sdgtic@tabasco.gob.mx(t ActividadRtfilterRQtcountR"t porcentajetsavet descripcionR/RR1R2R3R4RR( RR)R8t actividadest actividadR?R9R:R;R=R@t usuariofor((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRCjs$   69 ' ( RRtActividadSerializerRERRRR(RGRC(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRPcs tEstatusViewSetcBseZeZRS((RRRJR(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR\scCs t|dS(Ns index.html(tTemplateResponse(R ((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytindexscCs t|dS(Ns pruebaa.html(R](R ((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytpruebast IndexViewcBseZdZRS(cKsdS(Ns/static/zalamero/app/index.html((RR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytget_redirect_urls(RRRa(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR`st ChismosoViewcBseZdZRS(cKsdS(Ns3/static/zalamero/app/templates/index.html#/chismoso((RR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRas(RRRa(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRbscCs t|dS(Ns login.html(R](R ((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytlogin_scCst|}|jjd}|jjd}td|d|}d}|dk r|jrt|||jrtdS|j dkrtdStdSq|d}n |d}t |d i|d 6S( NtusernametpasswordR.s/hometChismosos /chismososcuenta desactivadas-Usuario no valido, verifique sus credencialess login.htmltmsj( tActualizarProyectostPOSTRt authenticatetNonet is_activetlogintis_stafftHttpResponseRedirectRdR](R tactRdReR!tmensaje((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytvalidars           cCst|}tdS(Nt/(tlogoutRo(R tresponse((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyt logout_users cCsxd}y+tjjd|jj}t|}Wnd}d}nXtdi|jd6|d6|d6dt|S(Nt usuario_ids index.htmlRR*txtcontext_instance( RkRRRR!tidR"RtRequestContext(R R*Rx((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pythomes (tUsert UserViewSetcBsGeZeZejjZejde Zej ddZeZ RS(RnRdRf( RRtUserSerializerRER}RR1tquerysetRSRGtexcludeR(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR~s (tgenericstComentarioListcBseZeZdZRS(cCs.|jjjd}tjjd|}|S(Nt proyecto_id(R tGETRRORRS(RRQR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyt get_querysets(RRtComentarioSerializerListRER(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs(tQt ProyectoListcBs,eZeZeedZdZRS(cOstt|j||S(N(RRR(RRR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRsc Cs~|jj}tjjd|}t|}t|}|dkr|dkrtj}tjtdd}t jj t d||fddt d dB}qQt jj j dd}n|d krt jj t d|t d|jBjj dd}n:t jj t d|t d|jjBj dd}|jjjdd}|r|j d|}n|jjjdd} | r|j d| }n|jjjdd} | r|j d| }n|jjjdd} | r|j d| }n|jjjdd} | rz| dkre|j d djd}qz|j d | }n|S(NRt AdministradorRftdaysi t fecha__rangeR#itestatus_id__iniiitUsuariosR0t&actividad__actividadesusuario__usuarioR$RQR.Rzt creador_idt dependenciatdependencia_idRKt0tfecha_estimada_entrega(iii(iii(R R!RRRR"RttodayRRFRSRR1RRztdistinctRtorder_by( RRdR*ttipoRthoytdRRQR$RR0RK((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs>      7 @: (RRtProyectoSerializerListRER R RR(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRstProyectosTerminadosListcBseZeZdZRS(cCs|jj}tjjd|}t|}|dkrZtjjddjd}n|dkrtjjt d|t d|j Bj j dd j dd j dd }n!tjjt d|dd}|S( NRRR#is-idRR0Riii( R R!RRRR"RFRSRRRzRR(RRdR*RR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs   ! X!(RRRRER(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRst ActividadListcBseZdZeZdZRS(s+vista para rest url consulta de actividadescCs |jj}tjjd|}t|}|dksE|dkrWtjj}ntjjd|}|jj jdd}|r|jd|}n|jj jdd}|r|jd|}n|jj jdd}|r|jd|}n|S( NRRRRQR.Rt usuario__inRK( R R!RRRR"RRR1RSR(RRR*RRRQRK((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR&s   (RRt__doc__tActividadSerializerlistRER(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR#stActividadesUsuarioViewSetcBs eZeZeZedZRS(cCsntjjd|j}|jdkrax=|D])}td|j|_|jq1Wn d|_dS(NRYigY@(tActividadesUsuarioRRSRYRTR"RURV(RR)R8RXRY((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRCAs  (RRtActividadesUsuarioSerializerRERRRGRC(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR>stTerminarActividadViewSetcBs#eZeZdZeZdZRS(t actividad_idcCs%|jj|_tt|j|S(N(R R!RRRR((RR)((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR(Ys(RRtTerminarActividadesSerializerREt pk_url_kwargRRR((((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRTstActividadesUsuarioListcBseZeZdZRS(cCstjj}|jjjd}|jj}|rZtjjd|d|jj}n|jjjdd}|r|jd|}n|S(NRYtactividad__proyectoRR.R(RRR1R RRR!RS(RRRYtact_responsableR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRbs $(RRt ActividadesUsuarioSerializerlistRER(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR`stActividadesUsuarioListAdmincBseZeZdZRS(cCsCtjj}|jjjd}|r?|jd|}n|S(NRY(RRR1R RRRS(RRRY((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRss (RRRRER(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRqstUserListcBseZeZdZRS(cCstjjjd}|jdt}|jdd}|jjj d}|rt |}|dkr|jd|}q|jdt |}n|S(Ns-idRnRdRfRYi( R}RR1RRSRGRR RRtinttabs(RRRY((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR}s  (RRRRER(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR{scCs<tjjd|jj}t|di|jd6|d6S(NRws perfil.htmlR!tp(RRRR!RzR](R tuser_idR((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyR*st JasperMixcBs,eZejZdZdZiddZRS(t jasperadmincCsjt|j|j|j}|j||s0dn||}t|d}|j|d|jdS(s Gennara reportes atravez del jasperserver :param path: :param namefile: :param params: :param tipo: default is PDF tPDFtwtdataN(R turlRdRet runReporttfiletwritetclose(RtpathtnamefiletparamsRtjtrettf((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytgenerateReports !N( RRtsettingst JASPERSERVERRRdReRkR(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs treporte_directorViewcBseZdZRS(cOsG|jd}|jdtjdit|d6dtddS(NRzs#/reportes_zalamero/director_reportes/reportes/reporte_director.pdfRtpdfs /media/reportes/reporte_directors.pdf(RRRt MEDIA_ROOTR"Ro(RR RRR!((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs*(RRR(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRst reporteViewcBseZdZRS(cOsG|jd}|jdtjdit|d6dtddS(NRzs/reportes_zalamero/reportes/reportes/reporte.pdfRRs/media/reportes/reportes.pdf(RRRRR"Ro(RR RRR!((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRs*(RRR(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRscCstjjdd}tj}x|D]}|jtdd}|jtdd}||krtjjd|j}d|_ |j q(||kr(tjjd|j}d|_ |j q(q(WdS( NRiiiRiRz(iii( RFRRSRRRRRRzR#RV(R t proyectost fecha_actualRRQt proyecto2tpr((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pyRhs       (GR%RRtdjango.views.generic.baseRtZalamero.modelstrest_frameworkRtZalamero.serializerstdjango.shortcutsRtdjango.views.genericRRRtpyjasperclientR tjsontdjango.views.decorators.cacheR tdjango.views.decorators.csrfR tdjango.utils.decoratorsR t ModelViewSetR tdjango.core.mailRRRRRHRLRPR\tdjango.template.responseR^R_R`RbRctdjango.contrib.authtdjango.contrib.auth.decoratorst django.httpRrRvR|tdjango.contrib.auth.modelsR}R~Rt ListAPIViewRtdjango.db.modelsRRRRRtRetrieveUpdateAPIViewRRRRtlogin_requiredR*tobjectRRRRh(((sJ/home/alberto/Documentos/sistemas_zalameros2015/zalamero/Zalamero/views.pytsb    6  !           8