def veure_acta(request,acta_id): enc = Encontre.objects.filter(id=acta_id)[0] myform = ActaForm(enc) for fieldname in myform.fields: myform.fields[fieldname].widget.attrs['readonly'] = True #myform.fields[fieldname].widget.attrs['editable'] = False return render_to_response('programa/veure_acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant,'acta_id':acta_id}, context_instance=RequestContext(request))
def login_acta(request,acta_id): enc = Encontre.objects.filter(id=acta_id)[0] myform = ActaForm(enc) myloginform = LoginForm() for fieldname in myform.fields: myform.fields[fieldname].widget.attrs['readonly'] = True #myform.fields[fieldname].widget.attrs['editable'] = False if request.method == 'POST': myloginform = LoginForm(request.POST) if myloginform.is_valid(): fcd = myloginform.cleaned_data user = authenticate(username=fcd["username"], password=fcd["password"]) if user is None: myloginform.errors['username'] = ErrorList(['Identificacio incorrecta']) response = render_to_response('programa/login_acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant,'myloginform':myloginform}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR CNT"' return response else: # All ok! login(request, user) return HttpResponseRedirect("/programa/acta/" + str(acta_id) + "/") else: response = render_to_response('programa/login_acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant,'myloginform':myloginform}, context_instance=RequestContext(request)) response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR CNT"' return response else: myloginform = LoginForm() response = render_to_response('programa/login_acta.html', {'myform':myform,'local':enc.local,'visitant':enc.visitant,'myloginform':myloginform}, context_instance=RequestContext(request)) #response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR 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