Пример #1
0
    def equipo(self,start=0,end=5,indice=None,texto=""):
        """
        Menu para Equipo de Desarrollo
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        valor=int(Variables.get_valor_by_nombre("proyecto_actual"))
                
        paginado = 5
        if start <> 0:
            end=int(start.split('=')[1]) #obtiene el fin de pagina
            start=int(start.split('&')[0]) #obtiene el inicio de pagina
        #print start,end
        
        pagina_actual = ((start % end) / paginado) + 1
        if ((start % end) % paginado) <> 0:
             pagina_actual = pagina_actual + 1
        
        if indice  <> None and texto <> "":  
            equipos =  Equipo_Desarrollo.get_miembros_by_proyecto_por_filtro(valor,indice,texto)
            total = len(equipos)
        else:   
             equipos =  Equipo_Desarrollo.get_miembros_by_proyecto_por_pagina(valor,start,end)
             total = len(Equipo_Desarrollo.get_miembros_by_proyecto(valor))
        
        lista = ['nombre']

        return dict(pagina="equipo",equipos=equipos,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase,
                        inicio=start,fin=end,paginado=paginado,
                        pagina_actual=pagina_actual,total=total,
                        param="/miembro/equipo",lista=lista)
Пример #2
0
    def post_delete_miembro(self, id_equipo, nombre_usuario, nombre_rol, **kw):
        if id_equipo is not None:
            id_equipo=int(id_equipo)

        Equipo_Desarrollo.borrar_by_id(id_equipo)
        DBSession.flush()	
        flash("Miembro eliminado!")
        redirect('/equipo/equipo')
Пример #3
0
    def ingresar(self,id_proyecto):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")

        usuario=Usuario.get_user_by_alias( request.identity['repoze.who.userid'])

        if id_proyecto is not None:
            id_proyecto=int(id_proyecto)

        proyecto=Proyecto.get_proyecto_by_id(id_proyecto)

        Variables.set_valor_by_nombre("fase_actual",0)
        Variables.set_valor_by_nombre("proyecto_actual",proyecto.id_proyecto)
        Variables.set_valor_by_nombre("nombre_proyecto_actual",
                                            proyecto.nombre_proyecto)

        miembros=Equipo_Desarrollo.get_miembros_by_proyecto(proyecto.id_proyecto)
        rol=""
        for miembro in miembros:
            if ( miembro.idusuario == usuario.idusuario ):
                temp=int (Variables.get_valor_by_nombre("rol_anterior"))
                if  temp == 0:		
                    Variables.set_valor_by_nombre("rol_anterior",
                                                    usuario.roles[0].idrol)

                Variables.set_valor_by_nombre("rol_actual",miembro.idrol)
                rol=Rol.get_rol_by_id(miembro.idrol)
                usuario.roles=[]

                DBSession.flush()
                usuario.roles.append(rol)
                DBSession.flush()
                break;
        redirect('/')
Пример #4
0
    def listar_miembro(self):
        """Lista equipos 
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        valor=int( Variables.get_valor_by_nombre("proyecto_actual"))
        equipos =  Equipo_Desarrollo.get_miembros_by_proyecto(valor)

        return dict(pagina="listar_miembro",equipos=equipos,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase)
Пример #5
0
    def get_proyectos_by_equipo_desarrollo(self,idusuario):
        """
        Obtiene los proyectos en los que el usuario enviado como parámetro forma parte.
        """

        proy = DBSession.query(Proyecto).all()
        proyectos = []
        miembros=Equipo_Desarrollo.get_miembros_by_usuario(idusuario)

        for miembro in miembros:
            for p in proy:
                if (miembro.proyecto == p.id_proyecto):
                    proyectos.append(p)
        
        return proyectos
Пример #6
0
    def get_proyectos_by_equipo_desarrollo(self, idusuario):
        """
        Obtiene la lista de todos los roles
        registrados en el sistema
        """
        proy = DBSession.query(Proyecto).all()
        proyectos = []
        miembros = Equipo_Desarrollo.get_miembros_by_usuario(idusuario)

        for miembro in miembros:
            for p in proy:
                if miembro.proyecto == p.id_proyecto:
                    proyectos.append(p)

        return proyectos
