예제 #1
0
def APrelaciones():
    #POST/PUT parameters
    params = request.get_json()
    results = [{'label':'/VPrelaciones', 'msg':['Cambios almacenados']}, {'label':'/VPrelaciones', 'msg':['Error al guardar prelaciones']}, ]
    res = results[0]
    #Action code goes here, res should be a list with a label and a message

    oPrecedence = precedence()
    # Obtenemos prelaciones ya existentes en el producto
    previous = oPrecedence.getAllPrecedences(session['idPila'])
    # Buscamos que precedencias fueron eliminadas y agregadas por el usuario e ignoramos las que no fueron cambiadas
    for object in previous:
        esta = False
        for i in params['lista']:
            if (object.P_idFirstTask == int(i['antecedente']) and object.P_idSecondTask == int(i['consecuente'])):
                esta = True
                params['lista'].remove(i)
        if not esta: # Fue eliminada
            oPrecedence.deletePrecedence(object.P_idFirstTask, object.P_idSecondTask) #Podria eliminar el objeto directamente, sin el deletePrecedence

    for i in params['lista']: # Los que van a ser agregados
        if (int(i['antecedente']) == int(i['consecuente'])): # Este if se puede quitar porque se esta haciendo la verficiacion en insertPrecedence
            print('Error, la historia no debe prelarse a si misma')
        else:
            oPrecedence.insertPrecedence(int(i['antecedente']), int(i['consecuente']), session['idPila'])

    res['label'] = res['label'] + '/' + repr(1)

    #Action code ends here
    if "actor" in res:
        if res['actor'] is None:
            session.pop("actor", None)
        else:
            session['actor'] = res['actor']
    return json.dumps(res)
예제 #2
0
def VDiagramaPrelaciones():
    #GET parameter
    res = {}

    # Obtenemos el id del producto y de la historia.
    idPila = int(request.args.get('idPila',1))

    if "actor" in session:
        res['actor'] = session['actor']

    #Action code goes here, res should be a JSON structure

    if 'usuario' not in session:
      res['logout'] = '/'
      return json.dumps(res)

    res['usuario'] = session['usuario']

    # Obtenemos las precedencias de las tareas ("Tarea1","Tarea2)
    oPrecedence = precedence()
    precedencias = oPrecedence.tasksWithPrecedences(idPila)

    res['edges'] = [{'from': p[0],'to': p[1]} for p in precedencias]

    nodes = oPrecedence.taskWithIdAndDescription(idPila)
    res['nodes'] = [{'id': n[0], 'label': n[1]} for n in nodes]

    session['idPila'] = idPila
    res['idPila'] = idPila

    return json.dumps(res)
예제 #3
0
def VPrelaciones():
    #GET parameter
    idPila = request.args['idPila']
    res = {}
    if "actor" in session:
        res['actor']=session['actor']
    #Action code goes here, res should be a JSON structure

    if 'usuario' not in session:
      res['logout'] = '/'
      return json.dumps(res)

    res['usuario'] = session['usuario']

    # Obtenemos el id del producto y de la historia.
    idPila = request.args['idPila']

    oBacklog          = backlog()
    oUserHistory      = userHistory()
    oTask             = task()
    oPrecedence       = precedence()


    #Hacer query para obtener las prelaciones que existen ya en este producto y devolverlas en fPrelaciones
    lista = []
    precedenceList = oPrecedence.getAllPrecedences(idPila)
    for object in precedenceList:
        lista.append({'antecedente':object.P_idFirstTask, 'consecuente':object.P_idSecondTask})

    res['fPrelaciones'] = {'lista':lista}

    #res['fPrelaciones'] = {'lista':[
    #  {'antecedente':1, 'consecuente':2},
    #  {'antecedente':2, 'consecuente':3}]}



    res['idPila'] = idPila

    #Hacer query para obtener las tareas de esta historia y devolverlas con su id y valor en una lista
    userHistoriesList = oBacklog.userHistoryAsociatedToProduct(int(idPila))
    taskList = []
    #tasks = []

    #Se obtienen todas las tareas de las historias de usuarios
    for hist in userHistoriesList:
        taskList.extend(oTask.taskAsociatedToUserHistory(hist.UH_idUserHistory))

    #Se transforman las tareas para la vista
    #for listaT in taskList:
    #    for tarea in listaT:
    #    tasks.append(tarea)

    res['fPrelaciones_listaTareas'] = [{'key':tarea.HW_idTask, 'value':tarea.HW_description + ' | historia:' + oUserHistory.getUHCodeFromId(tarea.HW_idUserHistory)}for tarea in taskList]

    #Action code ends here
    return json.dumps(res)
