diff --git a/web/templates/tupa/maaritaKisa.html b/web/templates/tupa/maaritaKisa.html index 00b672ac..a1d130eb 100644 --- a/web/templates/tupa/maaritaKisa.html +++ b/web/templates/tupa/maaritaKisa.html @@ -12,9 +12,7 @@

Sarjat:


{{ s.errors}} {{ s }}
{% endfor %} - - - + {% include "tupa/tallenna.html" %} {% endblock %} diff --git a/web/templates/tupa/maaritaVartiot.html b/web/templates/tupa/maaritaVartiot.html index 6df9a9db..29508719 100644 --- a/web/templates/tupa/maaritaVartiot.html +++ b/web/templates/tupa/maaritaVartiot.html @@ -9,11 +9,9 @@

Valitse sarja ja syötä vartiot

@@ -30,10 +28,8 @@

Valitse sarja ja syötä vartiot

{% endfor %} - -
- - + + {% include "tupa/tallenna.html" %} {% else %}

Ei määriteltyjä sarjoja.

diff --git a/web/templates/tupa/maarita_tehtava.html b/web/templates/tupa/maarita_tehtava.html index 421b2350..8f145fba 100755 --- a/web/templates/tupa/maarita_tehtava.html +++ b/web/templates/tupa/maarita_tehtava.html @@ -14,13 +14,19 @@

Uuden Tehtävän määritys

{{ tehtavaForm }} +

Osapisteiden Kaavat:


+ {{ kaavaFormit.management_form }} + {% for kaava in kaavaFormit.forms %} + {{ kaava }}
+ {% endfor %} +

Vartiokohtaiset syötteet:


{{ maariteFormit.management_form }} {% for maarite in maariteFormit.forms %} {{ maarite }}
{% endfor %} - - + + {% include "tupa/tallenna.html" %} {% endblock %} diff --git a/web/templates/tupa/syota_tehtava.html b/web/templates/tupa/syota_tehtava.html index 429201a1..df2bf3d1 100755 --- a/web/templates/tupa/syota_tehtava.html +++ b/web/templates/tupa/syota_tehtava.html @@ -66,7 +66,7 @@

Tehtävä: {{tehtava.nimi}}

