From: Jan Szejko Date: Wed, 5 Dec 2018 09:47:12 +0000 (+0100) Subject: add new form (misja cybernautów) X-Git-Url: https://git.mdrn.pl/edumed.git/commitdiff_plain/f2dd9c713605ba2a17425267eb2c0c4b4f7dc928?hp=56fdd60e7a54f19cd9fc10db475688a557ed7df7 add new form (misja cybernautów) --- diff --git a/contact/forms.py b/contact/forms.py index cc60c73..059f9e8 100644 --- a/contact/forms.py +++ b/contact/forms.py @@ -68,6 +68,7 @@ class ContactForm(forms.Form): super(ContactForm, self).__init__(data, files, *args, **kwargs) if not self.is_bound and self.instance: self.fields['contact'].initial = self.instance.contact + self.fields['contact'].widget = forms.HiddenInput() body = self.instance.body for field, value in body.iteritems(): if field in self.fields: @@ -139,7 +140,6 @@ class ContactForm(forms.Form): contact=self.cleaned_data['contact'], form_tag=self.form_tag) contact.generate_key() - contact.save() email_changed = True for name, value in self.cleaned_data.items(): if isinstance(value, UploadedFile): diff --git a/contact/models.py b/contact/models.py index fb8c8ac..fac089a 100644 --- a/contact/models.py +++ b/contact/models.py @@ -28,12 +28,12 @@ class Contact(models.Model): body = JSONField(_('body')) key = models.CharField(max_length=KEY_SIZE) - @classmethod - def generate_key(cls): + def generate_key(self): key = '' - while not key or cls.objects.filter(key=key).exists(): + while not key or Contact.objects.filter(key=key).exists(): key = make_key(KEY_SIZE) - return key + self.key = key + self.save() @staticmethod def pretty_print(value, for_html=False): diff --git a/edumed/contact_forms.py b/edumed/contact_forms.py index f773cdb..db9b477 100644 --- a/edumed/contact_forms.py +++ b/edumed/contact_forms.py @@ -833,3 +833,39 @@ class ESEMWarszawaForm(ContactForm): class ESEMGdanskForm(ESEMWarszawaForm): form_tag = 'emels-gdansk' + + +class MisjaCybernautowForm(ContactForm): + form_tag = 'misja-cybernautow' + form_title = u"Misja Cybernautów" + submit_label = u'Zapisz' + updatable = True + contact = forms.EmailField(label=u'Adres e-mail', max_length=128) + szkola = forms.CharField(label=u'Szkoła, do której chodzicie', max_length=255) + zespol = forms.CharField(label=u'Nazwa zespołu', max_length=255) + zdjecie_warszawa = forms.FileField( + label=u'Dołączcie zdjęcie pokazujące, że jesteście dziś w Warszawie', required=False) + zdjecie_planetarium = forms.FileField( + label=u'Dołączcie zdjęcie grupy na scenie przy planetarium', required=False) + zdjecie_zasady = forms.FileField( + label=u'Dołączcie zdjęcie napisanych przez Was zasad bezpiecznego korzystania z internetu', required=False) + zdjecie_piasek = forms.FileField( + label=u'Dołączcie zdjęcie zdjęcie notatki zrobionej na piasku', required=False) + sonda = forms.CharField( + widget=forms.Textarea, max_length=1000, required=False, + label=u'Jaki macie wnioski z sondy zrobionej w BUW-ie?') + fasada = forms.FileField( + label=u'Dołączcie zdjęcie kodu programu umieszczonego na fasadzie BUW-u', required=False) + ochrona = forms.CharField( + label=u'Jakie są Wasze pomysły na ochronę przed zagrożeniami na podstawie filmiku z kanału ' + u'„To już jutro” na YouTube', + widget=forms.Textarea, max_length=1000, required=False) + obraz = forms.CharField( + label=u'Który obraz z Galerii Sztuki Polskiej wybraliście? Załączcie link', required=False, max_length=255) + haslo = forms.CharField( + label=mark_safe(u'Jaka jest Wasza propozycja mocne hasło, które stworzyliście i sprawdziliście na stronie ' + u'' + u'https://howsecureismypassword.net?'), + required=False, max_length=255) + mem = forms.FileField(label=u'Dołączcie stworzony mem', required=False) + gif = forms.FileField(label=u'Dołączcie stworzony gif', required=False) diff --git a/edumed/templates/contact/misja-cybernautow/mail_body.txt b/edumed/templates/contact/misja-cybernautow/mail_body.txt new file mode 100644 index 0000000..ddbcc44 --- /dev/null +++ b/edumed/templates/contact/misja-cybernautow/mail_body.txt @@ -0,0 +1,9 @@ +Treść maila potwierdzającego rejestrację zespołu. + +Link do formularza edycji: https://{{ site_domain }}{{ contact.update_url }} + +W razie jakichkolwiek wątpliwości prosimy o kontakt: +http://edukacjamedialna.edu.pl/info/kontakt/ + +-- +Wiadomość wysłana automatycznie. Prosimy na nią nie odpowiadać.