예제 #4
0
def APrelaciones():
    #POST/PUT parameters
    params = request.get_json()
    results = [
        {
            'label': '/VPrelaciones',
            'msg': ['Cambios almacenados']
        },
        {
            'label': '/VPrelaciones',
            'msg': ['Error al guardar prelaciones']
        },
    ]
    res = results[0]
    #Action code goes here, res should be a list with a label and a message

    oPrecedence = precedence()
    # Obtenemos prelaciones ya existentes en el producto
    previous = oPrecedence.getAllPrecedences(session['idPila'])
    # Buscamos que precedencias fueron eliminadas y agregadas por el usuario e ignoramos las que no fueron cambiadas
    for object in previous:
        esta = False
        for i in params['lista']:
            if (object.P_idFirstTask == int(i['antecedente'])
                    and object.P_idSecondTask == int(i['consecuente'])):
                esta = True
                params['lista'].remove(i)
        if not esta:  # Fue eliminada
            oPrecedence.deletePrecedence(
                object.P_idFirstTask, object.P_idSecondTask
            )  #Podria eliminar el objeto directamente, sin el deletePrecedence

    for i in params['lista']:  # Los que van a ser agregados
        if (
                int(i['antecedente']) == int(i['consecuente'])
        ):  # Este if se puede quitar porque se esta haciendo la verficiacion en insertPrecedence
            print('Error, la historia no debe prelarse a si misma')
        else:
            oPrecedence.insertPrecedence(int(i['antecedente']),
                                         int(i['consecuente']),
                                         session['idPila'])

    res['label'] = res['label'] + '/' + repr(1)

    #Action code ends here
    if "actor" in res:
        if res['actor'] is None:
            session.pop("actor", None)
        else:
            session['actor'] = res['actor']
    return json.dumps(res)
예제 #5
0
def VPrelaciones():
    #GET parameter
    idPila = request.args['idPila']
    res = {}
    if "actor" in session:
        res['actor'] = session['actor']
    #Action code goes here, res should be a JSON structure

    if 'usuario' not in session:
        res['logout'] = '/'
        return json.dumps(res)

    res['usuario'] = session['usuario']

    # Obtenemos el id del producto y de la historia.
    idPila = request.args['idPila']

    oBacklog = backlog()
    oUserHistory = userHistory()
    oTask = task()
    oPrecedence = precedence()

    #Hacer query para obtener las prelaciones que existen ya en este producto y devolverlas en fPrelaciones
    lista = []
    precedenceList = oPrecedence.getAllPrecedences(idPila)
    for object in precedenceList:
        lista.append({
            'antecedente': object.P_idFirstTask,
            'consecuente': object.P_idSecondTask
        })

    res['fPrelaciones'] = {'lista': lista}

    #res['fPrelaciones'] = {'lista':[
    #  {'antecedente':1, 'consecuente':2},
    #  {'antecedente':2, 'consecuente':3}]}

    res['idPila'] = idPila

    #Hacer query para obtener las tareas de esta historia y devolverlas con su id y valor en una lista
    userHistoriesList = oBacklog.userHistoryAsociatedToProduct(int(idPila))
    taskList = []
    #tasks = []

    #Se obtienen todas las tareas de las historias de usuarios
    for hist in userHistoriesList:
        taskList.extend(oTask.taskAsociatedToUserHistory(
            hist.UH_idUserHistory))

    #Se transforman las tareas para la vista
    #for listaT in taskList:
    #    for tarea in listaT:
    #    tasks.append(tarea)

    res['fPrelaciones_listaTareas'] = [{
        'key':
        tarea.HW_idTask,
        'value':
        tarea.HW_description + ' | historia:' +
        oUserHistory.getUHCodeFromId(tarea.HW_idUserHistory)
    } for tarea in taskList]

    #Action code ends here
    return json.dumps(res)