def view(request, name): title = name cat = name if "_" in name: title = name.split("_")[0] cat = name.split("_")[1] ti = TournoiTitle.objects.get(nom=title) ca = TournoiCategorie.objects.get(nom=cat) tournoi = Tournoi.objects.get(titre=ti, categorie=ca) # Liste des tournoi qui ont deja un arbre all_tournoi_with_arbre = Tournoi.objects.filter( arbre__id__gte=0).exclude(titre=ti, categorie=ca) court_list = dict() for elem in all_tournoi_with_arbre: if elem.arbre.court.id in court_list: court_list[elem.arbre.court.id] += "<br>" + str(elem) else: court_list[elem.arbre.court.id] = str(elem) all_tournoi_with_arbre = None terrains = Court.objects.filter(valide=True) jour = ti.jour if jour == "Samedi": terrains = terrains.filter(dispoSamedi=True) else: terrains = terrains.filter(dispoDimanche=True) terrains.order_by("id") for elem in terrains: if elem.id in court_list: elem.conflict = court_list[elem.id] else: elem.conflict = "" court_list = None def getKey(item): return item[1] if request.method == "POST": if request.POST['action'] == "save": treeData = request.POST['treeData'] treeLabel = request.POST['treeLabel'] gagnant = request.POST['gagnant'] finaliste = request.POST['finaliste'] terrainRecv = request.POST['terrain'] terrain = Court.objects.get(id=terrainRecv) pair_g = None if gagnant != "": pairgagnante = Pair.objects.get(id=int(gagnant)) pairgagnante.gagnant = True pairgagnante.save() pair_g = pairgagnante pair_f = None if finaliste != "": finalistes = finaliste.split("-") finaliste1 = Pair.objects.get(id=int(finalistes[0])) finaliste2 = Pair.objects.get(id=int(finalistes[1])) finaliste1.finaliste = True finaliste1.save() finaliste2.finaliste = True finaliste2.save() if pair_g is not None: if pair_g == finaliste1: pair_f = finaliste2 else: pair_f = finaliste1 if pair_g is not None and pair_f is not None: # Changement du status du tournoi s = TournoiStatus.objects.get(numero=4) tournoi.status = s tournoi.save() # Save des resultats for elem in Resultat.objects.filter(tournoi=tournoi): elem.delete() ga = pair_g.user1.participant.prenom + u" " + pair_g.user1.participant.nom.upper() + \ u" et " + pair_g.user2.participant.prenom + \ u" " + pair_g.user2.participant.nom.upper() fi = pair_f.user1.participant.prenom + u" " + pair_f.user1.participant.nom.upper() + \ u" et " + pair_f.user2.participant.prenom + \ u" " + pair_f.user2.participant.nom.upper() r = Resultat(tournoi=tournoi, gagnants_alt=ga, finalistes_alt=fi) r.save() r.gagnants.add(pair_g.user1) r.gagnants.add(pair_g.user2) r.finalistes.add(pair_f.user1) r.finalistes.add(pair_f.user2) r.save() info = infoTournoi.objects.all() info = info.order_by("edition")[len(info) - 1] info.resultats.add(r) info.save() if tournoi.arbre is None: arbre = Arbre(data=treeData, label=treeLabel) arbre.court = terrain arbre.save() tournoi.arbre = arbre tournoi.save() else: arbre = tournoi.arbre arbre.data = treeData arbre.label = treeLabel arbre.court = terrain arbre.save() LogActivity(user=request.user, section="Tournoi", target=""+arbre.id, details="Mise a jour de l'abre du tournoi : " + tournoi.nom()).save() elif request.POST['action'] == "deleteTree": s = TournoiStatus.objects.get(numero=3) tournoi.status = s tournoi.save() if tournoi.arbre is not None: for poule in tournoi.poule_set.all(): for pair in poule.paires.all(): pair.gagnant = False pair.finaliste = False pair.save() arbre = tournoi.arbre arbre.data = None arbre.label = None arbre.save() LogActivity(user=request.user, section="Tournoi", target=""+repr(arbre.id), details="Suppression de l'abre du tournoi : " + tournoi.nom()).save() return redirect(reverse(knockOff, args={name})) if request.user.is_authenticated(): poules = Poule.objects.filter(tournoi=tournoi) dictionnaire = dict() allPaires = list() for poule in poules: if poule.status == PouleStatus.objects.get(numero=2): scores = poule.score.all() dico = dict() for paire in poule.paires.all(): dico[paire.id] = 0 for score in scores: dico[score.paire1.id] = dico[ score.paire1.id] + score.point1 dico[score.paire2.id] = dico[ score.paire2.id] + score.point2 liste = list() for key, value in dico.items(): liste.append((key, value)) liste = sorted(liste, key=getKey, reverse=True) dictionnaire[poule.id] = liste poule.SortedPair = list() x = 1 for pairID, sc in liste: pai = Pair.objects.get(id=pairID) pai.score = sc pai.poule = poule.id pai.position = x poule.SortedPair.append(pai) allPaires.append(pai) x = x + 1 if tournoi.arbre is not None: arbre = tournoi.arbre return render(request, 'knockOff.html', locals()) return redirect(reverse(home))
def addResult(self): #Information sur l'edition 41 for elem in infoTournoi.objects.filter(edition=41): elem.delete() i = infoTournoi(prix=20,date=datetime.date(2015, 9, 12),addr="Place des Carabiniers, 5, 1030 Bruxelles",edition=41) i.save() #Titre TF = TournoiTitle.objects.get(nom="Tournoi des familles") DM = TournoiTitle.objects.get(nom="Double mixte") DH = TournoiTitle.objects.get(nom="Double hommes") DF = TournoiTitle.objects.get(nom="Double femmes") list_categorie = ['Pre minimes', 'Minimes', 'Cadets', 'Scolaires', 'Juniors', 'Seniors', 'Elites'] #Catégorie PM = TournoiCategorie.objects.get(nom="Pre minimes") MI = TournoiCategorie.objects.get(nom="Minimes") CA = TournoiCategorie.objects.get(nom="Cadets") SC = TournoiCategorie.objects.get(nom="Scolaires") JU = TournoiCategorie.objects.get(nom="Juniors") SE = TournoiCategorie.objects.get(nom="Seniors") EL = TournoiCategorie.objects.get(nom="Elites") TFC = TournoiCategorie.objects.get(nom="Tournoi des familles") #Resultats #Double Mixte t = Tournoi.objects.get(titre=DM, categorie=MI) r = Resultat(tournoi=t,gagnants_alt="Julie RYELANDT et Evrard THIJSSEN",finalistes_alt="Lou COURBIAU et Alaric KALISH") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DM, categorie=CA) r = Resultat(tournoi=t,gagnants_alt="Amandine PRIOUX et Antoine BOONE",finalistes_alt="Chloe OLESEN et Maxime de RIBAUCOURT") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DM, categorie=SC) r = Resultat(tournoi=t,gagnants_alt="Eleonore BOONEN et Guillaume-Constant CLAES",finalistes_alt="Maroussia Cattoir et Amaury Cattoir") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DM, categorie=JU) r = Resultat(tournoi=t,gagnants_alt="Anouchka LAURENT JOSI et Antoine de BORREKENS",finalistes_alt="Anouchka LAURENT JOSI et Antoine de BORREKENS") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DM, categorie=EL) r = Resultat(tournoi=t,gagnants_alt="Julie RYELANDT et Evrard THIJSSEN",finalistes_alt="Lou COURBIAU et Alaric KALISH") r.save() i.resultats.add(r) #Double Femmes t = Tournoi.objects.get(titre=DF, categorie=MI) r = Resultat(tournoi=t,gagnants_alt="Julie RYELANDT et Lola SCHMID",finalistes_alt="Zoe VERHOOSEL et Alexia JACOB") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DF, categorie=CA) r = Resultat(tournoi=t,gagnants_alt="Antoinette ADAM et Victorine ADAM",finalistes_alt="Agathe DE MOL et Louise-Marie DUPREZ") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DF, categorie=SC) r = Resultat(tournoi=t,gagnants_alt="Delphine SPRUYTTE et Ludivine D'YDEWALLE",finalistes_alt="Juliette DAVIGNON et Charlotte-Lucie DELBECQUE") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DF, categorie=JU) r = Resultat(tournoi=t,gagnants_alt="Laura DECLETY et Sophie GOFFAU",finalistes_alt="Alexia KASTEEL et Louise MONVILLE") r.save() i.resultats.add(r) #Double Hommes t = Tournoi.objects.get(titre=DH, categorie=MI) r = Resultat(tournoi=t,gagnants_alt="Arnaud DAVIGNON et Hidde DOMS",finalistes_alt="Alexis MENCIK et Jules RAEMDONCK") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DH, categorie=CA) r = Resultat(tournoi=t,gagnants_alt="Quentin DAVIGNON et Alexandre VERHULST",finalistes_alt="Diego TIELENS et Alexandre de STAERCKE") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DH, categorie=SC) r = Resultat(tournoi=t,gagnants_alt="Charles le GRELLE et Martin van der MEERSCHEN",finalistes_alt="François DAVID et Antoine LEGRAND") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DH, categorie=JU) r = Resultat(tournoi=t,gagnants_alt="Augustin BOSSAERT DERACHE et Diego MOMMAERTS",finalistes_alt="Felix de PATOUL et Nicolas van HAVRE") r.save() i.resultats.add(r) t = Tournoi.objects.get(titre=DH, categorie=EL) r = Resultat(tournoi=t,gagnants_alt="Olivier MARTINOT et Didier PERWEZ",finalistes_alt="Philippe DE BRUYNE et Alain VERGAUWEN") r.save() i.resultats.add(r) #Tournoi des familles t = Tournoi.objects.get(titre=TF, categorie=TFC) r = Resultat(tournoi=t,gagnants_alt="Guillaume van LINT et Eric van LINT",finalistes_alt="Briac LOHEST et Emmanuel LOHEST") r.save() i.resultats.add(r) i.save()