def acta_cd(request,acta_id): enc = Encontre.objects.filter(id=acta_id)[0] comp_nom = enc.jornada.competicio.nom if request.method == 'POST': myform = ActaFormCD(enc,request.POST) if myform.is_valid(): fcd = myform.cleaned_data # Validate user valid = True f_username = fcd["username"] f_password = fcd["password"] lusers = User.objects.filter(username=f_username) if len(lusers) < 1: valid = False myform.errors['username'] = ErrorList(['Usuari no existent']) elif not(lusers[0].check_password(f_password)): valid = False myform.errors['password'] = ErrorList(['Contrassenya incorrecta']) elif not lusers[0].is_staff: luec = UserEquipCompeticio.objects.filter(user__username=f_username) if len(luec) < 1: valid = False else: uec = luec[0] if not (uec.equipcompeticio == enc.local or uec.equipcompeticio == enc.visitant): valid = False myform.errors['username'] = ErrorList(['No pots modificar aquest partit']) if not valid: response = render_to_response('programa/acta_cd.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' return response # End user validation lresabc = ["abcr1","abcr2","abcr3","abcrd","abcr4","abcr5","abcr6"] lresxyz = ["xyzr1","xyzr2","xyzr3","xyzrd","xyzr4","xyzr5","xyzr6"] ljugabc = ["abc1","abc2","abc3","abcd1","abcd2","abc4","abc5","abc6"] ljugxyz = ["xyz1","xyz2","xyz3","xyzd1","xyzd2","xyz4","xyz5","xyz6"] err = False # Check that players belong to its teams for i in range(0,len(ljugabc)): if (fcd[ljugabc[i]].equipcompeticio != fcd["equipabc"]): myform.errors[ljugabc[i]] = ErrorList(["Aquest jugador no pertany a l'equip."]) err = True if (fcd[ljugxyz[i]].equipcompeticio == fcd["equipabc"]): myform.errors[ljugxyz[i]] = ErrorList(["Aquest jugador no pertany a l'equip."]) err = True # Check that one and only one result is 3 in each match for i in range(0,len(lresabc)): if ((fcd[lresabc[i]] < 3 and fcd[lresxyz[i]] < 3) or (fcd[lresabc[i]] == 3 and fcd[lresxyz[i]] == 3)): myform.errors[lresabc[i]] = ErrorList(["Resultat incorrecte."]) err = True # Check that there is no repeated match - TBD if err: response = render_to_response('programa/acta_cd.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' return response # All ok # - Update abc enc.abc = fcd["equipabc"] # - Update resultats [res_abc,jocs_abc] = [0,0] for r in lresabc: jocs_abc = jocs_abc + fcd[r] if fcd[r] == 3: res_abc = res_abc + 1 [res_xyz,jocs_xyz] = [0,0] for r in lresxyz: jocs_xyz = jocs_xyz + fcd[r] if fcd[r] == 3: res_xyz = res_xyz + 1 if enc.abc == enc.local: [enc.jocs_local,enc.resultat_local] = [jocs_abc,res_abc] [enc.jocs_visitant,enc.resultat_visitant] = [jocs_xyz,res_xyz] else: [enc.jocs_local,enc.resultat_local] = [jocs_xyz,res_xyz] [enc.jocs_visitant,enc.resultat_visitant] = [jocs_abc,res_abc] enc.save() # - Create Individuals and Dobles for i in range(1,7): lind = Individuals.objects.filter(encontre = enc,numero = i) if len(lind) > 0: ind = lind[0] else: ind = Individuals() ind.encontre = enc ind.numero = i ind.jugador_abc = fcd["abc" + str(i)] ind.jugador_xyz = fcd["xyz" + str(i)] ind.jocs_abc = fcd["abcr" + str(i)] ind.jocs_xyz = fcd["xyzr" + str(i)] ind.save() ldob = Dobles.objects.filter(encontre = enc) if len(ldob) > 0: dob = ldob[0] else: dob = Dobles() dob.encontre = enc dob.jugador_abc_1 = fcd["abcd1"] dob.jugador_abc_2 = fcd["abcd2"] dob.jugador_xyz_1 = fcd["xyzd1"] dob.jugador_xyz_2 = fcd["xyzd2"] dob.jocs_abc = fcd["abcrd"] dob.jocs_xyz = fcd["xyzrd"] dob.save() #return HttpResponseRedirect('/programa/calendari/' + str(comp_nom) + '/') if comp_nom == '2013g1': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga_7545.html') elif comp_nom == '2013g2': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga_7311.html') if comp_nom == '20121f': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga_23.html') elif comp_nom == '20122f1': ranquing_precalcula() return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga_24.html') elif comp_nom == '20122f2': ranquing_precalcula() return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga_7268.html') elif comp_nom == '20122f3': ranquing_precalcula() return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga_3782.html') if comp_nom == '20111f': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga.html') elif comp_nom == '20112f1': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga-2011-2012.html') elif comp_nom == '20112f2': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-lliga-2011-2012_17.html') if comp_nom == '20101fA': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-grup-1.html') elif comp_nom == '20101fB': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-grup-2.html') if comp_nom == '20102f1': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-grup-1_05.html') elif comp_nom == '20102f2': return HttpResponseRedirect('http://ttintercomarcal.blogspot.com/p/calendari-i-resultats-grup-2_05.html') return HttpResponseRedirect('http://ttintercomarcal.blogspot.com') else: response = render_to_response('programa/acta_cd.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' return response else: myform = ActaFormCD(enc) response = render_to_response('programa/acta_cd.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' return response
def acta(request,acta_id): enc = Encontre.objects.filter(id=acta_id)[0] comp_nom = enc.jornada.competicio.nom valid = True if not request.user.is_authenticated(): valid = False else: if not request.user.is_staff: luec = UserEquipCompeticio.objects.filter(user=request.user) if luec < 0: valid = False else: uec = luec[0] if not (uec.equipcompeticio == enc.local or uec.equipcompeticio == enc.visitant): valid = False if not valid: return HttpResponseRedirect('/programa/veure_acta/' + str(acta_id) + '/') # User is valid if request.method == 'POST': myform = ActaForm(enc,request.POST) if myform.is_valid(): fcd = myform.cleaned_data lresabc = ["abcr1","abcr2","abcr3","abcrd","abcr4","abcr5","abcr6"] lresxyz = ["xyzr1","xyzr2","xyzr3","xyzrd","xyzr4","xyzr5","xyzr6"] ljugabc = ["abc1","abc2","abc3","abcd1","abcd2","abc4","abc5","abc6"] ljugxyz = ["xyz1","xyz2","xyz3","xyzd1","xyzd2","xyz4","xyz5","xyz6"] err = False # Check that players belong to its teams for i in range(0,len(ljugabc)): if (fcd[ljugabc[i]].equipcompeticio != fcd["equipabc"]): myform.errors[ljugabc[i]] = ErrorList(["Aquest jugador no pertany a l'equip."]) err = True if (fcd[ljugxyz[i]].equipcompeticio == fcd["equipabc"]): myform.errors[ljugxyz[i]] = ErrorList(["Aquest jugador no pertany a l'equip."]) err = True # Check that one and only one result is 3 in each match for i in range(0,len(lresabc)): if ((fcd[lresabc[i]] < 3 and fcd[lresxyz[i]] < 3) or (fcd[lresabc[i]] == 3 and fcd[lresxyz[i]] == 3)): myform.errors[lresabc[i]] = ErrorList(["Resultat incorrecte."]) err = True # Check that there is no repeated match - TBD if err: return render_to_response('programa/acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) # All ok # - Update abc enc.abc = fcd["equipabc"] # - Update resultats [res_abc,jocs_abc] = [0,0] for r in lresabc: jocs_abc = jocs_abc + fcd[r] if fcd[r] == 3: res_abc = res_abc + 1 [res_xyz,jocs_xyz] = [0,0] for r in lresxyz: jocs_xyz = jocs_xyz + fcd[r] if fcd[r] == 3: res_xyz = res_xyz + 1 if enc.abc == enc.local: [enc.jocs_local,enc.resultat_local] = [jocs_abc,res_abc] [enc.jocs_visitant,enc.resultat_visitant] = [jocs_xyz,res_xyz] else: [enc.jocs_local,enc.resultat_local] = [jocs_xyz,res_xyz] [enc.jocs_visitant,enc.resultat_visitant] = [jocs_abc,res_abc] enc.save() # - Create Individuals and Dobles for i in range(1,7): lind = Individuals.objects.filter(encontre = enc,numero = i) if len(lind) > 0: ind = lind[0] else: ind = Individuals() ind.encontre = enc ind.numero = i ind.jugador_abc = fcd["abc" + str(i)] ind.jugador_xyz = fcd["xyz" + str(i)] ind.jocs_abc = fcd["abcr" + str(i)] ind.jocs_xyz = fcd["xyzr" + str(i)] ind.save() ldob = Dobles.objects.filter(encontre = enc) if len(ldob) > 0: dob = ldob[0] else: dob = Dobles() dob.encontre = enc dob.jugador_abc_1 = fcd["abcd1"] dob.jugador_abc_2 = fcd["abcd2"] dob.jugador_xyz_1 = fcd["xyzd1"] dob.jugador_xyz_2 = fcd["xyzd2"] dob.jocs_abc = fcd["abcrd"] dob.jocs_xyz = fcd["xyzrd"] dob.save() logout(request) return HttpResponseRedirect('/programa/calendari/' + str(comp_nom) + '/') else: return render_to_response('programa/acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) else: myform = ActaForm(enc) response = render_to_response('programa/acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"' return response