From 308fc0f1252dbf98897051a4780679e96eb55f46 Mon Sep 17 00:00:00 2001 From: Jan Szejko 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 %} {{ form.as_table }} + {% if form.data_processing %}{% endif %}
{{ form.data_processing }}
{% 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 \ +polityce prywatności.''' % 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