def limpiarArticulos(listA, listE, listAE, listRC, listRP): if listA != None: for acept in listA: articulo = getArticuloPorId(acept.pk) if articulo != None: articulo.aceptado = False articulo.save() if listE != None: for acept in listE: articulo = getArticuloPorId(acept.pk) if articulo != None: articulo.empatado = False articulo.save() if listAE != None: for acept in listAE: articulo = getArticuloPorId(acept.pk) if articulo != None: articulo.aceptadoEspecial = False articulo.save() if listRC != None: for acept in listRC: articulo = getArticuloPorId(acept.pk) if articulo != None: articulo.rechazadoFaltaCupo = False articulo.save() if listRP != None: for acept in listRP: articulo = getArticuloPorId(acept.pk) if articulo != None: articulo.rechazadoPorPromedio = False articulo.save()
def agregarEspecial(request, articulo_id): listaAceptados = getArticulosAceptadosYEspeciales() listaEmpatados = getArticulosEmpatados() maxarticulos = getDatosConferencia() if listaAceptados == None: listaAceptados = [] if maxarticulos > len(listaAceptados): articulo = getArticuloPorId(articulo_id) if articulo != None: articulo.aceptadoEspecial = True articulo.rechazadoPorPromedio = False articulo.rechazadoFaltaCupo = False articulo.empatado = False articulo.save() listaAceptados = getArticulosAceptadosYEspeciales() maxarticulos = getDatosConferencia() cantidad = maxarticulos - len(listaAceptados) return render(request, 'Conferencia/especiales.html', {'listaArticulos':getArticulosNoEspeciales(), 'listaEspeciales':getArticulosAceptadosEspecial(), 'cantidad':cantidad}) maxarticulos = getDatosConferencia() if listaAceptados != None: cantidad = maxarticulos - len(listaAceptados) else: cantidad = maxarticulos return render(request, 'Conferencia/especiales.html', {'listaArticulos':getArticulosNoEspeciales(), 'listaEspeciales':articulosEspeciales, 'cantidad':cantidad, 'error_message' : "Ya no se pueden aceptar mas articulos."})
def agregarAceptado(request, articulo_id): listaAceptados = getArticulosAceptadosYEspeciales() listaEmpatados = getArticulosEmpatados() maxarticulos = getDatosConferencia() if listaAceptados == None: listaAceptados = [] if maxarticulos > len(listaAceptados): articulo = getArticuloPorId(articulo_id) if articulo != None: articulo.empatado = False articulo.rechazadoFaltaCupo = False articulo.aceptado = True articulo.save() listaAceptados = getArticulosAceptadosYEspeciales() listaEmpatados = getArticulosEmpatados() maxarticulos = getDatosConferencia() cantidad = maxarticulos - len(listaAceptados) return render( request, 'Conferencia/desempatar.html', { 'listaAceptados': listaAceptados, 'listaEmpatados': listaEmpatados, 'articulosRestantes': cantidad }) maxarticulos = getDatosConferencia() cantidad = maxarticulos - len(listaAceptados) return render( request, 'Conferencia/desempatar.html', { 'listaAceptados': listaAceptados, 'listaEmpatados': listaEmpatados, 'articulosRestantes': cantidad, 'error_message': "Ya no se puede aceptar mas articulos." })
def generarAceptados(aceptables): # Se verifica si el maximo de articulos es mayor que la longitud de la lista de aceptables # si esto pasa entonces la lista de aceptables pasa a ser la lista de aceptados, sino se busca # cual es la nueva lista de aceptados maxarticulos = getDatosConferencia() especiales = getArticulosAceptadosEspecial() if especiales != None: maxarticulos = maxarticulos - len(especiales) if maxarticulos >= len(aceptables): for art in aceptables: articulo = getArticuloPorId(art.pk) if articulo != None: articulo.aceptado = True articulo.save() return aceptables else: if maxarticulos > 0: aceptados = [] i = 0 while i < maxarticulos: aceptados.append(aceptables[i]) aceptables[i].aceptado = True aceptables[i].save() i += 1 # ultimo es el articulo con promedio de menor valor en la lista de aceptados ultimo = aceptados[maxarticulos - 1] evalUltimo = ultimo.evaluacion #Se establecen los rechazados por cupo porCupo = Evaluacion.objects.filter( promedio__gte=3, promedio__lte=evalUltimo.promedio) if porCupo != None: for ev in porCupo: if ev.arbitros.all().count() >= 2: articulo = ev.articulo articulo.rechazadoFaltaCupo = True articulo.save() # se cuenta cuantas veces aparece el promedio en la lista de aceptados numvecesaccept = calcular_ocurrencia(evalUltimo.promedio, aceptados) # se cuenta cuantas veces aparece el promedio en la lista de aceptables numvecesaceptables = calcular_ocurrencia(evalUltimo.promedio, aceptables) # si el numero de veces de aceptados es distinto del numero de veces de aceptables # se procede a eliminar todos los valores que fueron admitidos en la lista de aceptados if numvecesaccept != numvecesaceptables: promedioEmpatado = evalUltimo.promedio aceptados.remove(ultimo) ultimo.aceptado = False ultimo.save() for articulo in aceptados: if (articulo.evaluacion.promedio == promedioEmpatado): aceptados.remove(articulo) articulo.aceptado = False articulo.save() else: return [] return aceptados
def generarAceptados(aceptables): # Se verifica si el maximo de articulos es mayor que la longitud de la lista de aceptables # si esto pasa entonces la lista de aceptables pasa a ser la lista de aceptados, sino se busca # cual es la nueva lista de aceptados maxarticulos = getDatosConferencia() especiales = getArticulosAceptadosEspecial() if especiales != None: maxarticulos = maxarticulos - len(especiales) if maxarticulos>=len(aceptables): for art in aceptables: articulo = getArticuloPorId(art.pk) if articulo != None: articulo.aceptado = True articulo.save() return aceptables else: if maxarticulos > 0: aceptados=[] i=0 while i<maxarticulos: aceptados.append(aceptables[i]) aceptables[i].aceptado = True aceptables[i].save() i+=1 # ultimo es el articulo con promedio de menor valor en la lista de aceptados ultimo=aceptados[maxarticulos-1] evalUltimo = ultimo.evaluacion #Se establecen los rechazados por cupo porCupo = Evaluacion.objects.filter(promedio__gte = 3, promedio__lte = evalUltimo.promedio) if porCupo != None: for ev in porCupo: if ev.arbitros.all().count() >= 2: articulo = ev.articulo articulo.rechazadoFaltaCupo = True articulo.save() # se cuenta cuantas veces aparece el promedio en la lista de aceptados numvecesaccept=calcular_ocurrencia(evalUltimo.promedio, aceptados) # se cuenta cuantas veces aparece el promedio en la lista de aceptables numvecesaceptables=calcular_ocurrencia(evalUltimo.promedio, aceptables) # si el numero de veces de aceptados es distinto del numero de veces de aceptables # se procede a eliminar todos los valores que fueron admitidos en la lista de aceptados if numvecesaccept!=numvecesaceptables: promedioEmpatado = evalUltimo.promedio aceptados.remove(ultimo) ultimo.aceptado = False ultimo.save() for articulo in aceptados: if(articulo.evaluacion.promedio == promedioEmpatado): aceptados.remove(articulo) articulo.aceptado = False articulo.save() else: return [] return aceptados
def get_empatados(aceptados, aceptables): empatados=[]+aceptables for element in aceptados: empatados.remove(element) for emp in empatados: articulo = getArticuloPorId(emp.pk) if articulo != None: articulo.empatado = True articulo.rechazadoFaltaCupo = True articulo.save() return empatados
def get_empatados(aceptados, aceptables): empatados = [] + aceptables for element in aceptados: empatados.remove(element) for emp in empatados: articulo = getArticuloPorId(emp.pk) if articulo != None: articulo.empatado = True articulo.rechazadoFaltaCupo = True articulo.save() return empatados
def agregarAceptado(request, articulo_id): listaAceptados = getArticulosAceptadosYEspeciales() listaEmpatados = getArticulosEmpatados() maxarticulos = getDatosConferencia() if listaAceptados == None: listaAceptados = [] if maxarticulos > len(listaAceptados): articulo = getArticuloPorId(articulo_id) if articulo != None: articulo.empatado = False articulo.rechazadoFaltaCupo = False articulo.aceptado = True articulo.save() listaAceptados = getArticulosAceptadosYEspeciales() listaEmpatados = getArticulosEmpatados() maxarticulos = getDatosConferencia() cantidad = maxarticulos - len(listaAceptados) return render(request, 'Conferencia/desempatar.html', {'listaAceptados':listaAceptados, 'listaEmpatados':listaEmpatados, 'articulosRestantes':cantidad}) maxarticulos = getDatosConferencia() cantidad = maxarticulos - len(listaAceptados) return render(request, 'Conferencia/desempatar.html', {'listaAceptados':listaAceptados, 'listaEmpatados':listaEmpatados, 'articulosRestantes':cantidad, 'error_message' : "Ya no se puede aceptar mas articulos."})
def agregarEspecial(request, articulo_id): listaAceptados = getArticulosAceptadosYEspeciales() listaEmpatados = getArticulosEmpatados() maxarticulos = getDatosConferencia() if listaAceptados == None: listaAceptados = [] if maxarticulos > len(listaAceptados): articulo = getArticuloPorId(articulo_id) if articulo != None: articulo.aceptadoEspecial = True articulo.rechazadoPorPromedio = False articulo.rechazadoFaltaCupo = False articulo.empatado = False articulo.save() listaAceptados = getArticulosAceptadosYEspeciales() maxarticulos = getDatosConferencia() cantidad = maxarticulos - len(listaAceptados) return render( request, 'Conferencia/especiales.html', { 'listaArticulos': getArticulosNoEspeciales(), 'listaEspeciales': getArticulosAceptadosEspecial(), 'cantidad': cantidad }) maxarticulos = getDatosConferencia() if listaAceptados != None: cantidad = maxarticulos - len(listaAceptados) else: cantidad = maxarticulos return render( request, 'Conferencia/especiales.html', { 'listaArticulos': getArticulosNoEspeciales(), 'listaEspeciales': articulosEspeciales, 'cantidad': cantidad, 'error_message': "Ya no se pueden aceptar mas articulos." })