diff --git a/src/pretix/base/migrations/0071_auto_20170729_1616.py b/src/pretix/base/migrations/0071_auto_20170729_1616.py new file mode 100644 index 0000000000..9c151cd3d6 --- /dev/null +++ b/src/pretix/base/migrations/0071_auto_20170729_1616.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.3 on 2017-07-29 16:16 +from __future__ import unicode_literals + +import i18nfield.fields +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('pretixbase', '0070_auto_20170719_0910'), + ] + + operations = [ + migrations.AddField( + model_name='question', + name='help_text', + field=i18nfield.fields.I18nTextField(blank=True, help_text='If the question needs to be explained or clarified, do it here!', null=True, verbose_name='Help text'), + ), + migrations.AlterField( + model_name='invoiceaddress', + name='vat_id', + field=models.CharField(blank=True, help_text='Only for business customers within the EU.', max_length=255, verbose_name='VAT ID'), + ), + ] diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index 537acd7930..31899a3f30 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -545,6 +545,11 @@ class Question(LoggedModel): question = I18nTextField( verbose_name=_("Question") ) + help_text = I18nTextField( + verbose_name=_("Help text"), + help_text=_("If the question needs to be explained or clarified, do it here!"), + null=True, blank=True, + ) type = models.CharField( max_length=5, choices=TYPE_CHOICES, diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index 7ef2005f5c..a53e71af06 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -41,6 +41,7 @@ class QuestionForm(I18nModelForm): localized_fields = '__all__' fields = [ 'question', + 'help_text', 'type', 'required', 'items' diff --git a/src/pretix/control/templates/pretixcontrol/items/question_edit.html b/src/pretix/control/templates/pretixcontrol/items/question_edit.html index 409e37f1eb..15c435ecf2 100644 --- a/src/pretix/control/templates/pretixcontrol/items/question_edit.html +++ b/src/pretix/control/templates/pretixcontrol/items/question_edit.html @@ -21,6 +21,7 @@
diff --git a/src/pretix/presale/forms/checkout.py b/src/pretix/presale/forms/checkout.py index 2e233126db..e750e9be88 100644 --- a/src/pretix/presale/forms/checkout.py +++ b/src/pretix/presale/forms/checkout.py @@ -216,22 +216,26 @@ class QuestionsForm(forms.Form): field = forms.BooleanField( label=q.question, required=q.required, - initial=initialbool, widget=widget + help_text=q.help_text, + initial=initialbool, widget=widget, ) elif q.type == Question.TYPE_NUMBER: field = forms.DecimalField( label=q.question, required=q.required, + help_text=q.help_text, initial=initial.answer if initial else None, min_value=Decimal('0.00') ) elif q.type == Question.TYPE_STRING: field = forms.CharField( label=q.question, required=q.required, + help_text=q.help_text, initial=initial.answer if initial else None, ) elif q.type == Question.TYPE_TEXT: field = forms.CharField( label=q.question, required=q.required, + help_text=q.help_text, widget=forms.Textarea, initial=initial.answer if initial else None, ) @@ -239,6 +243,7 @@ class QuestionsForm(forms.Form): field = forms.ModelChoiceField( queryset=q.options.all(), label=q.question, required=q.required, + help_text=q.help_text, widget=forms.RadioSelect, initial=initial.options.first() if initial else None, ) @@ -246,12 +251,14 @@ class QuestionsForm(forms.Form): field = forms.ModelMultipleChoiceField( queryset=q.options.all(), label=q.question, required=q.required, + help_text=q.help_text, widget=forms.CheckboxSelectMultiple, initial=initial.options.all() if initial else None, ) elif q.type == Question.TYPE_FILE: field = forms.FileField( label=q.question, required=q.required, + help_text=q.help_text, initial=initial.file if initial else None, widget=UploadedFileWidget(position=pos, event=event, answer=initial) )