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)
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;
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'}))
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)