Beispiel #1
0
    def tipo_fase(self,start=0,end=5,indice=None,texto=""):
        """
           Menu para Tipos de Fase
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_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
        #total = len(Tipo_Fase.get_tipo_fases())
        pagina_actual = ((start % end) / paginado) + 1
        if ((start % end) % paginado) <> 0:
             pagina_actual = pagina_actual + 1
                
        if indice  <> None and texto <> "":  
            tipos_fases = Tipo_Fase.get_tipo_fase_por_filtro(indice,texto)
            total = len(tipos_fases)
        else:   
            tipos_fases = Tipo_Fase.get_tipo_fase_por_pagina(start,end)
            total = len(Tipo_Fase.get_tipo_fases())

        lista = ['nombre','descripcion']


        return dict(pagina="tipo_fase",tipos_fases=tipos_fases,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase,
                        inicio=start,fin=end,paginado=paginado,
                        pagina_actual=pagina_actual,total=total,
                        param="/tipo_fase/tipo_fase",lista=lista)
Beispiel #2
0
    def post_delete_tipo_fase(self, id_tipo_fase, nombre_tipo_fase, descripcion,
                                     **kw):
	
        if id_tipo_fase is not None:
            id_tipo_fase=int(id_tipo_fase)

        Tipo_Fase.borrar_by_id(id_tipo_fase)
        DBSession.flush()
        flash("Tipo de Fase eliminada!")
        redirect('/tipo_fase')
Beispiel #3
0
    def editar_tipo_fase(self,id_tipo_fase,*args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

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

        tipo_fase = Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase)
        tipos_items = Tipo_Item.get_tipos_items()
        tipos = tipo_fase.tipos_items
        tipos_items2 = []

        for tip in tipos:
            tipos_items2.append(tip.id_tipo_item)

        if request.method != 'PUT':  

            values = dict(id_tipo_fase=tipo_fase.id_tipo_fase, 
							nombre_tipo_fase=tipo_fase.nombre_tipo_fase, 
							descripcion=tipo_fase.descripcion,
							)
        
        return dict(pagina="editar_tipo_fase",values=values,
                        tipos_items=tipos_items, nom_proyecto=nom_proyecto,
                         tipos_items2=tipos_items2,nom_fase=nom_fase)
Beispiel #4
0
    def editar_proyecto(self, id_proyecto, *args, **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)

        usuarios = Usuario.get_usuarios()
        tipos_fases = Tipo_Fase.get_tipo_fases()	
        proyecto = Proyecto.get_proyecto_by_id(id_proyecto)

        usuario2 = Usuario.get_user_by_id(int(proyecto.idusuario))
        
        tipos = proyecto.tipos_fases

        tipos_fases2 = []
        for tip in tipos:
            tipos_fases2.append(tip.id_tipo_fase)

        values = dict(id_proyecto=proyecto.id_proyecto, 
						nombre_proyecto=proyecto.nombre_proyecto, 
						descripcion=proyecto.descripcion, 
						idusuario=proyecto.idusuario
						)
                      
        values.update(kw)

        return dict(pagina="editar_proyecto",values=values, usuarios=usuarios,
                     tipos_fases=tipos_fases, tipos_fases2=tipos_fases2,
                    usuario2=usuario2, nom_proyecto=nom_proyecto,
                    nom_fase=nom_fase)
Beispiel #5
0
    def ver_tipos_items(self,id_tipo_fase):
        """Lista privilegios 
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

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

        tipo_fase=Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase)

        values = dict(id_tipo_fase=tipo_fase.id_tipo_fase, 
				        nombre_tipo_fase=tipo_fase.nombre_tipo_fase, 
				        descripcion=tipo_fase.descripcion
				        )

        tipos =tipo_fase.tipos_items
        tipos_items = []

        for t in tipos:
            tipos_items.append(t)

        return dict(pagina="listar_mis_tipos_items",tipos_items=tipos_items,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase,
                        values=values)
