Example #1
0
def aplicarCambios(idsolicituddecambio):
    """Funcion que aplica cambios segun el tipo de solicitud cuando ya 
    todos los miembros han votado"""
    solicitud = getSolicitudDeCambio(idsolicituddecambio)
    item = CtrlFase.getItem(solicitud.iditem)
    idlineabase = item.idlineabase
    lb = CtrlLineaBase.getLB(idlineabase)
    faseactual=lb.idfase
    fase = session.query(Fase).filter(Fase.idfase==lb.idfase).first()
    faseList = session.query(Fase).filter(and_(Fase.posicionfase >= fase.posicionfase,Fase.idproyecto == fase.idproyecto)).all()
    idfaseList = []
    for f in faseList:
        idfaseList.append(f.idfase)
        
    lineabaseList = session.query(LineaBase).filter(and_(LineaBase.estado=='cerrado',LineaBase.idfase.in_(idfaseList))).all()
        
    for lb in lineabaseList:
        revisionLineaBase(lb.idlineabase)
        
    if solicitud.tipo == 'eliminar':
        CtrlFase.eliminarItem(solicitud.iditem)
    elif solicitud.tipo == 'reversionar' or solicitud.tipo == 'modificar':
        versionAnt = CtrlFase.getVersionActual(solicitud.iditem)
        versionNva = session.query(VersionItem).filter(VersionItem.idversionitem==solicitud.idversionitem).first()
        versionNva.estado = 'actual'
        session.commit()
