def lista_de_proyectos(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} proyectos = DBSession.query(Proyecto).filter_by(**d) else: proyectos = DBSession.query(Proyecto) total = proyectos.count() column = getattr(Proyecto, sortname) proyectos = proyectos.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) for p in proyectos: log.debug("Lider == %s" % (p.lider.name)) rows = [{'id' : proyecto.id, 'cell': [proyecto.id, proyecto.name, proyecto.lider.name, proyecto.descripcion, proyecto.estado, (', '.join([f.name for f in proyecto.fases]))]} for proyecto in proyectos] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def fetch(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} permisos = DBSession.query(Permiso).filter_by(**d) else: permisos = DBSession.query(Permiso) total = permisos.count() column = getattr(Permiso, sortname) log.debug("column = %s" %column) permisos = permisos.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : permiso.id, 'cell': [permiso.id, permiso.permiso_name, permiso.descripcion, (', '.join([r.name for r in permiso.roles])) ]} for permiso in permisos ] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def fetch(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: #____________________________________________ # hacer esto para cada dato del tipo numerico if (qtype=="id"): id=int(query) #_____________________________________________ offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} tipositems = DBSession.query(TipoItem).filter_by(**d) else: tipositems = DBSession.query(TipoItem) total = tipositems.count() column = getattr(TipoItem, sortname) tipositems = tipositems.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : tipoitem.id, 'cell': [ tipoitem.id, tipoitem.name, tipoitem.descripcion, tipoitem.complejidad, (','.join([ce.name for ce in tipoitem.campos_extra]))] } for tipoitem in tipositems] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def usuarios_del_sistema(self, fid=None, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} usuarios = DBSession.query(Usuario).filter_by(**d) else: usuarios = DBSession.query(Usuario) if fid: column = getattr(Usuario, sortname) usuarios = usuarios.order_by(getattr(column,sortorder)()) u=self.get_usuarios(usuarios,fid,offset,rp) total = usuarios.count() usuarios=u else: total = usuarios.count() column = getattr(Usuario, sortname) usuarios = usuarios.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : usuario.id, 'cell': [usuario.id, usuario.name, self.roles_select(usuario.id)]} for usuario in usuarios ] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def agregar_usuarios(self,**kw): idsyroles = kw['idsyroles'] idsyroles = idsyroles.split(";") f_id = idsyroles[0] idsyroles.remove(f_id) idsyroles.pop() cantidad = len(idsyroles) f_id = int(f_id) f=DBSession.query(Fase).filter_by(id=f_id).first() p=f.proyecto conn = config['pylons.app_globals'].sa_engine.connect() for idyrol in idsyroles: idyrol=idyrol.split(',') u_id = int(idyrol[0]) rol = int(idyrol[1]) ins=usuario_rol_fase_table.insert().values(usuario_id=u_id,rol_id=rol,fases_id=f_id) ins.compile().params log.debug('ins.params: %s' %ins.compile().params) log.debug('con: %s' %conn) conn.execute(ins) u=DBSession.query(Usuario).filter_by(id=u_id).first() p.usuarios.append(u) DBSession.flush() conn.close() msg = str(cantidad) + " usuarios agregados con exito!" type="succes" return dict(msg=msg,type=type)
def usuarios_asignados(self,fid=None, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} usuarios = DBSession.query(Usuario).filter(Usuario.fases.any(id = fid)).filter_by(**d) else: d = {'id':int(fid)} usuarios = DBSession.query(Usuario).filter(Usuario.fases.any(id = fid)) total = usuarios.count() column = getattr(Usuario, sortname) usuarios = usuarios.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : u.id, 'cell': [u.id, u.name, self.get_rol(u.id,fid), ]} for u in usuarios] log.debug('rows = %s' %rows) result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def lista_de_proyectos(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: if (sortname=='fases') or (sortname=='usuarios'): sortname='name' current_user=request.identity['user'] offset = (int(page)-1) * int(rp) if (query): d={qtype:query,'lider_id':current_user.id} proyectos = DBSession.query(Proyecto).filter_by(**d) else: d={'lider_id':current_user.id} proyectos = DBSession.query(Proyecto).filter_by(**d) total = proyectos.count() column = getattr(Proyecto, sortname) proyectos = proyectos.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) # botonIniciar = '<input type="submit" value="Iniciar" onClick=doCommandFases("Iniciar",$("#proyectosConfigurarFlexi"))>' # botonVerFases = '<input type="submit" class="clickclass" value="Ver Fases">' #-------------------------------- botones=botonIniciar+botonVerFases rows = [{'id' : proyecto.id, 'cell': [proyecto.id, proyecto.name, proyecto.empresa, proyecto.estado, (self.tiene_fases(proyecto)), (self.tiene_usuarios(proyecto))]} for proyecto in proyectos] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def quitar_usuarios(self,**kw): ids = kw['ids'] ids = ids.split(",") f_id = ids[0] ids.remove(f_id) ids.pop() c1 = len(ids) c2=0 f_id = int(f_id) f=DBSession.query(Fase).filter_by(id=f_id).first() p=f.proyecto for id in ids: u_id = int(id) u=DBSession.query(Usuario).filter_by(id=u_id).first() f.usuarios.remove(u) fases_del_usuario=DBSession.query(Fase).filter(Fase.usuarios.any(id = u_id)) fases_del_proyecto=fases_del_usuario.filter_by(proyecto_id=p.id) if fases_del_proyecto.count()==0: c2=c2+1 p.usuarios.remove(u) DBSession.flush() if c2>0: msg_proyectos=str(c2)+" usuarios ya no forman parte de este proyecto." else: msg_proyectos='' log.debug('msg_proyectos:= %s' %msg_proyectos) msg = str(c1) + " usuarios quitados de la fase con exito!" type="succes" return dict(msg=msg,type=type,msg_p=msg_proyectos)
def fetch(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} usuarios = DBSession.query(Usuario).filter_by(**d) else: usuarios = DBSession.query(Usuario) total = usuarios.count() column = getattr(Usuario, sortname) usuarios = usuarios.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : usuario.id, 'cell': [usuario.id, usuario.name, usuario.apellido, usuario.email, usuario.estado]} for usuario in usuarios ] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def fases_asignadas(self,pid=None, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: offset = (int(page)-1) * int(rp) if (query): d = {qtype:query,'proyecto_id':int(pid)} fases = DBSession.query(Fase).filter_by(**d) else: d = {'proyecto_id':int(pid)} fases = DBSession.query(Fase).filter_by(**d) total = fases.count() column = getattr(Fase, sortname) fases = fases.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : fase.id, 'cell': [fase.id, fase.name, fase.descripcion, fase.estado, fase.orden]} for fase in fases] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def post_delete(self,**kw): id = kw['id'] log.debug("Inside post_fetch: id == %s" % (id)) if (id != None): d = {'id':id} permiso = DBSession.query(Permiso).filter_by(**d).first() nombre=permiso.permiso_name DBSession.delete(permiso) DBSession.flush() msg="El permiso se ha eliminado." return dict(msg=msg,nombre=nombre)
def post_delete(self,**kw): id = kw['id'] log.debug("Inside post_fetch: id == %s" % (id)) if (id != None): d = {'id':id} tipoitem = DBSession.query(TipoItem).filter_by(**d).first() nombre=tipoitem.name DBSession.delete(tipoitem) DBSession.flush() #=================================================================== return dict(msg=nombre)
def post_delete(self,**kw): id = kw['id'] log.debug("Inside post_fetch: id == %s" % (id)) if (id != None): d = {'id':id} u = DBSession.query(Usuario).filter_by(**d).first() nombre=u.name DBSession.delete(u) DBSession.flush() msg="El usuario se ha eliminado con exito!." return dict(msg=msg,nombre=nombre)
def post_delete(self,**kw): id = kw['id'] log.debug("Inside post_fetch: id == %s" % (id)) if (id != None): d = {'id':id} rol = DBSession.query(Rol).filter_by(**d).first() nombre=rol.name DBSession.delete(rol) DBSession.flush() msg="El rol se ha eliminado." return dict(msg=msg,nombre=nombre)
def iniciar_proyecto(self,**kw): id = kw['id'] if (id != None): d = {'id':id} proyecto = DBSession.query(Proyecto).filter_by(**d).first() nombre=proyecto.name if (proyecto.estado != 'Iniciado'): proyecto.estado = 'Iniciado' DBSession.flush() msg="El proyecto se ha Iniciado." type="succes" else: msg="El proyecto ya se encuentra Iniciado." type="notice" return dict(msg=msg,nombre=nombre,type=type)
def post(self, *args, **kw): ti=self.provider.create(self.model, params=kw) keys=kw.keys() for key_nombre in keys: if find(key_nombre,'nombre') >= 0: key_tipo=replace(key_nombre,'nombre','tipo') nombre=kw[key_nombre] tipo=kw[key_tipo] campoExtra=CampoExtra() campoExtra.name=nombre campoExtra.tipo=tipo campoExtra.tipo_item_id=ti.id DBSession.add(campoExtra) DBSession.flush() raise redirect('./')
def post_delete(self,**kw): id = kw['id'] if (id != None): d = {'id':id} fase = DBSession.query(Fase).filter_by(**d).first() nombre=fase.name if (fase.estado != 'activo'): DBSession.delete(fase) DBSession.flush() msg="la fase se ha eliminado con exito!." type="succes" else: msg="La fase NO se puede eliminar." type="error" return dict(msg=msg,nombre=nombre,type=type)
def post_delete(self,**kw): id = kw['id'] log.debug("Inside post_fetch: id == %s" % (id)) if (id != None): d = {'id':id} proyecto = DBSession.query(Proyecto).filter_by(**d).first() nombre=proyecto.name if (proyecto.estado != 'Iniciado'): DBSession.delete(proyecto) DBSession.flush() msg="El proyecto se ha eliminado con exito!." type="succes" else: msg="El proyecto esta Iniciado! No se puede eliminar." type="error" return dict(msg=msg,nombre=nombre,type=type)
def put(self, *args, **kw): """update""" id=kw['name'] log.debug('id: %s' %id ) pks = self.provider.get_primary_fields(self.model) for i, pk in enumerate(pks): if pk not in kw and i < len(args): kw[pk] = args[i] d={'id':kw[pk]} p=DBSession.query(Proyecto).filter_by(**d).first() log.debug('proyecto.name: %s' %p.name ) p.name=kw['name'] p.empresa=kw['empresa'] p.estado=kw['estado'] p.descripcion=kw['descripcion'] p.lider_id=int(kw['lider']) DBSession.flush() redirect('../' * len(pks))
def usuarios(self): usuarios=DBSession.query(Usuario) names='' ids='' for u in usuarios: names=names+'"'+u.name+'"'+',' ids=ids+str(u.id)+',' names=names+'""' ids=ids+'""' return dict(names=names,ids=ids)
def fetch(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} roles = DBSession.query(Rol).filter_by(**d) else: roles = DBSession.query(Rol) total = roles.count() column = getattr(Rol, sortname) roles = roles.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : rol.id, 'cell': [rol.id, rol.name, (', '.join([p.permiso_name for p in rol.permisos])) ]} for rol in roles ] result = dict(page=page, total=total, rows=rows) return result
def lista_de_Items(self, page='1', rp='25', sortname='id', sortorder='asc', qtype=None, query=None): try: #____________________________________________ # hacer esto para cada dato del tipo numerico if (qtype=="id"): id=int(query) #_____________________________________________ offset = (int(page)-1) * int(rp) if (query): d = {qtype:query} items = DBSession.query(Item).filter_by(**d) else: items = DBSession.query(Item) total = items.count() column = getattr(Item, sortname) items = items.order_by(getattr(column,sortorder)()).offset(offset).limit(rp) rows = [{'id' : item.id, 'cell': [item.id, item.name, item.descripcion]} for item in items] result = dict(page=page, total=total, rows=rows) except: result = dict() return result
def setUp(self): """Prepare model test fixture.""" try: new_attrs = {} new_attrs.update(self.attrs) new_attrs.update(self.do_get_dependencies()) self.obj = self.klass(**new_attrs) DBSession.add(self.obj) DBSession.flush() return self.obj except: DBSession.rollback() raise
def por_usuario_nombre(cls, username): """Return the user object whose user name is ``username``.""" return DBSession.query(cls).filter_by(usuario_name=username).first()
def tearDown(self): """Finish model test fixture.""" DBSession.rollback()
def test_query_obj(self): """Model objects can be queried""" obj = DBSession.query(self.klass).one() for key, value in self.attrs.iteritems(): assert_equals(getattr(obj, key), value)
def por_email(cls, email): """Return the user object whose email address is ``email``.""" return DBSession.query(cls).filter_by(email=email).first()