コード例 #1
0
ファイル: gantt.py プロジェクト: feded/yappfpuna
def view_gantt(request):

    doc = Document()
    wml = doc.createElement("project")
    doc.appendChild(wml)

    id_proyecto = request.GET.get('id_proyecto')

    fase_dao = FaseDAO(request)
    fases = fase_dao.get_query().filter(
        Fase._proyecto_id == id_proyecto).order_by(Fase._orden.asc()).all()
    item_dao = ItemDAO(request)
    xml = "<project>"
    for fase in fases:
        task = Task()
        task.set_fase(fase)
        wml.appendChild(task.get_xml(doc))
        xml += task.to_xml()
        entidades = item_dao.get_items_fase(fase._id)
        for item in entidades:
            task = Task()
            task.set_item(item)
            wml.appendChild(task.get_xml(doc))
            xml += task.to_xml()

    xml += "</project>"
    #    print xml
    # Print our newly created XML
    #    print doc.toprettyxml(indent="  ")
    return Response(xml)
コード例 #2
0
def get_fase_antecesora(request, fase):
    fase_id = fase._id
    proyecto_id = fase._proyecto_id
    rd = FaseDAO(request)
    lista = [];
    #Codigo de fede
    fase_actual = rd.get_by_id(fase_id)
    entidad = rd.get_query().filter(Fase._proyecto_id == proyecto_id, Fase._orden < fase_actual._orden).order_by(Fase._orden.desc()).first()
    return entidad;
コード例 #3
0
def delete_proyectos(request):
    """
    @summary: Maneja las solicitudes para eliminar proyectos.
    @param request: Solicitud de eliminacion.
    @return: Retorna true en caso de exito.
    """
    u = Unpickler()
    entidad = u.restore(request.json_body)
    dao = ProyectoDAO(request)
    proyecto = dao.get_by_id(entidad["id"])
    fase_dao = FaseDAO(request)
    fases = fase_dao.get_query().filter(
        Fase._proyecto_id == proyecto._id).all()
    for fase in fases:
        fase_dao.borrar(fase)

    dao.borrar(proyecto)
    return Response(json.dumps({'sucess': 'true'}))
コード例 #4
0
def obtener_crear_fases(request):
    """
    @summary: Maneja las solicitudes para obtener y crear fases.
              Las fases nuevas soportan por defecto un tipo de item.
    @param request: Get para recuperar y Post para crear.
    @return: En caso de recibir un Get retorna todas las fases de un proyecto en especifico.
        En caso de recibir un Post retorna la fase creada.
    """
    

    if (request.method == 'GET'):
        proyecto_id = request.GET.get('id')
        fase_id = request.GET.get('fase_id')
        
        rd = FaseDAO(request)
        lista = [];
        p = Pickler(False, None)
        #Codigo de fede
        if (fase_id != None and fase_id != ""):
            fase_actual = rd.get_by_id(fase_id)
            entidad = rd.get_query().filter(Fase._proyecto_id == proyecto_id, Fase._orden < fase_actual._orden).order_by(Fase._orden.desc()).first()
            if (entidad != None):
                entidadLinda = FaseLinda(entidad._id, entidad._nombre, entidad._proyecto_id, entidad._orden, entidad._comentario, entidad._estado, entidad._color)
                lista.append(p.flatten(entidadLinda))    
        elif (proyecto_id != None and proyecto_id != ""):
            #Codigo de leo
            #recuperamos todas las fases del proyecto
            entidades = rd.get_query().filter(Fase._proyecto_id == proyecto_id).all()
            for entidad in entidades:
                entidadLinda = FaseLinda(entidad._id, entidad._nombre, entidad._proyecto_id, entidad._orden, entidad._comentario, entidad._estado, entidad._color)
                lista.append(p.flatten(entidadLinda)) 
       
        j_string = p.flatten(lista)
        a_ret = json.dumps({'sucess': 'true', 'fases':j_string})    
        
        return Response(a_ret)
    else:
        #Recibimos un POST
        u = Unpickler()
        entidad = u.restore(request.json_body);
        
        dao = ProyectoDAO(request)
        proyecto = dao.get_by_id(entidad["_proyecto_id"])
    
        dao = FaseDAO(request)
        nueva_fase = Fase(entidad["_nombre"], proyecto, entidad["_orden"], entidad["_comentario"], entidad["_estado"], entidad["_color"])
        dao.crear(nueva_fase)
        
        #le asociamos el tipo de item
#        dao_tipo_item = TipoItemDAO(request)
#        tipo_item = dao_tipo_item.get_by_id(1)
#        nuevo_tipo_fase = TipoFase(nueva_fase,tipo_item)
#        dao_tipo_fase = TipoFaseDAO(request)
#        dao_tipo_fase.crear(nuevo_tipo_fase)
        
        lista = []
        p = Pickler()
        lista.append(p.flatten(nueva_fase))
        j_string = p.flatten(lista)
        a_ret = json.dumps({'sucess': 'true', 'fases':j_string})
    
        return Response(a_ret)