Exemple #1
0
 def abrir(self, *args, **kw):
     """
     Abre una LB
     """
     lb = LB.por_id(int(args[0]))
     user = Usuario.by_user_name(request.credentials["repoze.what.userid"])
     op = u"Desbloqueo"
     for iplb in lb.items:
         p_item = iplb.propiedad_item
         if p_item.estado == u"Bloqueado":
             p_item.estado = u"Aprobado"
         elif p_item.estado == u"Revisión-Bloq":
             p_item.estado = u"Revisión-Desbloq"
         HistorialItems.registrar(user, p_item, op)
         
     HistorialLB.registrar(user, lb, 0)# u"Apertura"
     id_fase = UrlParser.parse_id(request.url, "fases")
     url = '../'
     fase = Fase.por_id(id_fase)
     lb.estado = u"Abierta"
     fase.cambiar_estado()
     flash("Se ha abierto la LB")
     redirect(url)
Exemple #2
0
    def post_cerrar(self, *args, **kw):
        """
        Cierra una LB. En caso de no poder cerrar, despliega la página
        de cerrar.
        """
        id = int(args[0])
        lb = LB.por_id(id)
        
        habilitados = []
        inhabilitados = []
        for ilb in lb.items:
            p_item = ilb.propiedad_item
            item = Item.por_id(p_item.id_item_actual)
            if (item.id_propiedad_item == p_item.id_propiedad_item and
                p_item.estado == u"Aprobado"):#no cambio o se aprobo
                habilitados.append(p_item)
            else:
                inhabilitados.append(p_item)
                
        user = Usuario.by_user_name(request.credentials["repoze.what.userid"])
        if (inhabilitados == []):
            lb.estado = u"Cerrada"

            #registrar en el historial
            for p_item in habilitados:
                p_item.estado = u"Bloqueado"
                HistorialItems.registrar(user, p_item, u"Bloqueo")
            HistorialLB.registrar(user, lb, 1)# u"Cierre"
            id_fase = UrlParser.parse_id(request.url, "fases")
            fase = Fase.por_id(id_fase)
            fase.cambiar_estado()

            flash("Linea base cerrada correctamente")
            redirect('../')
        
        #Romper la LB.
        lb.estado = u"Rota"
        HistorialLB.registrar(user, lb, 2)# u"Ruptura"
        
        page = u"Generar LB parcial a partir de : {codigo}".format(codigo=lb.codigo)
        tmpl_context.tabla_items_habilitados = ItemGenerarTable(DBSession)
        tmpl_context.tabla_items = ItemInhabilitadosTable(DBSession)
        inhabilitados = ItemInhabilitadosTableFiller(DBSession).get_value(items=inhabilitados)
        
        lista = []
        for i in habilitados:
            lista.append(Item.por_id(i.id_item_actual))
        habilitados = item_generar_table_filler.get_value(items=lista, **kw)
        
        atras = "../"
        
        existen_habilitados = False
        if habilitados:
            existen_habilitados = True
        
        return dict(page=page, 
                    id=id, 
                    atras=atras,
                    habilitados=habilitados,
                    inhabilitados=inhabilitados,
                    existen_habilitados=existen_habilitados
                    )