From fb6edb764a84bbfb9c169468d0422987b43de1e3 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Thu, 20 Jan 2011 16:05:53 +0200 Subject: good stuff almost there --- main/admin.py | 5 +++++ main/models.py | 21 ++++++++++++++++++++- main/views.py | 36 +++++++++++++++++++++++++++++++++--- media/css/base.css | 0 templates/main.html | 51 +++++++++++++++++++++++++++++++++++++++++++-------- test.db | Bin 69632 -> 83968 bytes urls.py | 7 ++++--- 7 files changed, 105 insertions(+), 15 deletions(-) create mode 100644 main/admin.py create mode 100644 media/css/base.css diff --git a/main/admin.py b/main/admin.py new file mode 100644 index 0000000..0e4d735 --- /dev/null +++ b/main/admin.py @@ -0,0 +1,5 @@ +from fooz.main.models import Player, Match +from django.contrib import admin + +admin.site.register(Match) +admin.site.register(Player) diff --git a/main/models.py b/main/models.py index 71a8362..e086b27 100644 --- a/main/models.py +++ b/main/models.py @@ -1,3 +1,22 @@ +from datetime import datetime from django.db import models -# Create your models here. + +class Player(models.Model): + name = models.CharField(max_length=30) + + def __unicode__(self): + return self.name + +class Match(models.Model): + player1 = models.ForeignKey(Player, related_name='match1') #team 1 + player2 = models.ForeignKey(Player, related_name='match2') #team 2 + player3 = models.ForeignKey(Player, related_name='match3', null=True, blank=True) #team 1 + player4 = models.ForeignKey(Player, related_name='match4', null=True, blank=True) #team 2 + score1 = models.IntegerField(default=0) + score2 = models.IntegerField(default=0) + date = models.DateTimeField(default=datetime.now) + + def __unicode__(self): + return "%s vs. %s - %d:%d (%s)" % (self.player1, self.player2, self.score1, self.score2, str(self.date)) + diff --git a/main/views.py b/main/views.py index b0f1454..ac95d31 100644 --- a/main/views.py +++ b/main/views.py @@ -1,7 +1,37 @@ -from django.http import HttpResponse +from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext -import mptt +from fooz.main.models import Player, Match + +from datetime import datetime + +import json def index(request): - return render_to_response('main.html', {}, context_instance=RequestContext(request)) \ No newline at end of file + matches = Match.objects.all().order_by('date') + players = Player.objects.all() + return render_to_response('main.html', {'matches' : matches, 'players' : players}, context_instance=RequestContext(request)) + +def match(request): + p1 = Player.objects.get(id=int(request.POST.get('p1'))) + p2 = Player.objects.get(id=int(request.POST.get('p2'))) + try: + p3 = Player.objects.get(id=int(request.POST.get('p3'))) + p4 = Player.objects.get(id=int(request.POST.get('p4'))) + except: + p3 = None + p4 = None + + s1 = int(request.POST.get('s1')) + s2 = int(request.POST.get('s2')) + + if None not in (p1, p2, s1, s2): + date = datetime.now() + match = Match(player1=p1, player2=p2, score1=s1, score2=s2, date=date) + match.save() + + return HttpResponseRedirect('/') + +def test(request): + matches = Match.objects.all().order_by('date') + return HttpResponse(json.dumps(matches)) \ No newline at end of file diff --git a/media/css/base.css b/media/css/base.css new file mode 100644 index 0000000..e69de29 diff --git a/templates/main.html b/templates/main.html index 8fc79c4..d45f7a7 100644 --- a/templates/main.html +++ b/templates/main.html @@ -5,33 +5,68 @@ {% block extraMeta %}{% endblock %} - + {% block extraCSS %}{% endblock %} {% block extraJS %}{% endblock %} - {% block baseTitle %}Hello{% endblock %}{% block extraTitle %}{% endblock %} + {% block baseTitle %}Top7 Foozball League{% endblock %}{% block extraTitle %}{% endblock %}
{% block header %} -

שלום

+

Top7 Foosball League

{% endblock %} -
- {% block contentArea %} -

לורם איפסום...

- {% endblock %} +
+

Games

+ {% block contentArea %} + {% for m in matches%} +

{{ m }}

+ {% endfor %} + {% endblock %}
+ +
+

New Match

+
+ + + + + + + +
+
diff --git a/test.db b/test.db index 97c1f19..ee2590b 100644 Binary files a/test.db and b/test.db differ diff --git a/urls.py b/urls.py index e953a41..940a444 100644 --- a/urls.py +++ b/urls.py @@ -2,11 +2,12 @@ from django.conf.urls.defaults import * from django.conf import settings # Uncomment the next two lines to enable the admin: -# from django.contrib import admin -# admin.autodiscover() +from django.contrib import admin +admin.autodiscover() urlpatterns = patterns('', (r'^$', 'fooz.main.views.index'), + (r'^match/$', 'fooz.main.views.match'), # Example: # (r'^fooz/', include('fooz.foo.urls')), @@ -14,7 +15,7 @@ urlpatterns = patterns('', # (r'^admin/doc/', include('django.contrib.admindocs.urls')), # Uncomment the next line to enable the admin: - # (r'^admin/', include(admin.site.urls)), + (r'^admin/', include(admin.site.urls)), # media serving, will move later on to subdomain served by Apache (r'^media/(?P.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), -- cgit v1.3.1