- + {% include "tupa/tallenna.html" %} {% endblock %} diff --git a/web/tupa.db b/web/tupa.db index 2ed712f4..6c9e50ef 100755 Binary files a/web/tupa.db and b/web/tupa.db differ diff --git a/web/tupa/formit.py b/web/tupa/formit.py index 28e2f1e9..413dd5f9 100644 --- a/web/tupa/formit.py +++ b/web/tupa/formit.py @@ -10,12 +10,34 @@ class TehtavaForm(ModelForm): class Meta: model = Tehtava - exclude = ('sarja',) + fields = ('nimi', 'jarjestysnro','kaava') + class PisteSyoteForm(ModelForm): class Meta: model = Syote +def luoKaavaFormit(tehtavalle=None,post=None,tyhjia=0): + KaavaFormSet = modelformset_factory( OsapisteKaava,extra=tyhjia,can_delete=True,exclude=('tehtava',)) + return KaavaFormSet(post,queryset=OsapisteKaava.objects.filter(tehtava=tehtavalle) ) + +def luoMaariteFormit(tehtavalle=None,post=None,tyhjia=0): + MaariteFormSet = modelformset_factory( SyoteMaarite,extra=tyhjia,can_delete=True,exclude=('tehtava',)) + return MaariteFormSet(post,queryset=SyoteMaarite.objects.filter(tehtava=tehtavalle) ) + +def luoVartioFormit(sarjalle,post=None,tyhjia=0): + VartioFormSet = modelformset_factory( Vartio,fields=('nro', 'nimi'),extra=tyhjia,can_delete=True) + return VartioFormSet(post,queryset=Vartio.objects.filter(sarja=sarjalle),prefix=sarjalle.nimi ) + +class KisaForm(ModelForm): + class Meta: + model = Kisa + +def luoSarjaFormit(kisalle,post=None,tyhjia=0): + SarjaFormSet = modelformset_factory( Sarja,exclude=('kisa',),extra=tyhjia,can_delete=True ) + formit=SarjaFormSet(post, queryset=Sarja.objects.filter(kisa=kisalle) ) + return formit + class AikaSyoteForm(forms.Form) : h = forms.IntegerField(required=False,widget=forms.TextInput(attrs={'size':'1'})) min = forms.IntegerField(required=False,widget=forms.TextInput(attrs={'size':'1'})) @@ -73,20 +95,3 @@ def save(self) : self.syote.delete() self.syote = None -def luoMaariteFormit(tehtavalle=None,post=None,tyhjia=0): - MaariteFormSet = modelformset_factory( SyoteMaarite,extra=tyhjia,can_delete=True,exclude=('tehtava',)) - return MaariteFormSet(post,queryset=SyoteMaarite.objects.filter(tehtava=tehtavalle) ) - -def luoVartioFormit(sarjalle,post=None,tyhjia=0): - VartioFormSet = modelformset_factory( Vartio,fields=('nro', 'nimi'),extra=tyhjia,can_delete=True) - return VartioFormSet(post,queryset=Vartio.objects.filter(sarja=sarjalle),prefix=sarjalle.nimi ) - -class KisaForm(ModelForm): - class Meta: - model = Kisa - -def luoSarjaFormit(kisalle,post=None,tyhjia=0): - SarjaFormSet = modelformset_factory( Sarja,exclude=('kisa',),extra=tyhjia,can_delete=True ) - formit=SarjaFormSet(post, queryset=Sarja.objects.filter(kisa=kisalle) ) - return formit - diff --git a/web/tupa/models.py b/web/tupa/models.py index f1b95955..aa60d8a0 100644 --- a/web/tupa/models.py +++ b/web/tupa/models.py @@ -113,7 +113,7 @@ class Tehtava(models.Model) : tehtavaryhma = models.CharField(max_length=255, blank=True ) tehtavaluokka = models.CharField(max_length=255, blank=True ) rastikasky = models.TextField(blank=True ) - jarjestysnro = models.IntegerField(blank=True, null=True ) + jarjestysnro = models.IntegerField() kaava = models.CharField(max_length=255) sarja = models.ForeignKey(Sarja) @@ -193,10 +193,15 @@ class Meta: verbose_name_plural = "Radat" class SyoteMaarite(models.Model) : + TYYPPI_VAIHTOEHDOT = ( + ('aika', 'aika'), + ('piste', 'piste'), + ) + #gen_dia_class SyoteMaarite nimi = models.CharField(max_length=255) - tyyppi = models.CharField(max_length=255) + tyyppi = models.CharField(max_length=255, choices=TYYPPI_VAIHTOEHDOT ) kali_vihje = models.CharField(max_length=255, blank=True , null=True ) tehtava = models.ForeignKey(Tehtava) @@ -240,4 +245,19 @@ class Meta: verbose_name_plural = "Tuomarineuvoston tulokset" +class OsapisteKaava(models.Model) : + #gen_dia_class OsapisteKaava + + kaava = models.CharField(max_length=255) + tehtava = models.ForeignKey(Tehtava) + + #end_dia_class + def __str__(self) : + return self.kaava + class Admin: + pass + class Meta: + verbose_name_plural = "Osapisteiden kaavat" + + diff --git a/web/tupa/tietokanta.dia b/web/tupa/tietokanta.dia index 9ad47b6b..293e38de 100644 Binary files a/web/tupa/tietokanta.dia and b/web/tupa/tietokanta.dia differ diff --git a/web/tupa/views.py b/web/tupa/views.py index e40bb32b..fabed2bf 100644 --- a/web/tupa/views.py +++ b/web/tupa/views.py @@ -92,7 +92,7 @@ def maaritaVartiot(request,kisa_nimi): return HttpResponseRedirect(reverse('web.tupa.views.maaritaVartiot', args=(kisa_nimi,))) else: return render_to_response('tupa/maaritaVartiot.html', { 'sarja_vartiot' : sarjaVartiot }) - +""" def maaritaUusiTehtava(request, kisa_nimi, sarja_id) : kisa = get_object_or_404(Kisa, nimi=kisa_nimi) sarja = get_object_or_404(Sarja, id=sarja_id) @@ -120,17 +120,29 @@ def maaritaUusiTehtava(request, kisa_nimi, sarja_id) : 'tehtavaForm' : tehtavaForm , 'maariteFormit' : maariteFormit }) +""" + -def maaritaTehtava(request, kisa_nimi, tehtava_id): - tehtava = get_object_or_404(Tehtava, id=tehtava_id) - sarja= tehtava.sarja +def maaritaTehtava(request, kisa_nimi, tehtava_id=None, sarja_id=None): + tehtava = None + sarja = None + if tehtava_id: + tehtava=get_object_or_404(Tehtava, id=tehtava_id) + sarja= tehtava.sarja + else : + sarja=get_object_or_404(Sarja, id=sarja_id) - maaritteet = SyoteMaarite.objects.filter( tehtava=tehtava ) - maariteFormit = [] posti=None if request.method == 'POST': posti=request.POST + # Tehtävä tehtavaForm = TehtavaForm( posti,instance=tehtava ) + if tehtavaForm.is_valid() : + tehtava=tehtavaForm.save(commit=False) + tehtava.sarja=sarja + tehtava.save() + + # Määritteet maariteFormit=luoMaariteFormit(tehtava,posti,tyhjia=3) if maariteFormit.is_valid() : instances = maariteFormit.save(commit=False) @@ -139,17 +151,20 @@ def maaritaTehtava(request, kisa_nimi, tehtava_id): instance.save() maariteFormit=luoMaariteFormit(tehtava,tyhjia=3) - if tehtavaForm.is_valid() : - tehtava=tehtavaForm.save(commit=False) - tehtava.sarja=sarja - tehtava.save() - - if not tehtava: - return HttpResponseRedirect(reverse('web.tupa.views.maaritaValitseTehtava', args=(kisa_nimi, ))) - elif posti and tehtavaForm.is_valid() and maariteFormit.is_valid() : - return HttpResponseRedirect(reverse('web.tupa.views.maaritaTehtava', args=(kisa_nimi,tehtava_id, ))) + # Osapisteiden kaavat: + """kaavaFormit = luoKaavaFormit(tehtava,posti,tyhjia=3) + if kaavaFormit.is_valid() : + kaavat = kaavaFormit.save(commit=False) + for kaava in kaavat: + kaava.tehtava=tehtava + kaava.save() + """ + kaavaFormit=None + + if posti and tehtavaForm.is_valid() : + return HttpResponseRedirect("/tupa/"+kisa_nimi+"/maarita/tehtava/"+str(tehtava.id)+'/' ) else: - return render_to_response('tupa/maarita_tehtava.html', { 'tehtava' : tehtava ,'tehtavaForm' : tehtavaForm , 'maariteFormit' : maariteFormit }) + return render_to_response('tupa/maarita_tehtava.html', { 'tehtava' : tehtava ,'tehtavaForm' : tehtavaForm , 'maariteFormit' : maariteFormit , 'kaavaFormit' : kaavaFormit }) def syotaKisa(request, kisa_nimi): sarjat = Sarja.objects.filter(kisa__nimi=kisa_nimi) @@ -208,43 +223,3 @@ def sarja(request,sarja_id) : def piirit(request,kisa_nimi) : return HttpResponse(kisa_nimi + " PIIRIN TULOSTUS" ) -#tulosten syotto -def syotto(request,sarja_id): - request.POST["pisteet"] - return render_to_response('tupa/syotto.html', {}) - -#tulosten syotto rumalla tavalla -def lisaa_syote(request): - - SyoteForm = forms.models.form_for_model(Kisa) - t = django.template.loader.get_template('tupa/syota666.html') - c = None - if request.method == 'POST': - - form = SyoteForm(request.POST) - - if form.is_valid(): - - entry = form.save(commit=False) - entry.owner = request.user - entry.save() - - form = SyoteForm() - - - c = Context({ - 'form': form, - }) - c.push() - return HttpResponse(t.render(c)) - - else: - - form = SyoteForm() - - c = Context({ - 'form': form, - }) - - return HttpResponse(t.render(c)) - diff --git a/web/tupa/views.pyc b/web/tupa/views.pyc index c06d3fdc..455602de 100644 Binary files a/web/tupa/views.pyc and b/web/tupa/views.pyc differ diff --git a/web/urls.py b/web/urls.py index b9a05bc6..ecce0315 100644 --- a/web/urls.py +++ b/web/urls.py @@ -6,11 +6,10 @@ urlpatterns = patterns('web.tupa.views.', (r'^tupa/$', 'index'), (r'^tupa/admin/(.*)', admin.site.root ), - (r'^tupa/lisaasyote/$', 'lisaa_syote'), (r'^tupa/(?P\w+)/$', 'kisa'), (r'^tupa/(?P\w+)/maarita/$', 'maaritaKisa'), (r'^tupa/(?P\w+)/maarita/tehtava/$', 'maaritaValitseTehtava'), - (r'^tupa/(?P\w+)/maarita/tehtava/uusi/sarja/(?P\d+)/$', 'maaritaUusiTehtava'), + (r'^tupa/(?P\w+)/maarita/tehtava/uusi/sarja/(?P\d+)/$', 'maaritaTehtava'), (r'^tupa/(?P\w+)/maarita/tehtava/(?P\d+)/$', 'maaritaTehtava'), (r'^tupa/(?P\w+)/maarita/vartiot/', 'maaritaVartiot'), (r'^tupa/(?P\w+)/syota/$', 'syotaKisa'),