X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/c397a14db827edc7e2f61b2fc2e3a1c14f0982cb..e3d5bf5183811c60ba2aeabc65fa13c7c57b90e5:/edumed/contact_forms.py diff --git a/edumed/contact_forms.py b/edumed/contact_forms.py index 507c6d1..ad19702 100644 --- a/edumed/contact_forms.py +++ b/edumed/contact_forms.py @@ -101,6 +101,7 @@ class NoEmptyFormsAllowedBaseFormSet(forms.formsets.BaseFormSet): raise forms.ValidationError(u"Proszę podać dane przynajmniej jednego ucznia.") class WTEMForm(ContactForm): + disabled = True form_tag = "wtem" form_title = u"WTEM - rejestracja uczestników" submit_label = u"Wyślij zgłoszenie" @@ -128,6 +129,37 @@ class WTEMForm(ContactForm): required=False ) + extract_types = (dict(slug='extended', label=_('extended')),) + + @staticmethod + def get_extract_fields(contact, extract_type_slug): + fields = contact.body.keys() + fields.pop(fields.index('student')) + fields.extend(['contact', 'student_first_name', 'student_last_name', 'student_email']) + return fields + + @staticmethod + def get_extract_records(keys, contact, extract_type_slug): + toret = [dict()] + for field_name in keys: + if field_name.startswith('student_'): + continue + if field_name == 'contact': + val = contact.contact + else: + val = contact.body[field_name] + toret[0][field_name] = val + + current = toret[0] + for student in contact.body['student']: + for attr in ('first_name', 'last_name', 'email'): + current['student_' + attr] = student[attr] + if not current in toret: + toret.append(current) + current = dict() + return toret + + class MILForm(ContactForm): form_tag = 'mil' form_title = _('Share your thoughts on the "Media and information literacy competencies catalogue"')