add new form (misja cybernautów)
authorJan Szejko <janek37@gmail.com>
Wed, 5 Dec 2018 09:47:12 +0000 (10:47 +0100)
committerJan Szejko <janek37@gmail.com>
Wed, 5 Dec 2018 10:35:53 +0000 (11:35 +0100)
contact/forms.py
contact/models.py
edumed/contact_forms.py
edumed/templates/contact/misja-cybernautow/mail_body.txt [new file with mode: 0644]

index cc60c73..059f9e8 100644 (file)
@@ -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):
index fb8c8ac..fac089a 100644 (file)
@@ -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):
index f773cdb..db9b477 100644 (file)
@@ -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'<a href="https://howsecureismypassword.net" target="_blank">'
+                        u'https://howsecureismypassword.net</a>?'),
+        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 (file)
index 0000000..ddbcc44
--- /dev/null
@@ -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ć.