summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2011-01-20 16:05:53 +0200
committerYuval Adam <yuv.adm@gmail.com>2011-01-20 16:05:53 +0200
commitfb6edb764a84bbfb9c169468d0422987b43de1e3 (patch)
tree716dfa28ef5925a51ec112a2e6b5efdf06804af8
parent5a0d324b9ecf9ec88a772bf7fc92e5b14c0c60de (diff)
good stuff almost there
-rw-r--r--main/admin.py5
-rw-r--r--main/models.py21
-rw-r--r--main/views.py36
-rw-r--r--media/css/base.css0
-rw-r--r--templates/main.html51
-rw-r--r--test.dbbin69632 -> 83968 bytes
-rw-r--r--urls.py7
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>
diff --git a/test.db b/test.db
index 97c1f19..ee2590b 100644
--- a/test.db
+++ b/test.db
Binary files 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<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),