Ejemplo n.º 1
0
    def item2(self,start=0,end=5,indice=None,texto=""):
        """
        Menu para Item
        """
        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
        
        pagina_actual = ((start % end) / paginado) + 1
        if ((start % end) % paginado) <> 0:
             pagina_actual = pagina_actual + 1
                         
        if indice  <> None and texto <> "":  
            fases=Fase.get_fase_by_proyecto_por_filtro(int (Variables.get_valor_by_nombre
                                                ("proyecto_actual")), indice,texto )
            total = len(fases)
        else:   
            fases,total=Fase.get_fase_by_proyecto_por_pagina(int (Variables.get_valor_by_nombre
                                                ("proyecto_actual")), start,end )

            #total = len(Fase.get_fase_by_proyecto(int (Variables.get_valor_by_nombre
             #                                   ("proyecto_actual")) ))

        lista = ['nombre','descripcion']
        
        return dict(pagina="listar_fases2",fases=fases,nom_proyecto=nom_proyecto
                                ,nom_fase=nom_fase,inicio=start,fin=end,
                                pagina_actual=pagina_actual,paginado=paginado,
                                total=total,param="../reporte/item2",lista=lista)
Ejemplo n.º 2
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')