adapt templates to the current edition of WTEM
authorJan Szejko <j-sz@o2.pl>
Wed, 24 Feb 2016 14:42:40 +0000 (15:42 +0100)
committerJan Szejko <j-sz@o2.pl>
Wed, 24 Feb 2016 14:43:06 +0000 (15:43 +0100)
also some code style changes

43 files changed:
edumed/templates/base_super.html
edumed/templates/contact/tem/mail_body.txt
edumed/templates/contact/wtem/mail_body.txt
edumed/templates/contact/wtem/student_mail_body.html
edumed/templates/contact/wtem/thanks.html
edumed/urls.py
wtem/forms.py
wtem/management/commands/wtem_generate_keys.py
wtem/management/commands/wtem_send_keys.py
wtem/models.py
wtem/templates/wtem-wtem/admin_report.csv [deleted file]
wtem/templates/wtem-wtem/disabled_contact_form.html [deleted file]
wtem/templates/wtem-wtem/email_key.txt [deleted file]
wtem/templates/wtem-wtem/email_key.txt.wtem [deleted file]
wtem/templates/wtem-wtem/email_teacher_before.txt [deleted file]
wtem/templates/wtem-wtem/email_teacher_before_subject.txt [deleted file]
wtem/templates/wtem-wtem/exercises/edumed_prawdafalsz.html [deleted file]
wtem/templates/wtem-wtem/exercises/edumed_przyporzadkuj.html [deleted file]
wtem/templates/wtem-wtem/exercises/edumed_uporzadkuj.html [deleted file]
wtem/templates/wtem-wtem/exercises/edumed_wybor.html [deleted file]
wtem/templates/wtem-wtem/exercises/file_upload.html [deleted file]
wtem/templates/wtem-wtem/exercises/open.html [deleted file]
wtem/templates/wtem-wtem/key_not_found.html [deleted file]
wtem/templates/wtem-wtem/key_not_found_before.html [deleted file]
wtem/templates/wtem-wtem/main.html [deleted file]
wtem/templates/wtem-wtem/main_after.html [deleted file]
wtem/templates/wtem-wtem/main_before.html [deleted file]
wtem/templates/wtem-wtem/results_student_failed.txt [deleted file]
wtem/templates/wtem-wtem/results_student_passed.txt [deleted file]
wtem/templates/wtem-wtem/results_teacher.txt [deleted file]
wtem/templates/wtem-wtem/thanks.html [deleted file]
wtem/templates/wtem/disabled_contact_form.html
wtem/templates/wtem/email_key.txt
wtem/templates/wtem/email_teacher_before.txt
wtem/templates/wtem/key_not_found.html
wtem/templates/wtem/key_not_found_before.html
wtem/templates/wtem/main.html
wtem/templates/wtem/main_after.html
wtem/templates/wtem/main_before.html
wtem/templates/wtem/thanks.html
wtem/templates/wtem/title.html [new file with mode: 0644]
wtem/urls.py
wtem/views.py