Пример #7
0
    def eliminar_miembro(self,id_equipo, *args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        if id_equipo is not None:
            id_equipo=int(id_equipo)

        equipo = Equipo_Desarrollo.get_miembro_by_id(id_equipo)	

        values = dict(id_equipo=equipo.id_equipo, 
		                nombre_usuario=equipo.nombre_usuario, 
		                nombre_rol=equipo.nombre_rol
                      )

        return dict(pagina="eliminar_miembro",values=values,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase)
Пример #8
0
    def ingresar_proyecto(self):
        """lista de los  proyectos del usuario
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")	
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")	

        usuario=Usuario.get_user_by_alias(request.identity['repoze.who.userid'])
        proy = Proyecto.get_proyectos()
        proyectos = []
        miembros=Equipo_Desarrollo.get_miembros_by_usuario(usuario.idusuario)

        for miembro in miembros:
            for p in proy:
                if (miembro.proyecto == p.id_proyecto):
                    proyectos.append(p)

        return dict(pagina="ingresar_proyecto",proyectos=proyectos,
                    nom_proyecto=nom_proyecto,nom_fase=nom_fase)
Пример #9
0
    def agregar_miembro(self, *args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        proy=int(Variables.get_valor_by_nombre("proyecto_actual") )
        roles = Rol.get_roles()
        usuarios = Usuario.get_usuarios()

        miembros=Equipo_Desarrollo.get_miembros_by_proyecto(proy)
        fases = Fase.get_fase_by_proyecto(proy)

        if usuarios is not None:
            if not isinstance(usuarios, list):
                usuarios = [usuarios]
        if roles is not None:
            if not isinstance(roles, list):
                roles = [roles]
        if miembros is not None:
            if not isinstance(miembros, list):
                miembros = [miembros]

        for usuario in usuarios:
            for miembro in miembros:
                if usuario.idusuario == miembro.idusuario:
                    usuarios.remove(usuario)

        for rol in roles:
            if rol.nombrerol == "Usuario Basico":
                roles.remove(rol)
            if rol.nombrerol == "Administrador":
                roles.remove(rol)            
        for rol in roles:
            if rol.nombrerol == "Lider Proyecto":        
                roles.remove(rol)



        return dict(pagina="agregar_miembro",values=kw, roles=roles,
                     usuarios=usuarios, fases=fases,nom_proyecto=nom_proyecto
                     ,nom_fase=nom_fase)
Пример #10
0
    def ver_fases(self,id_equipo):
        """Lista  
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        if id_equipo is not None:
            id_equipo=int(id_equipo)

        miembro=Equipo_Desarrollo.get_miembro_by_id(int(id_equipo))
        values = dict(id_equipo=miembro.id_equipo, 
		                nombre_usuario=miembro.nombre_usuario, 
		                nombre_rol=miembro.nombre_rol
		                )

        fas = miembro.fases
        fases = []
        for f in fas:
            fases.append(f)

        return dict(pagina="listar_mis_fases",fases=fases,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase,
                        values=values)
Пример #11
0
    def put_miembro(self, id_equipo, idusuario, idrol, asmSelect0, fases,
                     **kw):

        equipo = Equipo_Desarrollo.get_miembro_by_id(id_equipo)

        if id_equipo is not None:
            id_equipo=int(id_equipo)

        if idusuario is not None:
            idusuario = int(idusuario)      
        if idrol is not None:
            idrol = int(idrol)   
        if not isinstance(fases, list):
            fases = [fases]

        fases = [DBSession.query(Fase).get(fase) for fase in fases]
           
        equipo.idusuario = idusuario
        equipo.idrol=idrol
        equipo.fases

        DBSession.flush()
        flash("Miembro Modificado!")  
        redirect('/equipo/equipo')
Пример #12
0
    def post_delete_proyecto(self, id_proyecto, nombre_proyecto, descripcion, 
                                tipos_fases, **kw):

        if id_proyecto is not None:
            id_proyecto=int(id_proyecto)

        proyecto = Proyecto.get_proyecto_by_id(id_proyecto)
        miembros=Equipo_Desarrollo.get_miembros_by_proyecto(proyecto.idusuario)

        for miembro in miembros:
            id_miembro=miembro.id_equipo
            Equipo_Desarrolloborrar_by_id(id_miembro)
            DBSession.flush()

        fases=Fase.get_fase_by_proyecto(id_proyecto)
        for fase in fases:
            Fase.borrar_by_id(fase.id_fase)
            DBSession.flush()

        Proyecto.borrar_by_id(id_proyecto)
        DBSession.flush()

        flash("Proyecto eliminado!")
        redirect('/proyecto/proyecto')
Пример #13
0
    def editar_miembro(self, id_equipo, *args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")  

        if id_equipo is not None:
            id_equipo=int(id_equipo)

        proy=int(Variables.get_valor_by_nombre("proyecto_actual") )
        equipo = Equipo_Desarrollo.get_miembro_by_id(id_equipo)
        roles = Rol.get_roles()
        usuarios = Usuario.get_usuarios()
        miembros=Equipo_Desarrollo.get_miembros_by_proyecto(proy)
        rol=Rol.get_rol_by_id(equipo.idrol)
        lider=Rol.get_rol_by_nombre("Lider Proyecto")

        if usuarios is not None:
            if not isinstance(usuarios, list):
                usuarios = [usuarios]
        if roles is not None:
            if not isinstance(roles, list):
                roles = [roles]
        if miembros is not None:
            if not isinstance(miembros, list):
                miembros = [miembros]
    
        for rol in roles:
            if rol.nombrerol == "Usuario Basico":
                roles.remove(rol)
            if rol.nombrerol == "Administrador":
                roles.remove(rol)            
        
        if lider in roles:
                if not lider.idrol == equipo.idrol:
                    roles.remove(lider)            

        for usuario in usuarios:
            for miembro in miembros:
                if usuario.idusuario == miembro.idusuario and not (usuario.idusuario
                                            ==equipo.idusuario):
                    usuarios.remove(usuario)


        proy=int(Variables.get_valor_by_nombre("proyecto_actual"))
        fases = Fase.get_fase_by_proyecto(proy)

        fasess = equipo.fases
        fases2 = []
        for fas in fasess:
            fases2.append(fas.id_fase)

        usuario2=equipo.nombre_usuario
        rol2=equipo.nombre_rol

        values = dict(id_equipo=equipo.id_equipo, 
				  nombre_usuario=equipo.nombre_usuario, 
				  nombre_rol=equipo.nombre_rol
		                  )
		                  
        values.update(kw)

        return dict(values=values, usuarios=usuarios, roles=roles , 
                        usuario2=usuario2, rol2=rol2,fases2=fases2, fases=fases,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase)
Пример #14
0
    def put_proyecto(self, id_proyecto, nombre_proyecto, idusuario, descripcion,
                         asmSelect0, tipos_fases,**kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        if id_proyecto is not None:
            id_proyecto=int(id_proyecto)

        if idusuario is not None:
            idusuario=int(idusuario)

        nombres=Proyecto.get_nombres()
        proyecto = DBSession.query(Proyecto).get(id_proyecto)

        if not isinstance(nombres, list):
            nombres = [nombres]
        nombres.remove(proyecto.nombre_proyecto)

        if nombre_proyecto not in nombres:

            miembro=Equipo_Desarrollo.get_miembro_by_usuario_by_proyecto(
                        proyecto.idusuario,proyecto.id_proyecto)

            id_miembro=miembro.id_equipo
            Equipo_Desarrollo.borrar_by_id(id_miembro)
            DBSession.flush()

            fases=Fase.get_fase_by_proyecto(proyecto.id_proyecto)

            for fase in fases:
			    Fase.borrar_by_id(fase.id_fase)
			    DBSession.flush()

            if not isinstance(tipos_fases, list):
			    tipos_fases = [tipos_fases]
            tipos_fases = [DBSession.query(Tipo_Fase).get(tipo_fase) 
                                for tipo_fase in tipos_fases]

            cant=1
            for tipo_fase in tipos_fases:
                fase = Fase (nombre_fase=tipo_fase.nombre_tipo_fase, 
                                id_tipo_fase=tipo_fase.id_tipo_fase, estado ="Nuevo", 
							    proyecto=proyecto.id_proyecto,orden=cant,
                                linea_base="Abierta", 
                                descripcion=tipo_fase.descripcion)

                DBSession.add(fase)
                DBSession.flush()
                cant+=1

            proyecto.idusuario = idusuario
            proyecto.nombre_proyecto=nombre_proyecto
            proyecto.descripcion = descripcion
            proyecto.tipos_fases = tipos_fases
            proyecto.estado="Desactivado"

            DBSession.flush()

            fases = Fase.get_fase_by_proyecto(Proyecto.get_ultimo_id())
            nom="Lider Proyecto"
            mirol=Rol.get_rol_by_nombre(nom)

            equipo = Equipo_Desarrollo(proyecto=Proyecto.get_ultimo_id(), 
                                        idusuario=idusuario, 
						                idrol=mirol.idrol,fases=fases)
            DBSession.add(equipo)
            DBSession.flush()
            fases = Fase.get_fase_by_proyecto(proyecto.id_proyecto)

            flash("Proyecto Modificado!")  
            return dict(pagina="/fase/listar_fase", fases=fases,
                            nom_proyecto=nom_proyecto,nom_fase=nom_fase)
        else:

            flash("nombre proyecto repetido!")  
            redirect('/proyecto/editar_proyecto?id_proyecto=%d' % id_proyecto)