diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2011-01-20 16:05:53 +0200 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2011-01-20 16:05:53 +0200 |
| commit | fb6edb764a84bbfb9c169468d0422987b43de1e3 (patch) | |
| tree | 716dfa28ef5925a51ec112a2e6b5efdf06804af8 | |
| parent | 5a0d324b9ecf9ec88a772bf7fc92e5b14c0c60de (diff) | |
good stuff almost there
| -rw-r--r-- | main/admin.py | 5 | ||||
| -rw-r--r-- | main/models.py | 21 | ||||
| -rw-r--r-- | main/views.py | 36 | ||||
| -rw-r--r-- | media/css/base.css | 0 | ||||
| -rw-r--r-- | templates/main.html | 51 | ||||
| -rw-r--r-- | test.db | bin | 69632 -> 83968 bytes | |||
| -rw-r--r-- | urls.py | 7 |
7 files changed, 105 insertions, 15 deletions
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 --- /dev/null +++ b/media/css/base.css 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 %} <link rel="stylesheet" href="{{ MEDIA_URL }}css/bp/screen.css" type="text/css" media="screen, projection"/> - <link rel="stylesheet" href="{{ MEDIA_URL }}css/bp/rtl.css" type="text/css" media="screen, projection"/> <link rel="stylesheet" href="{{ MEDIA_URL }}css/bp/print.css" type="text/css" media="print"/> <!--[if IE]><link rel="stylesheet" href="{{ MEDIA_URL }}css/ie.css" type="text/css" media="screen, projection"/><![endif]--> + <link rel="stylesheet" href="{{ MEDIA_URL }}css/base.css" type="text/css" media="print"/> {% block extraCSS %}{% endblock %} <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="{{ MEDIA_URL }}js/base.js"></script> {% block extraJS %}{% endblock %} - <title>{% block baseTitle %}Hello{% endblock %}{% block extraTitle %}{% endblock %}</title> + <title>{% block baseTitle %}Top7 Foozball League{% endblock %}{% block extraTitle %}{% endblock %}</title> </head> <body class="fullDoc"> <div id="fullWidthContainer" class="container"> {% block header %} - <h1>שלום</h1> + <h1>Top7 Foosball League</h1> {% endblock %} - <div id="content" class="span-24 last"> - {% block contentArea %} - <h2>לורם איפסום...</h2> - {% endblock %} + <div id="content" class="span-12 last"> + <h2>Games</h2> + {% block contentArea %} + {% for m in matches%} + <h3>{{ m }}</h3> + {% endfor %} + {% endblock %} </div> + + <div id="content" class="span-12 last"> + <h2>New Match</h2> + <form method="post" action="/match/"> + <select name="p1"> + <option value=" "> </option> + {% for p in players %} + <option value="{{ p.id }}">{{ p }}</option> + {% endfor %} + </select> + <select name="p2"> + <option value=" "> </option> + {% for p in players %} + <option value="{{ p.id }}">{{ p }}</option> + {% endfor %} + </select> + <select name="p3"> + <option value=" "> </option> + {% for p in players %} + <option value="{{ p.id }}">{{ p }}</option> + {% endfor %} + </select> + <select name="p4"> + <option value=" "> </option> + {% for p in players %} + <option value="{{ p.id }}">{{ p }}</option> + {% endfor %} + </select> + <input type="text" name="s1" width="5"/> + <input type="text" name="s2" width="5"/> + <input type="submit"> + </form> + </div> <div id="footer" class="span-24 last"> {% block footer %} - <p>- סוף -</p> {% endblock %} </div> </div> Binary files differ@@ -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<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), |
