def cambiaEstadoProyecto(proyecto, cambiaPendiente=False): if proyecto.estado == "L" or proyecto.estado == "C" or cambiaPendiente: status = QueryStatusProjectInCourse().getProjectByProject(proyecto) if (QueryStatusProjectInCourse().isCompleted(status) and status) or not status: nextItem = QueryItem().getNextItem( status.hito) if status else QueryItem().getFirstItemCourse( proyecto.curso) textProjectIncomplete = camposPorRellenarProyecto( proyecto, nextItem) isProjectIncomplete = False if textProjectIncomplete == "" else True isTribunalIncomplete = tribunalPorRellenarProyecto( proyecto, nextItem) dateEstimateNextItem = QueryEstimateDate( ).getEstimateDateByProjectAndItem(proyecto, nextItem) if nextItem else True evaluationSystem = QueryEvaluationSystem( ).getEvaluationSystemByCourse(proyecto.curso) if not isProjectIncomplete and not isTribunalIncomplete and dateEstimateNextItem and evaluationSystem.estado == "A": revision = QueryProjectUnresolvedInCourse( ).getProjectUnresolvedByProject(proyecto) if revision: revision.delete() if status: status.delete() if nextItem: status = EstadoProyectoEnCurso() status.proyecto = proyecto status.hito = nextItem status.save() activaFormulario(proyecto, nextItem) proyecto.estado = "C" if nextItem else "F" proyecto.save() eliminaProyectoPorRellenar(proyecto) else: revision = QueryProjectUnresolvedInCourse( ).getProjectUnresolvedByProject(proyecto) if revision: revision.delete() else: emailAvisoProyectoEnRevision(proyecto, nextItem, isTribunalIncomplete) textProjectIncomplete = buildErrors(textProjectIncomplete, isTribunalIncomplete, dateEstimateNextItem, nextItem) pendentStatus = ProyectoParaRevisionEnCurso() pendentStatus.proyecto = proyecto pendentStatus.campos = textProjectIncomplete pendentStatus.save() proyecto.estado = "L" proyecto.save()
def cambiaEstadoProyecto(proyecto, cambiaPendiente=False): if proyecto.estado =="L" or proyecto.estado=="C" or cambiaPendiente: status = QueryStatusProjectInCourse().getProjectByProject(proyecto) if (QueryStatusProjectInCourse().isCompleted(status) and status) or not status : nextItem = QueryItem().getNextItem(status.hito) if status else QueryItem().getFirstItemCourse(proyecto.curso) textProjectIncomplete = camposPorRellenarProyecto(proyecto, nextItem) isProjectIncomplete = False if textProjectIncomplete == "" else True isTribunalIncomplete = tribunalPorRellenarProyecto(proyecto, nextItem) dateEstimateNextItem = QueryEstimateDate().getEstimateDateByProjectAndItem(proyecto, nextItem) if nextItem else True evaluationSystem = QueryEvaluationSystem().getEvaluationSystemByCourse(proyecto.curso) if not isProjectIncomplete and not isTribunalIncomplete and dateEstimateNextItem and evaluationSystem.estado=="A": revision = QueryProjectUnresolvedInCourse().getProjectUnresolvedByProject(proyecto) if revision : revision.delete() if status : status.delete() if nextItem: status = EstadoProyectoEnCurso() status.proyecto = proyecto status.hito = nextItem status.save() activaFormulario(proyecto, nextItem) proyecto.estado="C" if nextItem else "F" proyecto.save() eliminaProyectoPorRellenar(proyecto) else: revision = QueryProjectUnresolvedInCourse().getProjectUnresolvedByProject(proyecto) if revision : revision.delete() else : emailAvisoProyectoEnRevision(proyecto, nextItem, isTribunalIncomplete) textProjectIncomplete = buildErrors(textProjectIncomplete, isTribunalIncomplete, dateEstimateNextItem, nextItem) pendentStatus = ProyectoParaRevisionEnCurso() pendentStatus.proyecto = proyecto pendentStatus.campos = textProjectIncomplete pendentStatus.save() proyecto.estado = "L" proyecto.save()
def eliminaProyectoPorRellenar(proyecto): proyectoPendiente = QueryProjectUnresolvedInCourse().getProjectUnresolvedByProject(proyecto) if proyectoPendiente : proyectoPendiente.delete()
def eliminaProyectoPorRellenar(proyecto): proyectoPendiente = QueryProjectUnresolvedInCourse( ).getProjectUnresolvedByProject(proyecto) if proyectoPendiente: proyectoPendiente.delete()