def getProyectos(self, u_id): print "Get Proyectos" u = self.getById(u_id) l = [] print u.roles for i in u.roles: for x in i.permisos_recursos: if x.recurso.proyecto in l: pass else: if x.recurso.proyecto !=None: l.append(x.recurso.proyecto) print x.recurso.proyecto if x.recurso.fase != None: p =ProyectoManager().getById(x.recurso.fase.id_proyecto) if not(p in l): l.append(ProyectoManager().getById(x.recurso.fase.id_proyecto)) return l
def terminar(self, **kw): print "terminar" print("id_proyecto:" + session['id_proyecto']) pm = ProyectoManager() p = pm.getById(int(session['id_proyecto'])) p.estado = 'iniciado' pm.update(p) raise redirect('/fase/fases_por_proyecto?id_proyecto=' + session['id_proyecto'])
def getFases(self, id_proyecto): p = ProyectoManager().getById(int(id_proyecto)) l = [] for i in p.fases: r = rec() r.nombre = i.nombre r.id = self.getIdRecursoFase(i.id_fase) l.append(r) return l
def post_delete(self, *args, **kw): '''delete''' pm = ProyectoManager() proyecto = pm.getById(args) if proyecto.estado == 'creado': pm.deleteById(args) raise redirect('./') else: raise redirect('/proyecto')
def fases_por_proyecto(self, *args, **kw): params = kw fase_filler = FasesProyectoTableFiller(DBSession) id_proyecto = params['id_proyecto'] session['id_proyecto'] = id_proyecto session.save() session['proyecto'] = ProyectoManager().getById( int(id_proyecto)).nombre session.save() session['conn_tipo'] = 0 session.save() proyecto = ProyectoManager().getById(int(id_proyecto)) if proyecto.estado == "creado": raise redirect('/proyecto/' + params['id_proyecto'] + '/edit') fase_filler.init(id_proyecto) tmpl_context.widget = self.table_fases value = fase_filler.get_value() return dict(value_list=value, model="Fase")
def post(self, **kw): '''New''' p = Proyecto() pm = ProyectoManager() params = kw p.descripcion = params['descripcion'] p.nombre = params['nombre'] p.estado = 'creado' p.id_administrador = params['id_administrador'] pm.add(p) raise redirect('./')
def put(self, *args, **kw): '''update''' pm=ProyectoManager() p = pm.getById(args) params = kw p.nombre= params['nombre'] p.descripcion = params ['descripcion'] p.fecha_inicio = params['fecha_inicio'] p.fecha_finalizacion = params['fecha_finalizacion'] p.costo_estimado = params['costo_estimado'] pm.update(p) raise redirect('../')
def buscar_proyecto_fases(self, *args, **kw): params = kw busqueda_filler = BusquedaProyectoTableFiller(DBSession) print params['id_proyecto'] busqueda_filler.init(params['parametro'], params['id_proyecto']) self.table_fases(ProyectoManager().getById(int( params['id_proyecto'])).estado) tmpl_context.widget = self.table_fases value = busqueda_filler.get_value() return dict(value_list=value, model="Fase", id_proyecto=params['id_proyecto'])
def getMenu(self, id_user): print "Get Menu" u = self.getById(id_user) l = [] for x in u.roles: for y in x.permisos_recursos: m = menu_class(); if y.recurso.proyecto != None: m.nombre = y.recurso.proyecto.nombre; m.id = y.recurso.proyecto.id_proyecto if not(self.esta(m,l)): l.append(m) if y.recurso.fase != None: m.nombre = y.recurso.fase.nombre; m.id = y.recurso.fase.id_fase m2 = menu_class() m2.nombre = ProyectoManager().getById(y.recurso.fase.id_proyecto).nombre m2.id = ProyectoManager().getById(y.recurso.fase.id_proyecto).id_proyecto if self.esta(m2,l): if self.esta(m, l[self.index(m2,l)].fases): l[l.index(m2)].fases.append(m) else: m2.fases.append(m) l.append(m2) return l
def post(self, **kw): '''New''' p = Proyecto() pm = ProyectoManager() params = kw p.descripcion = params['descripcion'] p.nombre = params['nombre'] p.estado = 'creado' p.id_administrador = params['administrador'] p.prefijo = params['prefijo'] p.nro_fase = 0 id = pm.add(p) p = pm.getByNombre(params['nombre']) raise redirect('/proyecto/' + str(p.id_proyecto) + '/edit')
def ordenar(self): proyecto = ProyectoManager().getById(int(session['id_proyecto'])) cantidad = len(proyecto.fases) orden = [] for i in range(cantidad): x = i + 1 orden.append(x) fases = [] for f in proyecto.fases: fa = faselist() fa.nombre = f.nombre fa.id = f.id_fase fases.append(fa) print fases print orden return dict(orden=orden, fases=fases)
def getProyecto(self, uid): u = self.getById(uid) l = [] sistema = False for i in u.roles: if i.id_proyecto >=0: l.append(ProyectoManager().getById(i.id_proyecto)) if i.id_proyecto == -1: sistema = True y = DBSession.query(Proyecto).all() for i in y: if i.id_administrador == u.id_usuario: if not(i in l): l.append(i) return (l,sistema)
def put(self, *args, **kw): '''update''' pm = ProyectoManager() p = pm.getById(args) params = kw p.nombre = params['nombre'] p.descripcion = params['descripcion'] p.fecha_inicio = params['fecha_inicio'] p.fecha_finalizacion = params['fecha_finalizacion'] p.costo_estimado = params['costo_estimado'] #p.estado = 'iniciado' pm.update(p) session['id_proyecto'] = args[0] session.save() raise redirect('/fase/')
def fases_por_proyecto(self, *args, **kw): print "Fases por proyecto" params = kw fase_filler = FasesProyectoTableFiller(DBSession) id_proyecto = params['id_proyecto'] proyecto = ProyectoManager().getById(int(id_proyecto)) session['id_proyecto'] = id_proyecto session.save() session['proyecto'] = proyecto.nombre session.save() session['conn_tipo'] = 0 session.save() if proyecto.estado != "creado": session['estado'] = "iniciado" else: session['estado'] = "creado" session.save() if proyecto.estado == "creado": if proyecto.fases == []: try: if not (params['sist']): raise redirect('/proyecto/' + params['id_proyecto'] + '/edit') except: raise redirect('/proyecto/' + params['id_proyecto'] + '/edit') cantidad = False if len(proyecto.fases) > 1: cantidad = True fase_filler.initEstado(proyecto.estado) fase_filler.init(id_proyecto) #self.table_fases.init(proyecto.estado) if proyecto.estado == "iniciado": tmpl_context.widget = self.table_fases_action_null else: tmpl_context.widget = self.table_fases value = fase_filler.get_value() return dict(value_list=value, model="Fase", cant_fases=cantidad)
def put(self, *args, **kw): '''update''' pm = ProyectoManager() p = pm.getById(args) params = kw try: p.nombre = params['nombre'] p.descripcion = params['descripcion'] except: pass p.fecha_inicio = params['fecha_inicio'] p.fecha_finalizacion = params['fecha_finalizacion'] p.costo_estimado = params['costo_estimado'] #p.estado = 'iniciado' pm.update(p) print "Proyecto actualizado" session['id_proyecto'] = args[0] session.save() raise tg.redirect('/fase/fases_por_proyecto', id_proyecto=args[0], sist=True)
def _do_get_provider_count_and_objs(self, buscado="", **kw): pm = ProyectoManager() proyectos = pm.buscar(self.buscado) return len(proyectos), proyectos
def cantidad(self, id_proyecto): if len(ProyectoManager().getById(id_proyecto).fases) > 2: return True else: return False
def post_delete(self, *args, **kw): '''delete''' pm = ProyectoManager() pm.deleteById(args) raise redirect('./')
def getProyecto(self, id_proyecto): p = ProyectoManager().getById(int(id_proyecto)) r = rec() r.nombre = p.nombre r.id = self.getIdRecursoProyecto(p.id_proyecto) return [r]