Beispiel #6
0
    def editar_fase(self,id_fase,*args, **kw):
        """
        Permite editar una fase. Es posible la modificación del nombre de la fase y de su descripción.
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

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

        tipos_fases = Tipo_Fase.get_tipo_fases()
        fase = Fase.get_fase_by_id(id_fase)
        tipos_items = Tipo_Item.get_tipos_items()
        id_tipo_fase=int(fase.id_tipo_fase)

        lista=[]
        lista.append(id_tipo_fase)
        tipos = fase.tipos_items

        tipos_items2 = []
        for tip in tipos:
            tipos_items2.append(tip.id_tipo_item)

        if request.method != 'PUT':  
            values = dict(id_fase=fase.id_fase, 
                            nombre_fase=fase.nombre_fase, 
                            descripcion=fase.descripcion,
                            )

        return dict(pagina="editar_fase",values=values,tipos_fases=tipos_fases,
                        tipos_items=tipos_items,tipos_items2=tipos_items2,
                        lista=lista,nom_fase=nom_fase,
                        nom_proyecto= nom_proyecto )
Beispiel #7
0
    def put_fase(self, id_fase, nombre_fase, id_tipo_fase, tipos_items,
                    descripcion, asmSelect0,  **kw):

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

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

        fase =Fase.get_fase_by_id(id_fase)
        nombres=Fase.get_nombres_by_id(fase.proyecto)
        nombres.remove(fase.nombre_fase)
        
        if not isinstance(tipos_items, list):
			tipos_items = [tipos_items]
        tipos_items = [DBSession.query(Tipo_Item).get(tipo_item) for tipo_item
                                 in tipos_items]

        if nombre_fase not in nombres:
            fase.nombre_fase = nombre_fase
            fase.id_tipo_fase=id_tipo_fase
            fase.estado = fase.estado
            fase.linea_base = fase.linea_base
            fase.descripcion = descripcion
            fase.tipos_items=tipos_items

            DBSession.flush()
            flash("Fase modificada!")
            redirect('/fase/fase')
    
        else:
            nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
            nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

            id_tipo_fase=fase.id_tipo_fase
            tipos_fases = Tipo_Fase.get_tipo_fases()
            tipos = fase.tipos_items

            lista=[]
            lista.append(id_tipo_fase)
            tipos = fase.tipos_items

            tipos_items2 = []
            for tip in tipos:
                tipos_items2.append(tip.id_tipo_item)

            values = dict(id_fase=id_fase, 
                            nombre_fase=nombre_fase, 
                            descripcion=descripcion,
                            )
            flash("El nombre de fase solicitado ya existe!")

            return dict(pagina="editar_fase",values=values,
                                tipos_fases=tipos_fases,tipos_items=tipos_items,
                                tipos_items2=tipos_items2,lista=lista, 
                                id_tipo_fase=id_tipo_fase,nom_fase=nom_fase,
                                nom_proyecto= nom_proyecto )
Beispiel #8
0
    def listar_tipo_fase(self):
        """Lista tipos de fases 
        """
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        tipos_fases = Tipo_Fase.get_tipo_fase()

        return dict(pagina="listar_tipo_fase",tipos_fases=tipos_fases,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase)
Beispiel #9
0
    def agregar_proyecto(self, *args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        usuarios = Usuario.get_usuarios()
        tipos_fases = Tipo_Fase.get_tipo_fases()	

        return dict(pagina="agregar_proyecto",values=kw, tipos_fases=tipos_fases,
                         usuarios=usuarios,nom_proyecto=nom_proyecto
                        ,nom_fase=nom_fase)
Beispiel #10
0
    def agregar_fase(self, *args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        tipos_fases = Tipo_Fase.get_tipo_fases()
        tipos_items = Tipo_Item.get_tipos_items()

        return dict(pagina="agregar_fase",values=kw, tipos_fases=tipos_fases,
                        tipos_items=tipos_items,nom_proyecto=nom_proyecto
                        ,nom_fase=nom_fase)
Beispiel #11
0
    def eliminar_tipo_fase(self,id_tipo_fase, *args, **kw):
        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

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

        tipo_fase =Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase)	

        values = dict(id_tipo_fase=tipo_fase.id_tipo_fase, 
						nombre_tipo_fase=tipo_fase.nombre_tipo_fase, 
						descripcion=tipo_fase.descripcion,
						)

        return dict(pagina="eliminar_tipo_fase",values=values,
                        nom_proyecto=nom_proyecto,nom_fase=nom_fase)
Beispiel #12
0
    def post_fase(self, nombre_fase, id_tipo_fase, tipos_items, descripcion,
                    asmSelect0):
        """
        Permite agregar una nueva fase al proyecto.
        """
        proyecto=int(Variables.get_valor_by_nombre("proyecto_actual"))
        nombres=Fase.get_nombres_by_id(proyecto)

        if not isinstance(nombres, list):
            nombres = [nombres]

        if nombre_fase not in nombres:

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

            if tipos_items is not None:
                if not isinstance(tipos_items, list):
                    tipos_items = [tipos_items]
            tipos_items = [DBSession.query(Tipo_Item).get(tipo_item) for tipo_item 
                                                    in tipos_items]

            fase = Fase (nombre_fase=nombre_fase, id_tipo_fase=id_tipo_fase, 
                        estado="nuevo", linea_base="abierta", 
                        descripcion=descripcion,tipos_items=tipos_items,
                        proyecto=0,orden=0)
      
            DBSession.add(fase)
            DBSession.flush()
            flash("Fase agregada!")  
            redirect('/fase/fase')

        else:
            nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
            nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

            tipos_fases = Tipo_Fase.get_tipo_fases()
            tipos_items = Tipo_Item.get_tipos_items()

            values = dict(nombre_fase=nombre_fase, 
                            descripcion=descripcion,
                            )
            flash("Nombre de Fase es repetido!")
            return dict(pagina="agregar_fase",values=values, tipos_fases=tipos_fases,
                            tipos_items=tipos_items,nom_proyecto=nom_proyecto
                            ,nom_fase=nom_fase)
Beispiel #13
0
    def put_tipo_fase(self, id_tipo_fase, nombre_tipo_fase, descripcion,
                       tipos_items, **kw):

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

        tipo_fase = Tipo_Fase.get_tipo_fase_by_id(id_tipo_fase)

        if not isinstance(tipos_items, list):
			tipos_items = [tipos_items]
        tipos_items = [DBSession.query(Tipo_Item).get(tipo_item) for tipo_item
                                 in tipos_items]

        tipo_fase.nombre_tipo_fase = nombre_tipo_fase
        tipo_fase.descripcion = descripcion
        tipo_fase.tipos_items=tipos_items

        DBSession.flush()
        flash("Tipo de Fase modificada!")
        redirect('/tipo_fase/tipo_fase')
Beispiel #14
0
    def post_proyecto(self, nombre_proyecto, idusuario, tipos_fases, asmSelect0,
                            descripcion,start=0,end=5,indice=None,texto=""):

        nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
        nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

        nombres=Proyecto.get_nombres()

        if not isinstance(nombres, list):
            nombres = [nombres]

        if nombre_proyecto not in nombres:
            if idusuario is not None:
                idusuario = int(idusuario)

            if tipos_fases is not None:
                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]

            proyecto = Proyecto (nombre_proyecto=nombre_proyecto, 
                                    idusuario=idusuario, 
                                    descripcion=descripcion, 
                                    tipos_fases=tipos_fases,
                                    estado ="Desactivado")
            DBSession.add(proyecto)
            DBSession.flush()

            proy=int(Proyecto.get_ultimo_id())
            cant=1
            lista=[]
            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=proy,
                                orden=cant,linea_base="Abierta", 
                                descripcion=tipo_fase.descripcion)

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

            nom="Lider Proyecto"
            mirol=Rol.get_rol_by_nombre(nom)
            fases2=Fase.get_fase_by_proyecto(proy)
            equipo = Equipo_Desarrollo(proyecto=Proyecto.get_ultimo_id(), 
                                        idusuario=idusuario, 
                                        idrol=mirol.idrol,fases=fases2)

            DBSession.add(equipo)
            DBSession.flush()


            fases,len_fases = Fase.get_fase_by_proyecto_por_pagina(proy,start,end)


            ############
            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
            total = len(Fase.get_fase_by_proyecto(proy))
            pagina_actual = ((start % end) / paginado) + 1
            if ((start % end) % paginado) <> 0:
                pagina_actual = pagina_actual + 1
             
            #roles = Fase.get_fase_by_proyecto_por_pagina(proy,start,end)
            ###########
            param="/fase/fase"
            flash("Proyecto Agregado!")  
            return dict(pagina="../fase/fase", fases=fases,
                                nom_proyecto=nom_proyecto,nom_fase=nom_fase,
                                inicio=start,fin=end,paginado=paginado,
                                pagina_actual=pagina_actual,total=total,
                                param=param)

        else:
            nom_proyecto=Variables.get_valor_by_nombre("nombre_proyecto_actual")
            nom_fase=Variables.get_valor_by_nombre("nombre_fase_actual")

            usuarios = Usuario.get_usuarios()
            tipos_fases = Tipo_Fase.get_tipo_fases()	

            flash("Nombre del Proyecto ya existe!")  
            redirect('../proyecto/agregar_proyecto')
Beispiel #15
0
 def listar_tipo_fase(self):
     """Lista tipos de fases 
     """
     tipos_fases = Tipo_Fase.get_tipo_fase()
     return dict(pagina="listar_tipo_fase",tipos_fases=tipos_fases)