Example #2
0
 def test_importarItem(self):
     # escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("nombre", "descripcion")
     CtrlAdmTipoItem.agregarAtributo(idtipoitem, "nombre", "VARCHAR", "pordefecto")
     CtrlAdmRol.insertarPermiso("200", "nombre", "descripcion")
     idrol = CtrlAdmRol.insertarRol("nombre", "descripcion", [200])
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     idfase = CtrlAdmProy.crearFase("nombre", "descripcion", idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol], idfase)
     CtrlAdmProy.asignarTiposAFase(idfase, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("", "desarrollo", idtipoitem, idfase)
     versionitem = CtrlFase.instanciarVersionItem(
         item.iditem, CtrlAdmUsr.getIdByUsername("username"), "", 0, 0, 0, 1, "actual"
     )
     CtrlFase.crearItem(item, versionitem, [])
     idproyecto2 = CtrlAdmProy.crearProy("proyecto2", "descripcion", 100000, "username")
     idfase2 = CtrlAdmProy.crearFase("nombre2", "descripcion2", idproyecto2)
     CtrlAdmProy.asignarRolesFase([idrol], idfase2)
     CtrlAdmProy.asignarTiposAFase(idfase2, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto2)
     # prueba
     rv = self.login("username", "password")
     rv = self.app.post("/abrirProyecto", data=dict(opcion="Abrir", select=idproyecto2))
     rv = self.app.post("/proyectoX", data=dict(opcion="Crear", fase=idfase2))
     rv = self.app.post("/crearItem", data=dict(opcion="Importar"))
     rv = self.importarItem("Aceptar", item.iditem)
     assert "Item importado para crearse" in rv.data
Example #3
0
 def test_eliminarItem(self):
     #crear escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                              'password',
                              'nombre',
                              'apellido',
                              '10101010',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('nombre','descripcion')
     CtrlAdmTipoItem.agregarAtributo(idtipoitem,'nombre','VARCHAR','pordefecto')
     CtrlAdmRol.insertarPermiso('200','nombre','descripcion')
     idrol=CtrlAdmRol.insertarRol('nombre','descripcion',[200])
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     idfase=CtrlAdmProy.crearFase('nombre','descripcion',idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol],idfase)
     CtrlAdmProy.asignarTiposAFase(idfase,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("","desarrollo",idtipoitem,idfase)
     versionitem = CtrlFase.instanciarVersionItem(item.iditem,
                                                 CtrlAdmUsr.getIdByUsername('username'),
                                                 "", 
                                                 0,
                                                 0,
                                                 0,
                                                 1,
                                                 'actual')
     CtrlFase.crearItem(item,versionitem,[])
     #prueba
     rv=self.login('username', 'password')
     rv=self.eliminarItem(opcion='Eliminar',
                          fase=idfase,
                          iditem=item.iditem)
     assert 'Item eliminado' in rv.data
Example #4
0
 def test_reversionarItem(self):
     # escenario
     idusuario = CtrlAdmUsr.insertarUsr("username", "password", "nombre", "apellido", "10101010", "1000")
     idtipoitem = CtrlAdmTipoItem.crearTipoItem("nombre", "descripcion")
     CtrlAdmTipoItem.agregarAtributo(idtipoitem, "nombre", "VARCHAR", "pordefecto")
     CtrlAdmRol.insertarPermiso("200", "nombre", "descripcion")
     idrol = CtrlAdmRol.insertarRol("nombre", "descripcion", [200])
     idproyecto = CtrlAdmProy.crearProy("nombre", "descripcion", 10000, "username")
     idfase = CtrlAdmProy.crearFase("nombre", "descripcion", idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol], idfase)
     CtrlAdmProy.asignarTiposAFase(idfase, [idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("", "desarrollo", idtipoitem, idfase)
     versionitem = CtrlFase.instanciarVersionItem(
         item.iditem, CtrlAdmUsr.getIdByUsername("username"), "", 0, 0, 0, 1, "actual"
     )
     CtrlFase.crearItem(item, versionitem, [])
     versionitem = CtrlFase.instanciarVersionItem(
         item.iditem, CtrlAdmUsr.getIdByUsername("username"), "modified", 0, 0, 0, 2, "no-actual"
     )
     CtrlFase.modificarItem(item.iditem, versionitem)
     # prueba
     rv = self.login("username", "password")
     rv = self.reversionarItem("Reversionar", 1)
     assert "Item reversionado" in rv.data
     drop_db()
     init_db()
Example #5
0
 def test_importarItem(self):
     #escenario
     idusuario=CtrlAdmUsr.insertarUsr('username',
                              'password',
                              'nombre',
                              'apellido',
                              '10101010',
                              '1000')
     idtipoitem=CtrlAdmTipoItem.crearTipoItem('nombre','descripcion')
     CtrlAdmTipoItem.agregarAtributo(idtipoitem,'nombre','VARCHAR','pordefecto')
     CtrlAdmRol.insertarPermiso('200','nombre','descripcion')
     idrol=CtrlAdmRol.insertarRol('nombre','descripcion',[200])
     idproyecto=CtrlAdmProy.crearProy('nombre','descripcion',10000,'username')
     idfase=CtrlAdmProy.crearFase('nombre','descripcion',idproyecto)
     CtrlAdmProy.asignarRolesFase([idrol],idfase)
     CtrlAdmProy.asignarTiposAFase(idfase,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto)
     item = CtrlFase.instanciarItem("","desarrollo",idtipoitem,idfase)
     versionitem = CtrlFase.instanciarVersionItem(item.iditem,
                                                 CtrlAdmUsr.getIdByUsername('username'),
                                                 "", 
                                                 0,
                                                 0,
                                                 0,
                                                 1,
                                                 'actual')
     CtrlFase.crearItem(item,versionitem,[])
     idproyecto2 = CtrlAdmProy.crearProy('proyecto2','descripcion',100000,'username')  
     idfase2=CtrlAdmProy.crearFase('nombre2','descripcion2',idproyecto2)
     CtrlAdmProy.asignarRolesFase([idrol],idfase2)
     CtrlAdmProy.asignarTiposAFase(idfase2,[idtipoitem])
     CtrlAdmProy.setProyIniciado(idproyecto2)
     #prueba
     rv=self.login('username', 'password')
     rv=self.app.post('/abrirProyecto',data=dict(opcion='Abrir',select=idproyecto2))
     rv=self.app.post('/proyectoX',data=dict(opcion='Crear Item',fase=idfase2))
     rv=self.app.post('/crearItem',data=dict(opcion='Importar'))
     rv=self.importarItem('Aceptar', item.iditem)
     assert 'Item importado para crearse' in rv.data