From 308fc0f1252dbf98897051a4780679e96eb55f46 Mon Sep 17 00:00:00 2001 From: Jan Szejko <janek37@gmail.com> Date: Tue, 15 May 2018 10:53:35 +0200 Subject: [PATCH] data processing in forms --- contact/forms.py | 4 ++- contact/templates/contact/form.html | 1 + edumed/contact_forms.py | 41 +++++++++++------------------ edumed/static/css/form.css | 1 + edumed/static/css/form.scss | 1 + 5 files changed, 22 insertions(+), 26 deletions(-) diff --git a/contact/forms.py b/contact/forms.py index 97fc027..4e99528 100644 --- a/contact/forms.py +++ b/contact/forms.py @@ -38,6 +38,8 @@ class ContactForm(forms.Form): admin_list = None result_page = False mailing_field = None + mailing = False + data_processing = None required_css_class = 'required' contact = NotImplemented @@ -109,7 +111,7 @@ class ContactForm(forms.Form): 'contact/mail_body.txt', ], dictionary, context) send_mail(mail_subject, mail_body, 'no-reply@%s' % site.domain, [contact.contact], fail_silently=True) - if self.mailing_field and self.cleaned_data[self.mailing_field]: + if self.mailing or (self.mailing_field and self.cleaned_data[self.mailing_field]): email = self.cleaned_data['contact'] mailing.subscribe(email) diff --git a/contact/templates/contact/form.html b/contact/templates/contact/form.html index baea199..c0a108d 100644 --- a/contact/templates/contact/form.html +++ b/contact/templates/contact/form.html @@ -20,6 +20,7 @@ {% block form %} <table> {{ form.as_table }} + {% if form.data_processing %}<tr><td></td><td><div class="helptext">{{ form.data_processing }}</div></td></tr>{% endif %} <tr><td></td><td><button>{% block contact_form_submit %}{{ form.submit_label }}{% endblock %}</button></td></tr> </table> {% endblock %} diff --git a/edumed/contact_forms.py b/edumed/contact_forms.py index 257c2fb..b3268d6 100644 --- a/edumed/contact_forms.py +++ b/edumed/contact_forms.py @@ -45,10 +45,19 @@ WOJEWODZTWA = ( WOJEWODZTWO_CHOICES = [(u'', u'(wybierz)')] + [(w, w) for w in WOJEWODZTWA] -class RegistrationForm(ContactForm): +def make_data_processing(middle_text): + return mark_safe(u'''\ +Administratorem danych osobowych jest Fundacja Nowoczesna Polska (ul. MarszaÅkowska 84/92 lok. 125, 00-514 Warszawa). \ +Podanie danych osobowych jest dobrowolne. %s Osobom, których dane sÄ zbierane, przysÅuguje prawo dostÄpu do treÅci \ +swoich danych oraz ich poprawiania. WiÄcej informacji w <a href="https://nowoczesnapolska.org.pl/prywatnosc/">\ +polityce prywatnoÅci</a>.''' % middle_text) + + +class SuggestionForm(ContactForm): form_tag = 'sugestie' form_title = u"ZgÅoÅ sugestiÄ" admin_list = ['podpis', 'contact', 'temat'] + data_processing = make_data_processing(u'Dane sÄ przetwarzane w zakresie niezbÄdnym do obsÅugi zgÅoszenia.') contact = forms.EmailField(label=u'E-mail', max_length=128, required=False) podpis = forms.CharField(label=u'Podpis', max_length=128, required=False) @@ -59,32 +68,13 @@ class RegistrationForm(ContactForm): class CooperateForm(ContactForm): form_tag = 'wspolpraca' form_title = u"BÄ dź z nami w kontakcie" - admin_list = ['podpis', 'contact'] - mailing_field = 'zgoda_dane' + admin_list = ['contact'] + mailing = True + data_processing = make_data_processing( + u'Dane sÄ przetwarzane w zakresie niezbÄdnym do wysyÅania newslettera odbiorcom.') + submit_label = u'WyÅlij' - podpis = forms.CharField(label=u'ImiÄ i nazwisko', max_length=128) contact = forms.EmailField(label=u'E-mail', max_length=128) - instytucja = forms.CharField( - label=u'Instytucja (nazwa, adres)', widget=forms.Textarea, max_length=1000, required=False) - uwagi = forms.CharField(label=u'Uwagi', widget=forms.Textarea, max_length=1800, required=False) - - zajecia_przedszkole = forms.BooleanField(label=u'ProwadzÄ zajÄcia z dzieÄmi w wieku przedszkolnym', required=False) - zajecia_sp13 = forms.BooleanField(label=u'ProwadzÄ zajÄcia z dzieÄmi z SP kl. 1-3', required=False) - zajecia_sp46 = forms.BooleanField(label=u'ProwadzÄ zajÄcia z dzieÄmi z SP kl. 4-6', required=False) - zajecia_gimnazjum = forms.BooleanField(label=u'ProwadzÄ zajÄcia z mÅodzieÅ¼Ä w wieku gimnazjalnym', required=False) - zajecia_ponadgimnazjalne = forms.BooleanField( - label=u'ProwadzÄ zajÄcia z mÅodzieÅ¼Ä ze szkóŠponadgimnazjalnych', required=False) - zajecia_wyzsze = forms.BooleanField(label=u'ProwadzÄ zajÄcia w szkole wyższej', required=False) - zajecia_dorosli = forms.BooleanField(label=u'ProwadzÄ zajÄcia dla dorosÅych', required=False) - zajecia_seniorzy = forms.BooleanField(label=u'ProwadzÄ zajÄcia dla seniorów', required=False) - zgoda_dane = forms.BooleanField( - label=u'OÅwiadczam, że wyrażam zgodÄ na przetwarzanie moich danych osobowych zawartych ' - u'w niniejszym formularzu zgÅoszeniowym przez FundacjÄ Nowoczesna Polska ' - u'(administratora danych) z siedzibÄ w Warszawie (00-514) przy ul. MarszaÅkowskiej 84/92 ' - u'lok. 125 w celu otrzymywania newslettera Edukacja medialna. JednoczeÅnie oÅwiadczam, ' - u'że zostaÅam/em poinformowana/y o tym, że mam prawo wglÄ du w treÅÄ swoich danych ' - u'i możliwoÅÄ ich poprawiania oraz że ich podanie jest dobrowolne, ale niezbÄdne ' - u'do dokonania zgÅoszenia.') class ContestForm(ContactForm): @@ -343,6 +333,7 @@ class OlimpiadaForm(ContactForm): class MILForm(ContactForm): + disabled = True form_tag = 'mil' form_title = _('Share your thoughts on the "Media and information literacy competencies catalogue"') submit_label = _('Submit') diff --git a/edumed/static/css/form.css b/edumed/static/css/form.css index 10fb9f4..5699dd6 100644 --- a/edumed/static/css/form.css +++ b/edumed/static/css/form.css @@ -7,6 +7,7 @@ list-style: none; margin: 0; } .submit-form th { + min-width: 4em; max-width: 16em; font-weight: normal; } .submit-form .required th label:before, .submit-form .required > label:before { diff --git a/edumed/static/css/form.scss b/edumed/static/css/form.scss index d393def..90ad634 100755 --- a/edumed/static/css/form.scss +++ b/edumed/static/css/form.scss @@ -10,6 +10,7 @@ margin: 0; } th { + min-width: 4em; max-width: 16em; font-weight: normal; } -- 2.20.1