示例#1
0
def Home(request):
	
# 	round = Round.objects.get(id=264)
# 	
# 	games = Game.objects.filter(round=round)
# 	print "HOME"
# 	for g in games:
# 		pst = Preferred_start_time.objects.filter(game=g, player=g.player1)
# 		if len(pst) == 0:
# 			p = Preferred_start_time(game=g, player=g.player1)
# 			p.save()
# 			print str(g.id)
# 		pst = Preferred_start_time.objects.filter(game=g, player=g.player2)
# 		if len(pst) == 0:
# 			p = Preferred_start_time(game=g, player=g.player2)
# 			p.save()
# 			print str(g.id)
	
	

	if request.user.is_authenticated():

		nextGames = len(Game.objects.filter(Q(log = False), Q(start_time__gte = datetime.datetime.now()),
										 Q(player1 = request.user) | Q(player2 = request.user)))
		wonGames = len(Game.objects.filter(Q(winner = request.user), Q(log=True)))
		lostGames = len(Game.objects.filter(Q(player1 = request.user) | Q(player2 = request.user), ~Q(winner = request.user), Q(log=True)))

		#myTournaments = len(Tournament.objects.filter(players = request.user).filter(Q(finish_date__gte = datetime.datetime.now())))
		myTournaments = len(Tournament.objects.filter(players = request.user))
		activeTournaments = len(Tournament.objects.filter(start_date__lte = datetime.date.today(), finish_date__gte = datetime.date.today()))
		nextTournaments = len(Tournament.objects.filter(start_date__gt = datetime.date.today()))
		finishedTournaments = len(Tournament.objects.filter(finish_date__lt = datetime.datetime.now()))

		if request.mobile:
			return render_to_response('mobile/home.html', {
				'nextGames': nextGames,
				'wonGames': wonGames,
				'lostGames': lostGames,
				'myTournaments': myTournaments,
				'activeTournaments': activeTournaments,
				'nextTournaments': nextTournaments,
				'finishedTournaments': finishedTournaments,	
			})
		
		
		return HttpResponseRedirect("/next-games")


	else:

		if request.method == 'POST': # If the form has been submitted...
			loginForm = LoginForm(request.POST) # A form bound to the POST data
			if loginForm.is_valid(): # All validation rules pass
				user = authenticate(username=request.POST['username'], password=request.POST['password'])

				timezone = request.POST['timezone']
				userProfile = UserProfile.objects.get(user=user)
				userProfile.timezone = timezone
				userProfile.save()				
				
				login(request, user)
		
				if request.mobile:
					return render_to_response('mobile/home.html', {})
				
				else:
					#return HttpResponseRedirect('/next-games')
					myFutureGames = Game.objects.filter(Q(log = False), Q(player1 = request.user) | Q(player2 = request.user)).order_by('start_time')
				
					dates = []
				
					for game in myFutureGames:
						if not game.start_time_committed and (datetime.datetime.now() + datetime.timedelta(minutes=120)) > game.start_time:
							game.start_time_committed = True
							game.save()
				
						if not game.start_time.date() in dates:
							dates.append(game.start_time.date())
				
					template ='custom/next-games.html'
				
					if request.mobile:
						template = 'mobile/next-games.html'
				
					up = UserProfile.objects.get(user=request.user)
					timezone = up.timezone
				
				 	return render_to_response(template, {
				 		'user_me': request.user,
				 		'timezone': timezone,
				 		'myNextGames': myFutureGames,
				 		'dates': dates
				 	})


			else:
				registerForm = RegisterForm()
				template = get_template('custom/splash.html')

				if request.mobile:
					template = get_template('mobile/login.html')


				return HttpResponse(template.render(RequestContext(request, {'loginForm': loginForm})))
			
		else:
			if request.mobile:
				return HttpResponse(get_template('mobile/login.html').render(RequestContext(request, {})))


			return HttpResponse(get_template('custom/splash.html').render(RequestContext(request, {})))
示例#2
0
def Login(request):

	if not request.mobile:
		return HttpResponseRedirect("/")


	if request.user.is_authenticated():

		nextGames = len(Game.objects.filter(Q(log__isnull = False), Q(start_time__gte = datetime.datetime.now()),
										 Q(player1 = request.user) | Q(player2 = request.user)))
		wonGames = len(Game.objects.filter(winner = request.user))
		lostGames = len(Game.objects.filter(Q(player1 = request.user) | Q(player2 = request.user), ~Q(winner = request.user), Q(log=True)))

		#myTournaments = len(Tournament.objects.filter(players = request.user).filter(Q(finish_date__gte = datetime.datetime.now())))
		myTournaments = len(Tournament.objects.filter(players = request.user))
		activeTournaments = len(Tournament.objects.filter(start_date__lte = datetime.date.today(), finish_date__gte = datetime.date.today()))
		nextTournaments = len(Tournament.objects.filter(start_date__gt = datetime.date.today()))
		finishedTournaments = len(Tournament.objects.filter(finish_date__lt = datetime.datetime.now()))

		return render_to_response('mobile/home.html', {
			'nextGames': nextGames,
			'wonGames': wonGames,
			'lostGames': lostGames,
			'myTournaments': myTournaments,
			'activeTournaments': activeTournaments,
			'nextTournaments': nextTournaments,
			'finishedTournaments': finishedTournaments,	
		})



	# Load strings language to template login.html
	try:
		lang = strLang()
	except:
		lang = ''

	if request.method == 'POST': # If the form has been submitted...
		loginForm = LoginForm(request.POST) # A form bound to the POST data
		if loginForm.is_valid(): # All validation rules pass
			user = authenticate(username=request.POST['username'], password=request.POST['password'])
			login(request, user)
			return render_to_response('mobile/home.html', {})
		else:
			registerForm = RegisterForm()
			return render_to_response('mobile/login.html', {
				'loginForm': loginForm,
				'lang': lang,
			})			
	else:
		loginForm = LoginForm() # An unbound form
		registerForm = RegisterForm()
		
# 		return render_to_response('mobile/login.html', {
# 			'loginForm': loginForm,
# 			'lang': lang,
# 		})


		return HttpResponse(get_template('mobile/login.html').render(RequestContext(request, {
			'loginForm': loginForm,
			'lang': lang,																								
		})))