From a9bafa65589ccfdd04ea69eb09e637ab75387981 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Thu, 13 Nov 2014 16:27:15 +0100 Subject: [PATCH] Fixes. --- contact/admin.py | 8 +++++--- contact/forms.py | 7 ++++++- edumed/contact_forms.py | 7 ++++++- edumed/templates/contact/wtem/mail_body.txt | 9 +++++---- edumed/templates/contact/wtem/thanks.html | 2 +- wtem/models.py | 2 +- wtem/static/wtem/edumed.coffee | 2 +- wtem/static/wtem/edumed.js | 2 +- 8 files changed, 26 insertions(+), 13 deletions(-) diff --git a/contact/admin.py b/contact/admin.py index f849f95..641770e 100644 --- a/contact/admin.py +++ b/contact/admin.py @@ -6,7 +6,7 @@ from .forms import contact_forms, admin_list_width from django.template import Template from django.utils.safestring import mark_safe from django.conf.urls import patterns, url -from django.http import HttpResponse +from django.http import HttpResponse, Http404 from .utils import csv_prepare @@ -97,7 +97,7 @@ class ContactAdmin(admin.ModelAdmin): def changelist_view(self, request, extra_context=None): context = dict() if 'form_tag' in request.GET: - form = contact_forms[request.GET['form_tag']] + form = contact_forms.get(request.GET['form_tag']) context['extract_types'] = [dict(slug = 'all', label = _('all'))] + [dict(slug = 'contacts', label = _('contacts'))] context['extract_types'] += [type for type in getattr(form, 'extract_types', [])] return super(ContactAdmin, self).changelist_view(request, extra_context = context) @@ -112,7 +112,9 @@ class ContactAdmin(admin.ModelAdmin): def extract_view(request, form_tag, extract_type_slug): toret = u'' contacts_by_spec = dict() - form = contact_forms[form_tag] + form = contact_forms.get(form_tag) + if form is None and extract_type_slug not in ('contacts', 'all'): + raise Http404 q = Contact.objects.filter(form_tag = form_tag) at_year = request.GET.get('created_at__year') diff --git a/contact/forms.py b/contact/forms.py index b975da3..aab883d 100644 --- a/contact/forms.py +++ b/contact/forms.py @@ -1,4 +1,5 @@ from django.contrib.sites.models import Site +from django.core.exceptions import ValidationError from django.core.files.uploadedfile import UploadedFile from django.core.mail import send_mail, mail_managers from django.core.validators import validate_email @@ -78,7 +79,11 @@ class ContactForm(forms.Form): mail_managers(mail_managers_subject, mail_managers_body, fail_silently=True) - if validate_email(contact.contact): + try: + validate_email(contact.contact) + except ValidationError: + pass + else: mail_subject = render_to_string([ 'contact/%s/mail_subject.txt' % self.form_tag, 'contact/mail_subject.txt', diff --git a/edumed/contact_forms.py b/edumed/contact_forms.py index 9c74cbd..0ff8415 100644 --- a/edumed/contact_forms.py +++ b/edumed/contact_forms.py @@ -120,8 +120,13 @@ class WTEMForm(ContactForm): zgoda_regulamin = forms.BooleanField( label=u'Znam i akceptuję regulamin Wielkiego Turnieju Edukacji Medialnej.', - help_text=u'Zobacz regulamin Wielkiego Turnieju Edukacji Medialnej.' + help_text=u'Zobacz regulamin Wielkiego Turnieju Edukacji Medialnej.' ) + zgoda_dane = forms.BooleanField( + label=u'Wyrażam zgodę na przetwarzanie moich danych osobowych oraz danych osobowych moich podopiecznych, a także na publikację prac na wolnej licencji.', + help_text=u'Zobacz pełną treść oświadczenia.' + ) + potw_uczniowie = forms.BooleanField( label=u'Potwierdzam, że zgłoszeni Uczestnicy/Uczestniczki w chwili rejestracji są uczniami/uczennicami szkoły ponadgimnazjalnej.', ) diff --git a/edumed/templates/contact/wtem/mail_body.txt b/edumed/templates/contact/wtem/mail_body.txt index 0c20f5f..b39acb4 100755 --- a/edumed/templates/contact/wtem/mail_body.txt +++ b/edumed/templates/contact/wtem/mail_body.txt @@ -3,13 +3,14 @@ Do udziału zostały zgłoszone następujące osoby: {% for student in contact.body.student %} * {{ student.first_name }} {{ student.last_name }}{% endfor %} -Pierwszy etap Turnieju odbędzie się 21 listopada 2013 r. o godz. 15.30. -Po zakończeniu rejestracji (4 listopada) każdy Uczestnik otrzyma maila -z indywidualną instrukcją dotyczącą udziału w I etapie Turnieju. +Pierwszy etap Turnieju odbędzie się 18 listopada 2014 r. +Po zakończeniu rejestracji (31 października) do dn. 12 listopada 2014 r. +każdy Uczestniok otrzyma maila z indywidualną instrukcją dotyczącą +udziału w I etapie Turnieju. Wszystkie ogłoszenia związane z Turniejem będą publikowane na stronie http://edukacjamedialna.edu.pl/WTEM. W razie pytań lub wątpliwości -możesz kontaktować się z nami pisząc na adres +możesz kontaktować się z nami, pisząc na adres edukacjamedialna@nowoczesnapolska.org.pl. Z pozdrowieniami diff --git a/edumed/templates/contact/wtem/thanks.html b/edumed/templates/contact/wtem/thanks.html index 9ad56ff..5bc66d8 100755 --- a/edumed/templates/contact/wtem/thanks.html +++ b/edumed/templates/contact/wtem/thanks.html @@ -6,7 +6,7 @@

Na adres adres e-mail Opiekuna została wysłana wiadomość potwierdzająca rejestrację.

-

Pierwszy etap Turnieju odbędzie się 21 listopada 2013 r. o godz. 15.30.
+

Pierwszy etap Turnieju odbędzie się 18 listopada 2013 r.
Serdecznie zapraszamy do udziału.

Zespół Edukacji Medialnej
diff --git a/wtem/models.py b/wtem/models.py index 4c3d0ee..fd8e834 100644 --- a/wtem/models.py +++ b/wtem/models.py @@ -25,7 +25,7 @@ class Submission(models.Model): 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() + marks = JSONField(default={}) examiners = models.ManyToManyField(User, null = True, blank = True) end_time = models.CharField(max_length = 5, null = True, blank = True) diff --git a/wtem/static/wtem/edumed.coffee b/wtem/static/wtem/edumed.coffee index ae7aea9..6d96fb8 100644 --- a/wtem/static/wtem/edumed.coffee +++ b/wtem/static/wtem/edumed.coffee @@ -417,7 +417,7 @@ class Przyporzadkuj extends Exercise draggable_accept: ($draggable, $droppable) -> dropped = $droppable.closest("ul, ol").find(".draggable") - return (super $draggable, $droppable) && dropped.length == 0 + return (super $draggable, $droppable) check_question: (question) -> # subjects placed in predicates diff --git a/wtem/static/wtem/edumed.js b/wtem/static/wtem/edumed.js index 940ca54..f44654d 100644 --- a/wtem/static/wtem/edumed.js +++ b/wtem/static/wtem/edumed.js @@ -546,7 +546,7 @@ Przyporzadkuj.prototype.draggable_accept = function($draggable, $droppable) { var dropped; dropped = $droppable.closest("ul, ol").find(".draggable"); - return (Przyporzadkuj.__super__.draggable_accept.call(this, $draggable, $droppable)) && dropped.length === 0; + return (Przyporzadkuj.__super__.draggable_accept.call(this, $draggable, $droppable)); }; Przyporzadkuj.prototype.check_question = function(question) { -- 2.20.1