예제 #1
0
파일: configurar.py 프로젝트: gosu86/saip
    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)
예제 #2
0
파일: configurar.py 프로젝트: gosu86/saip
    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)
예제 #3
0
파일: tiposDeItem.py 프로젝트: gosu86/saip
 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)
예제 #4
0
파일: usuarios.py 프로젝트: gosu86/saip
 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)
예제 #5
0
파일: permisos.py 프로젝트: gosu86/saip
	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)
예제 #6
0
파일: roles.py 프로젝트: gosu86/saip
	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)
예제 #7
0
파일: __init__.py 프로젝트: gosu86/saip
 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
예제 #8
0
파일: configurar.py 프로젝트: gosu86/saip
 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)    
예제 #9
0
파일: tiposDeItem.py 프로젝트: gosu86/saip
 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('./')
예제 #10
0
파일: fases.py 프로젝트: gosu86/saip
 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)
예제 #11
0
파일: proyectos.py 프로젝트: gosu86/saip
	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)			
예제 #12
0
파일: proyectos.py 프로젝트: gosu86/saip
	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))