X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/72bc005db7e75e723b760e09557a40a859553045..1e56d8964c491d8936670a92acf5b5f6730a6948:/edumed/contact_forms.py?ds=sidebyside diff --git a/edumed/contact_forms.py b/edumed/contact_forms.py index 65a5efb..f773cdb 100644 --- a/edumed/contact_forms.py +++ b/edumed/contact_forms.py @@ -14,7 +14,7 @@ from django.core.validators import validate_email from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ -from edumed.contact_forms_test import TestForm +from edumed.contact_forms_test import TestForm, CollegiumTestForm LINK_PATTERNS = [ (re.compile(r'((http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,;@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?)'), @@ -657,20 +657,24 @@ class CybernauciAnkietaForm(ContactForm): class SciezkiKopernikaForm(ContactForm): - form_tag = 'collegium-mlodych' + form_tag = 'sciezki-kopernika' form_title = u'Formularz zgłoszeniowy na warsztaty' + disabled = True nazwisko = forms.CharField(label=u'Imię i nazwisko uczestnika/uczestniczki', max_length=128) - pesel = forms.CharField(label=u'PESEL', max_length=11) + rok_urodzenia = forms.IntegerField(label=u'Rok urodzenia') adres_dom = forms.CharField(label=u'Adres zamieszkania – ulica i numer', max_length=128) adres_poczta = forms.CharField(label=u'Adres zamieszkania – kod pocztowy i miejscowość', max_length=128) contact = forms.EmailField(label=u'Adres e-mail') szkola = forms.CharField(label=u'Nazwa szkoły', max_length=128) adres_szkola = forms.CharField(label=u'Adres szkoły – ulica i numer', max_length=128) poczta_szkola = forms.CharField(label=u'Adres szkoły – kod pocztowy i miejscowość', max_length=128) - opiekun = forms.CharField(label=u'Imię i nazwisko rodzica/opiekuna prawnego', max_length=128) - telefon_opiekun = forms.CharField(label=u'Numer telefonu rodzica/opiekuna prawnego', max_length=32) - email_opiekun = forms.EmailField(label=u'Adres e-mail rodzica/opiekuna prawnego', max_length=32) + opiekun = forms.CharField(label=u'Imię i nazwisko rodzica/opiekuna', max_length=128) + adres_opiekun = forms.CharField(label=u'Adres zamieszkania rodzica/opiekuna – ulica i numer', max_length=128) + poczta_opiekun = forms.CharField( + label=u'Adres zamieszkania rodzica/opiekuna – kod pocztowy i miejscowość', max_length=128) + telefon_opiekun = forms.CharField(label=u'Numer telefonu rodzica/opiekuna', max_length=32) + email_opiekun = forms.EmailField(label=u'Adres e-mail rodzica/opiekuna', max_length=32) specjalne_potrzeby = forms.ChoiceField( label=u'Czy uczestnik/uczestniczka ma specjalne potrzeby wynikające z niepełnosprawności', required=True, choices=[('tak', 'tak'), ('nie', 'nie')], widget=forms.RadioSelect) @@ -681,16 +685,32 @@ class SciezkiKopernikaForm(ContactForm): u'i spełniam kryteria kwalifikowalności do udziału w projekcie.')) -ODMOWA_CHOICES = [ - ('nie', u'Nie'), - ('tak', u'Tak'), - ('odmowa', u'Odmowa odpowiedzi'), -] +class CollegiumMlodychForm(ContactForm): + form_tag = 'collegium-mlodych' + form_title = u'Formularz zgłoszeniowy na warsztaty' + disabled = True + disabled_template = 'contact/collegium-mlodych/on_hold.html' -YESNO_CHOICES = [ - ('nie', u'Nie'), - ('tak', u'Tak'), -] + nazwisko = forms.CharField(label=u'Imię i nazwisko uczestnika/uczestniczki', max_length=128) + pesel = forms.CharField(label=u'PESEL', max_length=11) + adres_dom = forms.CharField(label=u'Adres zamieszkania – ulica i numer', max_length=128) + adres_poczta = forms.CharField(label=u'Adres zamieszkania – kod pocztowy i miejscowość', max_length=128) + contact = forms.EmailField(label=u'Adres e-mail') + szkola = forms.CharField(label=u'Nazwa szkoły', max_length=128) + adres_szkola = forms.CharField(label=u'Adres szkoły – ulica i numer', max_length=128) + poczta_szkola = forms.CharField(label=u'Adres szkoły – kod pocztowy i miejscowość', max_length=128) + opiekun = forms.CharField(label=u'Imię i nazwisko rodzica/opiekuna prawnego', max_length=128) + telefon_opiekun = forms.CharField(label=u'Numer telefonu rodzica/opiekuna prawnego', max_length=32) + email_opiekun = forms.EmailField(label=u'Adres e-mail rodzica/opiekuna prawnego') + specjalne_potrzeby = forms.ChoiceField( + label=u'Czy uczestnik/uczestniczka ma specjalne potrzeby wynikające z niepełnosprawności', + choices=[('tak', 'tak'), ('nie', 'nie')], widget=forms.RadioSelect) + skad = forms.CharField(label=u'Skąd dowiedziałeś/aś się o warsztatach?') + zgoda_regulamin = forms.BooleanField( + label=mark_safe( + u'Oświadczam, że zapoznałem/am się z ' + u'Regulaminem udziału w projekcie ' + u'i spełniam kryteria kwalifikowalności do udziału w projekcie.')) class SciezkiKopernikaTestForm(TestForm): @@ -699,11 +719,16 @@ class SciezkiKopernikaTestForm(TestForm): self.label_suffix = '' result_page = True - form_tag = 'collegium-mlodych-test' + form_tag = 'sciezki-kopernika-test' form_title = u'Test wiedzy w zakresie edukacji medialnej i cyfrowej' submit_label = u'Wyślij' contact = forms.EmailField(label=u'Adres e-mail, na który przyślemy informację o wynikach') + head1 = HeaderField( + label=u'Test powstał w ramach projektu "Collegium Młodych - media i technologie" realizowany w ramach ' + u'III Osi priorytetowej: Szkolnictwo wyższe dla gospodarki i rozwoju, Działanie 3.1 Kompetencje ' + u'w szkolnictwie wyższym Programu Operacyjnego Wiedza Edukacja Rozwój, współfinansowanego przez ' + u'Unię Europejską w ramach Europejskiego Funduszu Społecznego. Nr umowy POWR.03.01.00-00-C078/16-00.') @classmethod def results(cls, contact): @@ -712,6 +737,44 @@ class SciezkiKopernikaTestForm(TestForm): def get_idx(choices, answer): return dict((score, i) for i, (score, text) in enumerate(choices))[answer] + def question_data(i): + field = 'pyt%s' % i + choices = fields[field].choices + score = contact.body[field] + chosen_idx = get_idx(choices, score) + correct_idx = get_idx(choices, 2) + return { + 'score': score, + 'chosen_idx': chosen_idx, + 'correct_idx': correct_idx, + 'chosen': 'abc'[chosen_idx], + 'correct': 'abc'[correct_idx], + 'label': fields[field].label, + 'comment': mark_safe(markdown.convert(cls.ANSWER_COMMENTS[i-1][chosen_idx])), + 'answers': [(text, a_score == score, a_score == 2) for a_score, text in choices], + } + question_count = 20 + questions = [question_data(i) for i in xrange(1, question_count + 1)] + points = sum(question['score'] for question in questions) + return {'questions': questions, 'points': points/2., 'total': question_count} + + +class CollegiumMlodychTestForm(CollegiumTestForm): + def __init__(self, *args, **kwargs): + super(CollegiumMlodychTestForm, self).__init__(*args, **kwargs) + self.label_suffix = '' + + result_page = True + form_tag = 'collegium-mlodych-test' + form_title = u'Test wiedzy w zakresie edukacji medialnej i cyfrowej' + submit_label = u'Wyślij' + + contact = forms.EmailField(label=u'Adres e-mail, na który przyślemy informację o wynikach') + + @classmethod + def results(cls, contact): + fields = cls().fields + def question_data(i): field = 'pyt%s' % i choices = fields[field].choices