def descargar(self, *args, **kw): '''Metodo para descarga de adjuntos''' try: item, navegacion = self.getNavegacionFromIdItem(int(kw["id_item"])) except: flash(('Direccion no valida.'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(item.id_fase, 'lista_items')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error') raise redirect("/index") id_fase = item.id_fase if(kw['Descargar'] == 'Descargar'): id_archivo = kw["id_adjunto"] am = AdjuntoManager() archivo = am.getById(id_archivo) rh = response.headers rh['Content-Type'] = 'application/octet-stream' disposition = 'attachment; filename="'+ archivo.nombre +'"' rh['Content-disposition'] = disposition rh['Pragma'] = 'public' # for IE rh['Cache-control'] = 'max-age=0' #for IE return archivo.archivo else: raise redirect('/item/items',id_fase=id_fase)
def adjuntar(self,*args,**kw): '''Metodo que muestra el formulario para adjuntar un nuevo archivo''' am = AdjuntoManager() print 'kw: ', kw try: item, navegacion = self.getNavegacionFromIdItem(kw['id_item']) except: flash(('Direccion no valida.'), 'error') raise redirect("/index") if not(Secure().FiltrarByFase(item.id_fase, 'modificacion_item')): flash(('USTED NO CUENTA CON PERMISOS SUFICIENTES.'), 'error') raise redirect("/index") contador = 0 if 'contador' in kw: contador = 1 adjuntos = am.getByItem(item.id_item) bandera = False if adjuntos: bandera=True return dict(page='index', id_item = kw['id_item'], id_fase= item.id_fase, adjuntos=adjuntos, \ bandera = bandera, contador = contador )