index 430422c..3a7e794 100644 (file)
@@ -67,7 +67,7 @@
             {# chunks? #}
             <div class="footer-item">
                 <p>
             {# chunks? #}
             <div class="footer-item">
                 <p>
-                Fundacja Nowoczesna Polska<br/>
+                fundacja Nowoczesna Polska<br/>
                 <br/>
                 ul. Marszałkowska 84/92 lok. 125<br/>
                 00-514 Warszawa<br/>
                 <br/>
                 ul. Marszałkowska 84/92 lok. 125<br/>
                 00-514 Warszawa<br/>
index 729f4a8..bb22ccb 100755 (executable)
@@ -5,4 +5,4 @@ O wynikach rekrutacji poinformujemy uczestników do 30 kwietnia.
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
+fundacja Nowoczesna Polska
index ab99f55..331ebfb 100755 (executable)
@@ -9,11 +9,11 @@ ze zgłoszonych uczniów. W ten sposób zweryfikujemy, czy podane adresy
 są prawidłowe. 
 
 Wszystkie ogłoszenia związane z Turniejem będą publikowane na stronie
 są prawidłowe. 
 
 Wszystkie ogłoszenia związane z Turniejem będą publikowane na stronie
-http://edukacjamedialna.edu.pl/WTEM. W razie pytań lub wątpliwości
+{% url "info" "turniej/" %}. W razie pytań lub wątpliwości
 możesz kontaktować się z nami, pisząc na adres
 edukacjamedialna@nowoczesnapolska.org.pl.
 
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
 możesz kontaktować się z nami, pisząc na adres
 edukacjamedialna@nowoczesnapolska.org.pl.
 
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
+fundacja Nowoczesna Polska
index 84bfedb..60b2c6c 100644 (file)
@@ -7,11 +7,11 @@ macie czas do 20 grudnia 2015 r.
 
 Informacje związane z projektem do realizacji na pierwszym etapie
 oraz wszystkie ogłoszenia związane z Turniejem będą publikowane
 
 Informacje związane z projektem do realizacji na pierwszym etapie
 oraz wszystkie ogłoszenia związane z Turniejem będą publikowane
-na stronie http://edukacjamedialna.edu.pl/WTEM. W razie pytań lub
+na stronie {% url "info" "turniej/" %}. W razie pytań lub
 wątpliwości możesz kontaktować się z nami, pisząc na adres
 edukacjamedialna@nowoczesnapolska.org.pl.
 
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
 wątpliwości możesz kontaktować się z nami, pisząc na adres
 edukacjamedialna@nowoczesnapolska.org.pl.
 
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
+fundacja Nowoczesna Polska
index 5db332f..0185bcc 100755 (executable)
@@ -11,5 +11,5 @@ Prosimy upewnić się, czy potwierdzenie dotarło do każdego ze zgłoszonych uc
 W ten sposób zweryfikujemy, czy podane adresy są prawidłowe. </p>
 
 <p>Zespół Edukacji Medialnej<br>
 W ten sposób zweryfikujemy, czy podane adresy są prawidłowe. </p>
 
 <p>Zespół Edukacji Medialnej<br>
-Fundacja Nowoczesna Polska</p>
+fundacja Nowoczesna Polska</p>
 {% endblock %}
 {% endblock %}
index c77c112..e7cd5f0 100644 (file)
@@ -1,9 +1,9 @@
+# -*- coding: utf-8 -*-
 from django.conf.urls import patterns, include, url
 from django.conf import settings
 from .views import HomeView, AvatarlessProfileEditView
 
 
 from django.conf.urls import patterns, include, url
 from django.conf import settings
 from .views import HomeView, AvatarlessProfileEditView
 
 
-
 urlpatterns = patterns('',
     url(r'^$', HomeView.as_view(), name="home"),
     url(r'^lekcje/', include('catalogue.urls')),
 urlpatterns = patterns('',
     url(r'^$', HomeView.as_view(), name="home"),
     url(r'^lekcje/', include('catalogue.urls')),
@@ -15,8 +15,7 @@ urlpatterns = patterns('',
     url(r'^forum/', include('forum.urls')),
     url(r'^forum/', include('pybb.urls', namespace='pybb')),
     url(r'^kompetencje/', include('curriculum.urls')),
     url(r'^forum/', include('forum.urls')),
     url(r'^forum/', include('pybb.urls', namespace='pybb')),
     url(r'^kompetencje/', include('curriculum.urls')),
-    #url(r'^wtem/', include('wtem.urls')),
-    url(r'^tem/', include('wtem.urls')),
+    url(r'^wtem/', include('wtem.urls')),
 )
 
 
 )
 
 
index 8cdfe79..504fd26 100644 (file)
@@ -19,8 +19,8 @@ class WTEMForm(forms.ModelForm):
                 continue
             self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False)
 
                 continue
             self.fields['attachment_for_' + str(exercise['id'])] = forms.FileField(required = False)
 
-    def save(self):
-        submission = super(WTEMForm, self).save()
+    def save(self, commit=True):
+        submission = super(WTEMForm, self).save(commit=commit)
         for name, file in self.files.items():
             m = re.match(r'attachment_for_(\d+)(?:__(.*))?', name)
             exercise_id = int(m.group(1))
         for name, file in self.files.items():
             m = re.match(r'attachment_for_(\d+)(?:__(.*))?', name)
             exercise_id = int(m.group(1))
index 19b9582..f49c8b7 100644 (file)
@@ -1,22 +1,23 @@
-from django.core.management.base import BaseCommand, CommandError
+# -*- coding: utf-8 -*-
+from django.core.management.base import BaseCommand
 
 from contact.models import Contact
 from wtem.models import Submission
 
 
 class Command(BaseCommand):
 
 from contact.models import Contact
 from wtem.models import Submission
 
 
 class Command(BaseCommand):
-    
+
     def handle(self, *ids, **options):
         new = 0
         skipped = 0
 
     def handle(self, *ids, **options):
         new = 0
         skipped = 0
 
-        query = Contact.objects.filter(form_tag = 'wtem').order_by('-created_at')
+        query = Contact.objects.filter(form_tag='wtem').order_by('-created_at')
         if ids:
             query = query.filter(pk__in=ids)
 
         for wtem_contact in query:
             for student in wtem_contact.body['student']:
         if ids:
             query = query.filter(pk__in=ids)
 
         for wtem_contact in query:
             for student in wtem_contact.body['student']:
-                if not Submission.objects.filter(email = student['email']).exists():
+                if not Submission.objects.filter(email=student['email']).exists():
                     args = dict()
                     for attr in ['first_name', 'last_name', 'email']:
                         args[attr] = student[attr]
                     args = dict()
                     for attr in ['first_name', 'last_name', 'email']:
                         args[attr] = student[attr]
index 914c8b1..213f992 100644 (file)
@@ -1,9 +1,8 @@
 # -*- coding: utf-8 -*-
 
 # -*- coding: utf-8 -*-
 
-import sys
 from optparse import make_option
 
 from optparse import make_option
 
-from django.core.management.base import BaseCommand, CommandError
+from django.core.management.base import BaseCommand
 from django.conf import settings
 from wtem.management.commands import send_mail
 from django.template.loader import render_to_string
 from django.conf import settings
 from wtem.management.commands import send_mail
 from django.template.loader import render_to_string
@@ -16,12 +15,14 @@ class Command(BaseCommand):
     args = '<email_address1>, <email_address2>, ...'
 
     option_list = BaseCommand.option_list + (
     args = '<email_address1>, <email_address2>, ...'
 
     option_list = BaseCommand.option_list + (
-        make_option('--all',
+        make_option(
+            '--all',
             action='store_true',
             dest='all',
             default=False,
             help='Use all available submissions'),
             action='store_true',
             dest='all',
             default=False,
             help='Use all available submissions'),
-        make_option('--force',
+        make_option(
+            '--force',
             action='store_true',
             dest='force',
             default=False,
             action='store_true',
             dest='force',
             default=False,
@@ -38,13 +39,13 @@ class Command(BaseCommand):
         skipped = 0
         failed = 0
 
         skipped = 0
         failed = 0
 
-        query = Submission.objects.all()
+        submissions = Submission.objects.all()
         if not options['force']:
         if not options['force']:
-            query = query.filter(key_sent = False)
+            submissions = submissions.filter(key_sent=False)
         if len(args):
         if len(args):
-            query = query.filter(email__in = args)
+            submissions = submissions.filter(email__in=args)
 
 
-        for submission in query.all():
+        for submission in submissions:
             assert len(submission.key) == 30 or (settings.DEBUG and submission.key == DEBUG_KEY)
 
             try:
             assert len(submission.key) == 30 or (settings.DEBUG and submission.key == DEBUG_KEY)
 
             try:
@@ -63,7 +64,6 @@ class Command(BaseCommand):
     def send_key(self, submission):
         self.stdout.write('>>> sending to ' + submission.email)
         send_mail(
     def send_key(self, submission):
         self.stdout.write('>>> sending to ' + submission.email)
         send_mail(
-            subject = "Egzamin TEM - Twój link do zadań",
-            body = render_to_string('wtem/email_key.txt', dict(submission = submission)),
-            to = [submission.email]
-            )
+            subject="WTEM - Twój link do zadań",
+            body=render_to_string('wtem/email_key.txt', dict(submission=submission)),
+            to=[submission.email])
index 0c7f78a..361bff3 100644 (file)
@@ -1,33 +1,35 @@
+# -*- coding: utf-8 -*-
 import random
 import string
 import os
 import random
 import string
 import os
+import json
 
 from django.db import models
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
 
 from django.db import models
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
-from django.utils import simplejson
 from django.utils.translation import ugettext as _
 from jsonfield import JSONField
 
 from contact.models import Contact
 
 f = file(os.path.dirname(__file__) + '/fixtures/exercises.json')
 from django.utils.translation import ugettext as _
 from jsonfield import JSONField
 
 from contact.models import Contact
 
 f = file(os.path.dirname(__file__) + '/fixtures/exercises.json')
-exercises = simplejson.loads(f.read())
+exercises = json.loads(f.read())
 f.close()
 
 DEBUG_KEY = '12345'
 
 f.close()
 
 DEBUG_KEY = '12345'
 
+
 class Submission(models.Model):
 class Submission(models.Model):
-    contact = models.ForeignKey(Contact, null = True)
-    key = models.CharField(max_length = 30, unique = True)
-    first_name = models.CharField(max_length = 100)
-    last_name = models.CharField(max_length = 100)
-    email = models.EmailField(max_length = 100, unique = True)
-    answers = models.CharField(max_length = 65536, null = True, blank = True)
-    key_sent = models.BooleanField(default = False)
+    contact = models.ForeignKey(Contact, null=True)
+    key = models.CharField(max_length=30, unique=True)
+    first_name = models.CharField(max_length=100)
+    last_name = models.CharField(max_length=100)
+    email = models.EmailField(max_length=100, unique=True)
+    answers = models.CharField(max_length=65536, null=True, blank=True)
+    key_sent = models.BooleanField(default=False)
     marks = JSONField(default={})
     marks = JSONField(default={})
-    examiners = models.ManyToManyField(User, null = True, blank = True)
-    end_time = models.CharField(max_length = 5, null = True, blank = True)
+    examiners = models.ManyToManyField(User, null=True, blank=True)
+    end_time = models.CharField(max_length=5, null=True, blank=True)
 
     def __unicode__(self):
         return ', '.join((self.last_name, self.first_name, self.email))
 
     def __unicode__(self):
         return ', '.join((self.last_name, self.first_name, self.email))
@@ -36,17 +38,18 @@ class Submission(models.Model):
     def generate_key(cls):
         key = ''
         while not key or key in [record['key'] for record in cls.objects.values('key')]:
     def generate_key(cls):
         key = ''
         while not key or key in [record['key'] for record in cls.objects.values('key')]:
-            key = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for i in range(30))
+            key = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits)
+                          for i in range(30))
         return key
 
     @classmethod
         return key
 
     @classmethod
-    def create(cls, first_name, last_name, email, key = None, contact = None):
+    def create(cls, first_name, last_name, email, key=None, contact=None):
         submission = cls(
         submission = cls(
-            contact = contact,
-            key = key if key else Submission.generate_key(),
-            first_name = first_name,
-            last_name = last_name,
-            email = email
+            contact=contact,
+            key=key if key else Submission.generate_key(),
+            first_name=first_name,
+            last_name=last_name,
+            email=email
         )
 
         submission.save()
         )
 
         submission.save()
@@ -70,7 +73,6 @@ class Submission(models.Model):
         if mark == 'None':
             del self.marks[user_id][exercise_id]
 
         if mark == 'None':
             del self.marks[user_id][exercise_id]
 
-
     def get_exercise_marks_by_examiner(self, exercise_id):
         marks = dict()
         for examiner_id, examiner_marks in self.marks.items():
     def get_exercise_marks_by_examiner(self, exercise_id):
         marks = dict()
         for examiner_id, examiner_marks in self.marks.items():
@@ -80,7 +82,7 @@ class Submission(models.Model):
         return marks
 
     def get_final_exercise_mark(self, exercise_id):
         return marks
 
     def get_final_exercise_mark(self, exercise_id):
-        #exercise = exercises[int(exercise_id)-1]
+        # exercise = exercises[int(exercise_id)-1]
         exercise = [e for e in exercises if str(e['id']) == str(exercise_id)][0]
         if exercise_checked_manually(exercise):
             marks_by_examiner = self.get_exercise_marks_by_examiner(exercise_id)
         exercise = [e for e in exercises if str(e['id']) == str(exercise_id)][0]
         if exercise_checked_manually(exercise):
             marks_by_examiner = self.get_exercise_marks_by_examiner(exercise_id)
@@ -91,7 +93,7 @@ class Submission(models.Model):
         else:
             if not self.answers:
                 return None
         else:
             if not self.answers:
                 return None
-            answer = simplejson.loads(self.answers)[exercise_id]['closed_part']
+            answer = json.loads(self.answers)[exercise_id]['closed_part']
             t = exercise['type']
             if t == 'edumed_uporzadkuj':
                 return exercise['points'] if map(int, answer) == exercise['answer'] else 0
             t = exercise['type']
             if t == 'edumed_uporzadkuj':
                 return exercise['points'] if map(int, answer) == exercise['answer'] else 0
@@ -118,8 +120,8 @@ class Submission(models.Model):
                     if exercise.get('answer_mode', None) == 'all_or_nothing':
                         toret = exercise['points'] if map(int, answer) == exercise['answer'] else 0
                     else:
                     if exercise.get('answer_mode', None) == 'all_or_nothing':
                         toret = exercise['points'] if map(int, answer) == exercise['answer'] else 0
                     else:
-                        for id in map(int, answer):
-                            if id in exercise['answer']:
+                        for answer_id in map(int, answer):
+                            if answer_id in exercise['answer']:
                                 toret += exercise['points_per_hit']
                     return toret
             if t == 'edumed_prawdafalsz':
                                 toret += exercise['points_per_hit']
                     return toret
             if t == 'edumed_prawdafalsz':
@@ -139,7 +141,7 @@ class Submission(models.Model):
     @property
     def final_result(self):
         final = 0
     @property
     def final_result(self):
         final = 0
-        #for exercise_id in map(str,range(1, len(exercises) + 1)):
+        # for exercise_id in map(str,range(1, len(exercises) + 1)):
         for exercise_id in [str(x['id']) for x in exercises]:
             mark = self.get_final_exercise_mark(exercise_id)
             if mark is not None:
         for exercise_id in [str(x['id']) for x in exercises]:
             mark = self.get_final_exercise_mark(exercise_id)
             if mark is not None:
@@ -150,26 +152,27 @@ class Submission(models.Model):
     def final_result_as_string(self):
         return ('%.2f' % self.final_result).rstrip('0').rstrip('.')
 
     def final_result_as_string(self):
         return ('%.2f' % self.final_result).rstrip('0').rstrip('.')
 
+
 class Attachment(models.Model):
     submission = models.ForeignKey(Submission)
     exercise_id = models.IntegerField()
     tag = models.CharField(max_length=128, null=True, blank=True)
 class Attachment(models.Model):
     submission = models.ForeignKey(Submission)
     exercise_id = models.IntegerField()
     tag = models.CharField(max_length=128, null=True, blank=True)
-    file = models.FileField(upload_to = 'wtem/attachment')
+    file = models.FileField(upload_to='wtem/attachment')
 
 
 class Assignment(models.Model):
 
 
 class Assignment(models.Model):
-    user = models.ForeignKey(User, unique = True)
+    user = models.ForeignKey(User, unique=True)
     exercises = JSONField()
 
     def clean(self):
         if not isinstance(self.exercises, list):
             raise ValidationError(_('Assigned exercises must be declared in a list format'))
     exercises = JSONField()
 
     def clean(self):
         if not isinstance(self.exercises, list):
             raise ValidationError(_('Assigned exercises must be declared in a list format'))
-        #for exercise in self.exercises:
-        #    if not isinstance(exercise, int) or exercise < 1:
-        #        raise ValidationError(_('Invalid exercise id: %s' % exercise))
+        # for exercise in self.exercises:
+        #     if not isinstance(exercise, int) or exercise < 1:
+        #         raise ValidationError(_('Invalid exercise id: %s' % exercise))
 
     def __unicode__(self):
 
     def __unicode__(self):
-        return self.user.username + ': ' + ','.join(map(str,self.exercises))
+        return self.user.username + ': ' + ','.join(map(str, self.exercises))
 
 
 def exercise_checked_manually(exercise):
 
 
 def exercise_checked_manually(exercise):
diff --git a/wtem/templates/wtem-wtem/admin_report.csv b/wtem/templates/wtem-wtem/admin_report.csv
deleted file mode 100644 (file)
index c6ef91f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-{% load wtem_csv %}email,nazwisko,imie,suma{% for exercise_id in exercise_ids %}{% csv_header exercise_id submissionsSet %}{% endfor %}{% for submission in submissionsSet.submissions %}
-{{submission.email}},{{submission.last_name}},{{submission.first_name}},{{submission.final_result_as_string}}{% for exercise_id in exercise_ids %},{% csv_row_fragment exercise_id submission submissionsSet %}{% endfor %}{% endfor %}
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/disabled_contact_form.html b/wtem/templates/wtem-wtem/disabled_contact_form.html
deleted file mode 100644 (file)
index 4d5ab23..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{% extends "base.html" %}
-
-{% block title %}Wielki Turniej Edukacji Medialnej{% endblock %}
-
-{% block body %}
-
-    <h1>Wielki Turniej Edukacji Medialnej</h1>
-
-    {% block contact_form_description %}
-    <p class="notice">Rejestracja uczestników została zamknięta.</p>
-    {% endblock %}
-
-{% endblock %}
diff --git a/wtem/templates/wtem-wtem/email_key.txt b/wtem/templates/wtem-wtem/email_key.txt
deleted file mode 100644 (file)
index 2f0caba..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Droga Trenerko/Drogi Trenerze,
-
-Poniżej znajduje się wygenerowany specjalnie dla Ciebie link, pod którym będziesz mógł/mogła rozwiązać zadania egzaminacyjne TEM.
-Pamiętaj, że egzamin rozpocznie się dziś, 16 listopada o godz. 16.00. Na rozwiązanie zadań masz dokładnie tydzień.
-W razie dodatkowych pytań skontaktuj się z koordynatorką projektu, Dorotą Górecką dorotagorecka@nowoczesnapolska.org.pl.
-
-https://edukacjamedialna.edu.pl{% url 'wtem_form' key=submission.key %}
-
-Powodzenia!
-
-Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska 
-
diff --git a/wtem/templates/wtem-wtem/email_key.txt.wtem b/wtem/templates/wtem-wtem/email_key.txt.wtem
deleted file mode 100644 (file)
index 3b69c9d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Poniżej znajduje się wygenerowany specjalnie dla Ciebie link, pod którym będziesz mógł/mogła rozwiązać zadania pierwszego etapu Wielkiego Turnieju Edukacji Medialnej:
-
-http://edukacjamedialna.edu.pl{% url 'wtem_form' key=submission.key %}
-
-Pierwszy etap Turnieju odbędzie się we wtorek 18 listopada o godz. 16.30. Na rozwiązanie testu będziesz mieć ok. 90 min. Aby rozwiązać test, potrzebny Ci będzie komputer ze stabilnym łączem internetowym oraz zainstalowaną i zaktualizowaną przeglądarką.
-
-Każdy uczestnik otrzymał indywidualny link, pod którym może rozwiązywać zadania samodzielnie. Wszelkie działania mogące świadczyć o tym, że uczestnik nie rozwiązuje testu samodzielnie, np. wchodzenie na stronę z zadaniami przez więcej niż jedną osobę, będą przez nas śledzone i poskutkują dyskwalifikacją.
-
-W razie dodatkowych pytań możesz kontaktować się z nami pod adresem edukacjamedialna@nowoczesnapolska.org.pl lub numerem telefonu +48 22 621-30-17.
-
-Przypominamy, że główną nagrodą w Turnieju jest tygodniowy pobyt na Digital Media Summer Camp na Mercer University w Macon (Georgia, USA).
-
-Powodzenia!
-
-Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/email_teacher_before.txt b/wtem/templates/wtem-wtem/email_teacher_before.txt
deleted file mode 100644 (file)
index 967f9a9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Szanowni Państwo,
-
-Informujemy, że na podane przez Państwa adresy e-mail uczestników i uczestniczek Wielkiego Turnieju Edukacji Medialnej zostały wysłane indywidualne linki, które pozwolą im przystąpić do I etapu Turnieju.
-
-Uprzejmie prosimy o sprawdzenie, czy wszyscy otrzymali wiadomość z linkiem. Jeśli któryś z uczestników nie otrzymał swojej instrukcji, prosimy o informację na adres edukacjamedialna@nowoczesnapolska.org.pl najpóźniej do poniedziałku 17 listopada do godz. 12.00. Zgłoszenie problemu powinno zawierać:
-* imię, nazwisko, adres e-mail uczestnika, który nie otrzymał wiadomości z linkiem,
-* imię, nazwisko, adres e-mail Opiekuna/Opiekunki (zgodnie z danymi z formularza zgłoszeniowego).
-
-Pierwszy etap Turnieju odbędzie się we wtorek 18 listopada o godz. 16.30. Na rozwiązanie testu uczestnicy będą mieć ok. 90 min. Aby rozwiązać test, potrzebny jest komputer ze stabilnym łączem internetowym oraz zainstalowaną i zaktualizowaną przeglądarką.
-
-Przypominamy, że główną nagrodą w Turnieju jest tygodniowy pobyt na Digital Media Summer Camp na Mercer University w Macon (Georgia, USA).
-
-W razie dodatkowych pytań prosimy kontaktować się z nami pod adresem edukacjamedialna@nowoczesnapolska.org.pl lub pod numerem telefonu +48 22 621-30-17.
-
-Z pozdrowieniami
-
-Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/email_teacher_before_subject.txt b/wtem/templates/wtem-wtem/email_teacher_before_subject.txt
deleted file mode 100644 (file)
index 5649e56..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Pierwszy etap Wielkiego Turnieju Edukacji Medialnej już wkrótce
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/exercises/edumed_prawdafalsz.html b/wtem/templates/wtem-wtem/exercises/edumed_prawdafalsz.html
deleted file mode 100644 (file)
index 9ea5a5a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<div class="exercise exercise-wtem prawdafalsz" data-type="prawdafalsz" data-id="{{exercise.id}}">
-
-    <h3>Zadanie {{no}}</h3>
-
-    <div class="question" data-no="1">
-        <div class="description">
-        {% for para in exercise.description %}
-            <p class="paragraph">
-                {{para}}
-            </p>
-        {% endfor %}
-        </div>
-
-        <ul class="lista punkt ">
-            {% for statement in exercise.statements %}
-                <li class="question-piece">
-                    <span class="buttons">
-                        <a href="#" data-value="true" class="true">Prawda</a>
-                        <a href="#" data-value="false" class="false">Fałsz</a>  
-                    </span>
-                    {{statement.0}}
-                </li>
-            {% endfor %}
-        </ul>
-    </div>
-</div>
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/exercises/edumed_przyporzadkuj.html b/wtem/templates/wtem-wtem/exercises/edumed_przyporzadkuj.html
deleted file mode 100644 (file)
index 00140e3..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<div class="exercise exercise-wtem przyporzadkuj" data-type="przyporzadkuj" data-id="{{exercise.id}}">
-
-    <h3>Zadanie {{no}}</h3>
-    
-    <div class="question" data-no="1">
-
-        <div class="description">
-        {% for para in exercise.description %}
-            <p class="paragraph">
-                {{para}}
-            </p>
-
-        {% endfor %}
-        </div>
-
-        <p class="paragraph">{{exercise.buckets_name|default:"kategorie"|capfirst}}:</p>
-
-        <ul class="lista punkt predicate" data-name="kategorie">
-            {% for bucket in exercise.buckets %}
-                <li data-predicate="{{bucket.id}}">
-                    {{bucket.title}}
-                    <ul class="subjects">
-                        <li class="placeholder multiple ui-droppable accepting"></li>
-                    </ul>
-                </li>
-            {% endfor %}
-        </ul>
-        <br class="clr">
-
-        <div class="description" style="margin-bottom:10px;">
-            <p class="paragraph">{{exercise.items_name|capfirst}}:</p>
-            {% if not exercise.hide_default_instruction %}
-                <span class="instruction">Przeciągnij i upuść numery odpowiedzi w wybranym polu powyżej.</span>
-            {% endif %}
-            {% if exercise.items_instruction %}
-                <span class="instruction">{{exercise.items_instruction}}</span>
-            {% endif %}
-        </div>
-         
-        <ul class="lista punkt subject {% if exercise.items_inline %}wtem-items-inline{% endif %}" data-target="kategorie">
-            {% for item in exercise.items %}
-                {% comment %}
-                data-solution set to single bogus value only to indicate that this piece has no multiple solutions, not used otherwise (see: is_multiple in edumed.coffee). 
-                {% endcomment %}
-                
-                {% if item.img or item.desc %}
-                    <li style="magin-bottom:5px;">
-                        <span data-solution="1" data-no="{{forloop.counter}}" data-id="{{item.id}}" class="question-piece draggable ui-draggable">{{item.text}}</span>
-                        
-                        {% if item.img %}
-                            {% if item.href %}
-                                <a href="{% if not item.href_absolute %}/static/wtem/img/{% endif %}{{item.href}}" target="wtem_aside">
-                            {% endif %}
-                            
-                            <img src="/static/wtem/img/{{item.img}}"/>
-                            
-                            {% if item.href %}</a>{% endif %}
-                        {% endif %}
-                        {% if item.desc %}
-                            {{item.desc}}
-                        {% endif %}
-                    </li>
-                {% else %}
-                    <li data-solution="1" data-no="{{forloop.counter}}" data-id="{{item.id}}" class="question-piece draggable ui-draggable">{{item.text}}</li>
-                {% endif %}
-            
-            {% endfor %}
-        </ul>
-
-        <br class="clr">
-
-        {% if exercise.description_after %}
-            {% autoescape off %}
-            {% for para in exercise.description_after %}
-                <p class="paragraph">
-                    {{para}}
-                </p>
-            {% endfor %}
-            {% endautoescape %}
-        {% endif %}
-
-    </div>
-
-</div>
-
diff --git a/wtem/templates/wtem-wtem/exercises/edumed_uporzadkuj.html b/wtem/templates/wtem-wtem/exercises/edumed_uporzadkuj.html
deleted file mode 100644 (file)
index 0876895..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<div class="exercise exercise-wtem uporzadkuj" data-type="uporzadkuj" data-id="{{exercise.id}}">
-
-    <h3>Zadanie {{no}}</h3>
-
-    <div class="question" data-no="1">
-        <div class="description">
-        {% for para in exercise.description %}
-            <p class="paragraph">
-                {{para}}
-            </p>
-        {% endfor %}
-            <span class="instruction">Kliknij i przytrzymaj wybraną odpowiedź, następnie przeciągnij w nowe miejsce.</span>
-        </div>
-
-        <ol class="lista num ui-sortable">
-            {% for item in exercise.items %}
-                <li class="question-piece" data-pos="{{item.id}}">{{item.text}}</li>
-            {% endfor %}
-        </ol>
-
-    </div>
-</div>
-
diff --git a/wtem/templates/wtem-wtem/exercises/edumed_wybor.html b/wtem/templates/wtem-wtem/exercises/edumed_wybor.html
deleted file mode 100644 (file)
index 5238c2f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<div class="exercise exercise-wtem wybor" data-type="wybor" data-id="{{exercise.id}}">
-
-    <h3>Zadanie {{no}}</h3>
-
-    {% autoescape off %}
-    <div class="description">
-        {% for para in exercise.description %}
-            <p class="paragraph">
-                {{para}}
-            </p>
-        {% endfor %}
-        <span class="instruction">
-            {% if exercise.answer|length == 1 %}
-                Tylko jedna odpowiedź jest prawidłowa.
-            {% else %}
-                Zaznacz wszystkie prawidłowe odpowiedzi.
-            {% endif %}
-        </span>
-    </div>
-    {% endautoescape %}
-
-    <div class="question" data-no="1">
-        <ol class="lista num">
-            {% for option in exercise.options %}
-                <li class="question-piece" data-name="{{option.id}}">
-                    <input type="{% if exercise.answer|length == 1 %}radio{% else %}checkbox{% endif %}" name="{% if exercise.answer|length == 1 %}e{{no}}{% else %}e{{no}}_{{option.id}}{% endif %}" id="e{{no}}_{{option.id}}">
-                    <label for="e{{no}}_{{option.id}}">{{option.text}}</label>
-                </li>
-            {% endfor %}
-        </ol>
-    </div>
-
-    {% if exercise.open_part %}
-    <div class="open_part">
-        <div class="description">
-            {% for para in exercise.open_part %}
-                <p class="paragraph">
-                    {{para}}
-                </p>
-            {% endfor %}
-        </div>
-        <textarea style="width: 100%; margin-top:10px;" rows="{{exercise.open_part_rows|default:10}}"></textarea>
-    </div>
-    {% endif %}
-
-</div>
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/exercises/file_upload.html b/wtem/templates/wtem-wtem/exercises/file_upload.html
deleted file mode 100644 (file)
index eadcdfd..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<div class="exercise-wtem" data-type="file" data-id="{{exercise.id}}">
-
-    <h3>Zadanie {{no}}</h3>
-        
-    <div class="description">
-        {% for para in exercise.description %}
-            <p class="paragraph">
-                {{para}}
-            </p>
-        {% endfor %}
-    </div>
-
-    {% if exercise.max_file_size_string %}
-        <p style="font-weight: bold;">Plik nie powinien być większy niż {{exercise.max_file_size_string}}.</p>
-    {% endif %}
-    <div style="margin: 15px auto; width:300px;">
-        <input style="float: left;" type="file" name="attachment_for_{{exercise.id}}"/>
-        <div style="clear:both;"></div>
-    </div>
-    
-
-    {% autoescape off %}
-    {% for para in exercise.description_after %}
-        <p>{{para}}</p>
-    {% endfor %}
-    {% endautoescape %}
-
-</div>
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/exercises/open.html b/wtem/templates/wtem-wtem/exercises/open.html
deleted file mode 100644 (file)
index 8645d46..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<div class="exercise-wtem" data-type="open" data-id="{{exercise.id}}">
-
-    <h3>Zadanie {{no}}</h3>
-        
-    <div class="description">
-        {% autoescape off %}
-        {% for para in exercise.description %}
-            <p class="paragraph">
-                {{para}}
-            </p>
-        {% endfor %}
-        {% endautoescape %}
-    </div>
-
-    {% if exercise.fields %}
-        {% for field in exercise.fields %}
-            <div class="wtem-open-field">
-                <label class="wtem-caption">{{field.caption}} <span class="label_suffix"></span></label>
-                <textarea style="width: 100%;" rows="{{field.rows|default:10}}" data-field-id="{{field.id}}" {% if field.max_length %}maxlength="{{field.max_length}}"{% endif %} {% if field.input_id %}id="{{field.input_id}}"{% endif %}></textarea>
-            </div>
-        {% endfor %}
-    {% else %}
-        <textarea style="width: 100%; margin-top:10px;" rows="{{field.rows|default:10}}" {% if field.max_length %}maxlength="{{field.max_length}}"{% endif %} {% if field.input_id %}id="#{{field.input_id}}"{% endif %}></textarea>
-    {% endif %}
-
-    {% if exercise.description_after %}
-        <div class="description">
-            {% autoescape off %}
-            {% for para in exercise.description_after %}
-                <p class="paragraph">
-                    {{para}}
-                </p>
-            {% endfor %}
-            {% endautoescape %}
-        </div>
-    {% endif%}
-
-</div>
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/key_not_found.html b/wtem/templates/wtem-wtem/key_not_found.html
deleted file mode 100644 (file)
index 54b4adc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{% extends 'base_super.html' %}
-
-{% block body %}
-<h1>Wielki Turniej Edukacji Medialnej</h1>
-<h2>Niepoprawny link</h2>
-
-<p>Podany adres jest niepoprawny. Żeby móc rozwiązywać zadania, musisz przejść pod dokładnie ten sam adres, co podany w wysłanej do Ciebie wiadomości e-mail.</p>
-
-{% endblock %}
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/key_not_found_before.html b/wtem/templates/wtem-wtem/key_not_found_before.html
deleted file mode 100644 (file)
index d125ba1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{% extends 'base_super.html' %}
-
-{% block body %}
-<h1>Wielki Turniej Edukacji Medialnej</h1>
-<h2>Niepoprawny link</h2>
-
-<p>Podany adres jest niepoprawny. Żeby móc rozwiązywać zadania, musisz przejść pod dokładnie ten sam adres, co podany w wysłanej do Ciebie wiadomości e-mail. Jeśli masz z tym kłopot, skontaktuj się z nami pod adresem <a href="mailto:edukacjamedialna@nowoczesnapolska.org.pl">edukacjamedialna@nowoczesnapolska.org.pl</a>.</p>
-
-{% endblock %}
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/main.html b/wtem/templates/wtem-wtem/main.html
deleted file mode 100644 (file)
index e338ad4..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-{% extends 'base_super.html' %}
-{% load compressed %}
-{% load static %}
-{% load cache %}
-
-{% block extra_script %}
-    {% compressed_js 'wtem' %}
-{% endblock %}
-
-
-
-{% block body %}
-<style>
-    .wtem-open-field {
-        margin: 10px 0;
-    }
-    .wtem-open-field textarea {
-        margin-top:0;
-    }
-    .wtem-fixed-info {
-        top: 20px;
-        left: 20px;
-        border: 1px solid black;
-        background: #16a487;
-        border-radius: 0.938em;
-        padding: 5px 2px;
-        color: white;
-        text-align: center;
-        font-weight: bold;
-    }
-    .wtem-items-inline li {
-        display: inline-block;
-    }
-    .instruction {
-        font-weight: bold;
-    }
-    .wtem-disclaimer {
-        font-style: italic;
-        font-size: .9em;
-    }
-
-</style>
-
-<h1>Wielki Turniej Edukacji Medialnej</h1>
-<div class="wtem-fixed-info">Rozwiązania można wysyłać do godziny {{end_time|default:"18.00"}}. <strong>Nie czekaj na ostatnią chwilę!</strong></div>
-
-<p>Witamy w I etapie Wielkiego Turnieju Edukacji Medialnej. Na rozwiązanie zadań masz czas do godz. {{end_time|default:"18.00"}}. Test składa się z 21 pytań. Niektóre z nich mają charakter otwarty - pamiętaj, żeby zostawić sobie odpowiednią ilość czasu na ich rozwiązanie.</p>
-
-<p>Wszelkie aktualności dotyczące Turnieju możesz znaleźć na <a href="http://edukacjamedialna.edu.pl/wtem" target="_info">edukacjamedialna.edu.pl/wtem</a>.</p>
-
-<p>Powodzenia!<br/>
-Zespół Edukacji Medialnej, Fundacja Nowoczesna Polska</p>
-
-<form method="post" enctype="multipart/form-data">
-
-{% cache 30 wtem %}
-{% for exercise in exercises %}
-    {% with 'wtem/exercises/'|add:exercise.type|add:'.html' as template_name %}
-    {% include  template_name with exercise=exercise no=forloop.counter %}
-    {% endwith %}
-{% endfor %}
-{% endcache %}
-
-
-<hr/>
-<input type="hidden" name="answers" value=""/>
-
-<p style="text-align:center; margin-top:20px;">Sprawdź jeszcze raz wszystkie swoje odpowiedzi, a następnie wyślij je do nas, klikając w poniższy przycisk:<br/><br/>
-<input type="submit" value="Wyślij moje odpowiedzi" style="display: block; margin: auto;"/>
-<br/>
-<span class="wtem_spinner">
-    <span>Wysyłanie rozwiązań w toku...</span>
-    <img src="{% static 'wtem/spinner.gif' %}"/>
-    <span>Spróbuj jeszcze raz jeśli wysyłanie trwa dłużej niż kilka minut.</span>
-</span>
-</p>
-
-<div class="wtem-fixed-info" style="margin-top:15px;">Rozwiązania można wysyłać do godziny {{end_time|default:"18.00"}}. <strong>Nie czekaj na ostatnią chwilę!</strong></div>
-
-</form>
-
-{% endblock %}
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/main_after.html b/wtem/templates/wtem-wtem/main_after.html
deleted file mode 100644 (file)
index dbb7ad8..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{% extends 'base_super.html' %}
-
-{% block body %}
-
-<h1>Wielki Turniej Edukacji Medialnej</h1>
-
-<p>Pierszy etap Turnieju został zakończony.</p>
-
-{% endblock %}
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/main_before.html b/wtem/templates/wtem-wtem/main_before.html
deleted file mode 100644 (file)
index b4e98f4..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{% extends 'base_super.html' %}
-
-{% block body %}
-
-<h1>Wielki Turniej Edukacji Medialnej</h1>
-
-<p>Pierwszy etap: 18 listopada, 16:30. Czas trwania: ok. 90 minut.</p>
-
-{% endblock %}
\ No newline at end of file
diff --git a/wtem/templates/wtem-wtem/results_student_failed.txt b/wtem/templates/wtem-wtem/results_student_failed.txt
deleted file mode 100644 (file)
index 84569a1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-{% load l10n %}Droga Uczestniczko,
-Drogi Uczestniku,
-
-Twój wynik w I etapie Wielkiego Turnieju Edukacji Medialnej to {% localize on %}{{final_result|floatformat}}{% endlocalize %} pkt.
-
-Do zakwalifikowania się do II etapu konieczne było uzyskanie min. 36 pkt.
-
-Dziękujemy za udział w zawodach!
-
-Z pozdrowieniami,
-
-Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
diff --git a/wtem/templates/wtem-wtem/results_student_passed.txt b/wtem/templates/wtem-wtem/results_student_passed.txt
deleted file mode 100644 (file)
index 06f0170..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{% load l10n %}Droga Uczestniczko,
-Drogi Uczestniku,
-
-Twój wynik w I etapie Wielkiego Turnieju Edukacji Medialnej to {% localize on %}{{final_result|floatformat}}{% endlocalize %} pkt.
-
-Gratulujemy! Zakwalifikowałeś/aś się do II etapu.
-Kolejnym zadaniem, które Cię czeka jest realizacja projektu. Więcej szczegółów opublikujemy na stronie http://edukacjamedialna.edu.pl/wtem w styczniu 2015 r. Zostaniesz o tym poinformowany drogą mailową.
-
-Dziękujemy za udział w zawodach!
-
-Z pozdrowieniami,
-
-Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
diff --git a/wtem/templates/wtem-wtem/results_teacher.txt b/wtem/templates/wtem-wtem/results_teacher.txt
deleted file mode 100644 (file)
index c08afb0..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Szanowna Pani,
-Szanowny Panie,
-
-Wyniki uzyskane przez zgłoszonych przez Panią/Pana uczestników Turnieju to:
-
-{% for submission in submissions %}{{submission.first_name.strip}} {{submission.last_name.strip}}: {{submission.final_result|floatformat}}
-{% endfor %}
-
-Pozostali uczestnicy i uczestniczki zgłoszeni przez Panią/Pana nie przystąpili do rozwiązania testu. Do zakwalifikowania się do II etapu konieczne było uzyskanie min. 36 pkt. Pełna lista uczestników II etapu dostępna jest na stronie http://edukacjamedialna.edu.pl/wtem.
-
-Dziękujemy za udział w zawodach!
-
-Z pozdrowieniami,
-
-Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
diff --git a/wtem/templates/wtem-wtem/thanks.html b/wtem/templates/wtem-wtem/thanks.html
deleted file mode 100644 (file)
index ad3812a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{% extends 'base_super.html' %}
-
-{% block body %}
-
-<h1>Twoje rozwiązania zostały wysłane</h1>
-
-<p>Dziękujemy za udział w I etapie Wielkiego Turnieju Edukacji Medialnej.
-Twoja praca została wysłana i poprawnie przyjęta przez system.</p>
-
-<p>Jeśli chcesz zmienić którąś z odpowiedzi, do godz. {{end_time|default:"18.00"}} możesz ponownie wysłać rozwiązanie zadań, korzystając z przypisanego Ci linku. W ocenie weźmiemy pod uwagę tylko ostatnie zgłoszenie. Pamiętaj, w zależności od zachowania Twojej przeglądarki, po powrocie do strony z zadaniami część zadań możesz być zmuszony/zmuszona rozwiązać ponownie.</p>
-
-<p>Do końca grudnia otrzymasz e-mail z wynikami I etapu. Informacja o uzyskanych przez Ciebie punktach zostanie również przesłana do osoby, która zgłosiła Twój udział w Turnieju.</p>
-
-<p>Aktualności związane z Turniejem możesz sprawdzać na stronie <a href="/wtem">http://edukacjamedialna.edu.pl/wtem</a>. W razie dodatkowych pytań możesz kontaktować się z nami pod adresem edukacjamedialna@nowoczesnapolska.org.pl lub numerem telefonu +48 22 621-30-17.</p>
-
-<p>Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska</p>
-
-{% endblock %}
\ No newline at end of file
index 4d5ab23..61ea56e 100644 (file)
@@ -1,10 +1,10 @@
 {% extends "base.html" %}
 
 {% extends "base.html" %}
 
-{% block title %}Wielki Turniej Edukacji Medialnej{% endblock %}
+{% block title %}{% include "wtem/title.html" %}{% endblock %}
 
 {% block body %}
 
 
 {% block body %}
 
-    <h1>Wielki Turniej Edukacji Medialnej</h1>
+    <h1>{% include "wtem/title.html" %}</h1>
 
     {% block contact_form_description %}
     <p class="notice">Rejestracja uczestników została zamknięta.</p>
 
     {% block contact_form_description %}
     <p class="notice">Rejestracja uczestników została zamknięta.</p>
index 2f0caba..21a09cf 100644 (file)
@@ -1,13 +1,16 @@
-Droga Trenerko/Drogi Trenerze,
-
-Poniżej znajduje się wygenerowany specjalnie dla Ciebie link, pod którym będziesz mógł/mogła rozwiązać zadania egzaminacyjne TEM.
-Pamiętaj, że egzamin rozpocznie się dziś, 16 listopada o godz. 16.00. Na rozwiązanie zadań masz dokładnie tydzień.
-W razie dodatkowych pytań skontaktuj się z koordynatorką projektu, Dorotą Górecką dorotagorecka@nowoczesnapolska.org.pl.
+Poniżej znajduje się wygenerowany specjalnie dla Ciebie link, pod którym będziesz mógł/mogła rozwiązać zadania drugiego etapu Wielkiego Turnieju Edukacji Medialnej:
 
 https://edukacjamedialna.edu.pl{% url 'wtem_form' key=submission.key %}
 
 
 https://edukacjamedialna.edu.pl{% url 'wtem_form' key=submission.key %}
 
+Drugi etap Turnieju odbędzie się w poniedziałek 29 lutego o godz. 17:00. Na rozwiązanie testu będziesz mieć ok. 90 min. Aby rozwiązać test, potrzebny Ci będzie komputer ze stabilnym łączem internetowym oraz zainstalowaną i zaktualizowaną przeglądarką.
+
+Każdy uczestnik otrzymał indywidualny link, pod którym może rozwiązywać zadania samodzielnie. Wszelkie działania mogące świadczyć o tym, że uczestnik nie rozwiązuje testu samodzielnie, np. wchodzenie na stronę z zadaniami przez więcej niż jedną osobę, będą przez nas śledzone i poskutkują dyskwalifikacją.
+
+W razie dodatkowych pytań możesz kontaktować się z nami pod adresem edukacjamedialna@nowoczesnapolska.org.pl lub numerem telefonu +48 22 465 15 35.
+
+Przypominamy, że główną nagrodą w Turnieju jest indeks Collegium Civitas na dowolny kierunek studiów licencjackich oraz zwolnienie z opłat czesnego przez rok.
+
 Powodzenia!
 
 Zespół Edukacji Medialnej
 Powodzenia!
 
 Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska 
-
+fundacja Nowoczesna Polska
\ No newline at end of file
index 967f9a9..bd50ba0 100644 (file)
@@ -15,4 +15,4 @@ W razie dodatkowych pytań prosimy kontaktować się z nami pod adresem edukacja
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
 Z pozdrowieniami
 
 Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska
\ No newline at end of file
+fundacja Nowoczesna Polska
\ No newline at end of file
index c1ffc0d..c8b54ed 100644 (file)
@@ -1,7 +1,7 @@
 {% extends 'base_super.html' %}
 
 {% block body %}
 {% extends 'base_super.html' %}
 
 {% block body %}
-<h1>Trenerzy Edukacji Medialnej - egzamin certyfikujący</h1>
+<h1>{% include "wtem/title.html" %}</h1>
 <h2>Niepoprawny link</h2>
 
 <p>Podany adres jest niepoprawny. Żeby móc rozwiązywać zadania, musisz przejść pod dokładnie ten sam adres, co podany w wysłanej do Ciebie wiadomości e-mail.</p>
 <h2>Niepoprawny link</h2>
 
 <p>Podany adres jest niepoprawny. Żeby móc rozwiązywać zadania, musisz przejść pod dokładnie ten sam adres, co podany w wysłanej do Ciebie wiadomości e-mail.</p>
index 6790546..4793309 100644 (file)
@@ -1,7 +1,7 @@
 {% extends 'base_super.html' %}
 
 {% block body %}
 {% extends 'base_super.html' %}
 
 {% block body %}
-<h1>Trenerzy Edukacji Medialnej - egzamin certyfikujący</h1>
+<h1>{% include "wtem/title.html" %}</h1>
 <h2>Niepoprawny link</h2>
 
 <p>Podany adres jest niepoprawny. Żeby móc rozwiązywać zadania, musisz przejść pod dokładnie ten sam adres, co podany w wysłanej do Ciebie wiadomości e-mail. Jeśli masz z tym kłopot, skontaktuj się z nami pod adresem <a href="mailto:edukacjamedialna@nowoczesnapolska.org.pl">edukacjamedialna@nowoczesnapolska.org.pl</a>.</p>
 <h2>Niepoprawny link</h2>
 
 <p>Podany adres jest niepoprawny. Żeby móc rozwiązywać zadania, musisz przejść pod dokładnie ten sam adres, co podany w wysłanej do Ciebie wiadomości e-mail. Jeśli masz z tym kłopot, skontaktuj się z nami pod adresem <a href="mailto:edukacjamedialna@nowoczesnapolska.org.pl">edukacjamedialna@nowoczesnapolska.org.pl</a>.</p>
index 22ad031..e557be4 100644 (file)
 
 </style>
 
 
 </style>
 
-<h1>Trenerzy Edukacji Medialnej - egzamin certyfikujący</h1>
-<div class="wtem-fixed-info">Rozwiązania można wysyłać do 30 listopada, do godziny 16:00. <strong>Nie czekaj na ostatnią chwilę!</strong></div>
+<h1>{% include "wtem/title.html" %}</h1>
+<div class="wtem-fixed-info">Rozwiązania można wysyłać do godziny {{end_time|default:"18:30"}}. <strong>Nie czekaj na ostatnią chwilę!</strong></div>
+
+<p>Witamy w II etapie Wielkiego Turnieju Edukacji Medialnej. Na rozwiązanie zadań masz czas do godz. {{end_time|default:"18:30"}}. Test składa się z 21 pytań. Niektóre z nich mają charakter otwarty – pamiętaj, żeby zostawić sobie odpowiednią ilość czasu na ich rozwiązanie.</p>
+
+<p>Wszelkie aktualności dotyczące Turnieju możesz znaleźć na <a href="{% url "info" "turniej/" %}" target="_info">edukacjamedialna.edu.pl/info/turniej/</a>.</p>
 
 <p>Powodzenia!<br/>
 
 <p>Powodzenia!<br/>
-Zespół Edukacji Medialnej, Fundacja Nowoczesna Polska</p>
+Zespół Edukacji Medialnej, fundacja Nowoczesna Polska</p>
 
 <form method="post" enctype="multipart/form-data">
 
 
 <form method="post" enctype="multipart/form-data">
 
@@ -67,11 +71,11 @@ Zespół Edukacji Medialnej, Fundacja Nowoczesna Polska</p>
 <span class="wtem_spinner">
     <span>Wysyłanie rozwiązań w toku...</span>
     <img src="{% static 'wtem/spinner.gif' %}"/>
 <span class="wtem_spinner">
     <span>Wysyłanie rozwiązań w toku...</span>
     <img src="{% static 'wtem/spinner.gif' %}"/>
-    <span>Spróbuj jeszcze raz jeśli wysyłanie trwa dłużej niż kilka minut.</span>
+    <span>Spróbuj jeszcze raz, jeśli wysyłanie trwa dłużej niż kilka minut.</span>
 </span>
 </p>
 
 </span>
 </p>
 
-<div class="wtem-fixed-info" style="margin-top:15px;">Rozwiązania można wysyłać do 30 listopada, do godziny 16:00. <strong>Nie czekaj na ostatnią chwilę!</strong></div>
+<div class="wtem-fixed-info" style="margin-top:15px;">Rozwiązania można wysyłać do godziny {{end_time|default:"18.00"}}. <strong>Nie czekaj na ostatnią chwilę!</strong></div>
 
 </form>
 
 
 </form>
 
index 6b33414..b32737d 100644 (file)
@@ -2,8 +2,8 @@
 
 {% block body %}
 
 
 {% block body %}
 
-<h1>Trenerzy Edukacji Medialnej - egzamin certyfikujący</h1>
+<h1>{% include "wtem/title.html" %}</h1>
 
 
-<p>Egzamin został zakończony.</p>
+<p>Drugi etap Turnieju został zakończony.</p>
 
 {% endblock %}
 
 {% endblock %}
index 8f709c1..e491c28 100644 (file)
@@ -2,8 +2,8 @@
 
 {% block body %}
 
 
 {% block body %}
 
-<h1>Trenerzy Edukacji Medialnej - egzamin certyfikujący</h1>
+<h1>{% include "wtem/title.html" %}</h1>
 
 
-<p>Start: 16 listopada, 16:00. Czas trwania: tydzień.</p>
+<p>Drugi etap: 29 lutego, 17:00. Czas trwania: ok. 90 minut.</p>
 
 {% endblock %}
 
 {% endblock %}
index 805fafb..ec2aa75 100644 (file)
@@ -4,12 +4,16 @@
 
 <h1>Twoje rozwiązania zostały wysłane</h1>
 
 
 <h1>Twoje rozwiązania zostały wysłane</h1>
 
-<p>Dziękujemy za udział w egzaminie certyfikującym Trenerów Edukacji Medialnej.
+<p>Dziękujemy za udział w II etapie Wielkiego Turnieju Edukacji Medialnej.
 Twoja praca została wysłana i poprawnie przyjęta przez system.</p>
 
 Twoja praca została wysłana i poprawnie przyjęta przez system.</p>
 
-<p>Jeśli chcesz zmienić którąś z odpowiedzi, do 23 listopada do godz. 16:00 możesz ponownie wysłać rozwiązanie zadań, korzystając z przypisanego Ci linku. W ocenie weźmiemy pod uwagę tylko ostatnie zgłoszenie. Pamiętaj, w zależności od zachowania Twojej przeglądarki, po powrocie do strony z zadaniami część zadań możesz być zmuszony/zmuszona rozwiązać ponownie.</p>
+<p>Jeśli chcesz zmienić którąś z odpowiedzi, do godz. {{end_time|default:"18:30"}} możesz ponownie wysłać rozwiązanie zadań, korzystając z przypisanego Ci linku. W ocenie weźmiemy pod uwagę tylko ostatnie zgłoszenie. Pamiętaj, w zależności od zachowania Twojej przeglądarki, po powrocie do strony z zadaniami część zadań możesz być zmuszony/zmuszona rozwiązać ponownie.</p>
+
+<p>Do 18 marca otrzymasz e-mail z wynikami II etapu. Informacja o uzyskanych przez Ciebie punktach zostanie również przesłana do osoby, która zgłosiła Twój udział w Turnieju.</p>
+
+<p>Aktualności związane z Turniejem możesz sprawdzać na stronie <a href="{% url "info" "turniej/" %}">{% url "info" "turniej/" %}</a>. W razie dodatkowych pytań możesz kontaktować się z nami pod adresem edukacjamedialna@nowoczesnapolska.org.pl lub numerem telefonu +48 22 465 15 35.</p>
 
 <p>Zespół Edukacji Medialnej
 
 <p>Zespół Edukacji Medialnej
-Fundacja Nowoczesna Polska</p>
+fundacja Nowoczesna Polska</p>
 
 
-{% endblock %}
+{% endblock %}
\ No newline at end of file
diff --git a/wtem/templates/wtem/title.html b/wtem/templates/wtem/title.html
new file mode 100644 (file)
index 0000000..4b89f75
--- /dev/null
@@ -0,0 +1 @@
+Wielki Turniej Edukacji Medialnej
\ No newline at end of file
index 7de39ed..51a7618 100644 (file)
@@ -1,8 +1,8 @@
+# -*- coding: utf-8 -*-
 from django.conf.urls import patterns, url
 from django.conf.urls import patterns, url
-from django.conf import settings
 from .views import form, form_during
 
 urlpatterns = patterns('',
     url(r'^_test/(?P<key>.*)/$', form_during),
 from .views import form, form_during
 
 urlpatterns = patterns('',
     url(r'^_test/(?P<key>.*)/$', form_during),
-    url(r'^(?P<key>.*)/$', form, name = 'wtem_form')
+    url(r'^(?P<key>.*)/$', form, name='wtem_form')
 )
 )
index fbef888..33ac1e2 100644 (file)
@@ -1,14 +1,13 @@
-import os
+# -*- coding: utf-8 -*-
 
 
-from django.shortcuts import render
-from django.utils import simplejson
 from django.conf import settings
 from django.conf import settings
-from django.http import Http404, HttpResponseForbidden
+from django.http import HttpResponseForbidden
+from django.shortcuts import render
 from django.views.decorators.cache import never_cache
 from django.views.decorators.csrf import csrf_exempt
 
 from django.views.decorators.cache import never_cache
 from django.views.decorators.csrf import csrf_exempt
 
-from .models import Submission, DEBUG_KEY, exercises
 from .forms import WTEMForm
 from .forms import WTEMForm
+from .models import Submission, DEBUG_KEY, exercises
 
 WTEM_CONTEST_STAGE = getattr(settings, 'WTEM_CONTEST_STAGE', 'before')
 
 
 WTEM_CONTEST_STAGE = getattr(settings, 'WTEM_CONTEST_STAGE', 'before')
 
@@ -16,18 +15,21 @@ WTEM_CONTEST_STAGE = getattr(settings, 'WTEM_CONTEST_STAGE', 'before')
 @csrf_exempt
 def form(request, key):
     return globals()['form_' + WTEM_CONTEST_STAGE](request, key)
 @csrf_exempt
 def form(request, key):
     return globals()['form_' + WTEM_CONTEST_STAGE](request, key)
-    
+
+
 def form_before(request, key):
     try:
 def form_before(request, key):
     try:
-        submission = Submission.objects.get(key = key)
-    except:
+        Submission.objects.get(key=key)
+    except Submission.DoesNotExist:
         return render(request, 'wtem/key_not_found_before.html')
     else:
         return render(request, 'wtem/main_before.html')
 
         return render(request, 'wtem/key_not_found_before.html')
     else:
         return render(request, 'wtem/main_before.html')
 
+
 def form_after(request, key):
     return render(request, 'wtem/main_after.html')
 
 def form_after(request, key):
     return render(request, 'wtem/main_after.html')
 
+
 @never_cache
 @csrf_exempt
 def form_during(request, key):
 @never_cache
 @csrf_exempt
 def form_during(request, key):
@@ -37,18 +39,19 @@ def form_during(request, key):
             return HttpResponseForbidden('Not allowed')
 
     try:
             return HttpResponseForbidden('Not allowed')
 
     try:
-        submission = Submission.objects.get(key = key)
+        submission = Submission.objects.get(key=key)
     except Submission.DoesNotExist:
         if settings.DEBUG and key == DEBUG_KEY:
     except Submission.DoesNotExist:
         if settings.DEBUG and key == DEBUG_KEY:
-            submission = Submission.create(first_name = 'Debug', last_name = 'Debug', email = 'debug@debug.com', key = DEBUG_KEY)
+            submission = Submission.create(
+                first_name='Debug', last_name='Debug', email='debug@debug.com', key=DEBUG_KEY)
         else:
             return render(request, 'wtem/key_not_found.html')
     if request.method == 'GET':
         else:
             return render(request, 'wtem/key_not_found.html')
     if request.method == 'GET':
-        return render(request, 'wtem/main.html', dict(exercises = exercises, end_time = submission.end_time))
+        return render(request, 'wtem/main.html', dict(exercises=exercises, end_time=submission.end_time))
     elif request.method == 'POST':
     elif request.method == 'POST':
-        form = WTEMForm(request.POST, request.FILES, instance = submission)
+        form = WTEMForm(request.POST, request.FILES, instance=submission)
         if form.is_valid():
             form.save()
         if form.is_valid():
             form.save()
-            return render(request, 'wtem/thanks.html', dict(end_time = submission.end_time))
+            return render(request, 'wtem/thanks.html', dict(end_time=submission.end_time))
         else:
             raise Exception
         else:
             raise Exception