mirror of
https://github.com/pretix/pretix.git
synced 2026-09-14 16:24:43 +00:00
improvements after review
This commit is contained in:
@@ -200,21 +200,21 @@ class BaseQuestionsForm(forms.Form):
|
|||||||
field = forms.DecimalField(
|
field = forms.DecimalField(
|
||||||
label=label, required=required,
|
label=label, required=required,
|
||||||
help_text=q.help_text,
|
help_text=q.help_text,
|
||||||
initial=initial.answer if initial else default if default else None,
|
initial=initial.answer if initial else (default if default else None),
|
||||||
min_value=Decimal('0.00'),
|
min_value=Decimal('0.00'),
|
||||||
)
|
)
|
||||||
elif q.type == Question.TYPE_STRING:
|
elif q.type == Question.TYPE_STRING:
|
||||||
field = forms.CharField(
|
field = forms.CharField(
|
||||||
label=label, required=required,
|
label=label, required=required,
|
||||||
help_text=help_text,
|
help_text=help_text,
|
||||||
initial=initial.answer if initial else default if default else None,
|
initial=initial.answer if initial else (default if default else None),
|
||||||
)
|
)
|
||||||
elif q.type == Question.TYPE_TEXT:
|
elif q.type == Question.TYPE_TEXT:
|
||||||
field = forms.CharField(
|
field = forms.CharField(
|
||||||
label=label, required=required,
|
label=label, required=required,
|
||||||
help_text=help_text,
|
help_text=help_text,
|
||||||
widget=forms.Textarea,
|
widget=forms.Textarea,
|
||||||
initial=initial.answer if initial else default if default else None,
|
initial=initial.answer if initial else (default if default else None),
|
||||||
)
|
)
|
||||||
elif q.type == Question.TYPE_CHOICE:
|
elif q.type == Question.TYPE_CHOICE:
|
||||||
field = forms.ModelChoiceField(
|
field = forms.ModelChoiceField(
|
||||||
@@ -246,21 +246,24 @@ class BaseQuestionsForm(forms.Form):
|
|||||||
field = forms.DateField(
|
field = forms.DateField(
|
||||||
label=label, required=required,
|
label=label, required=required,
|
||||||
help_text=help_text,
|
help_text=help_text,
|
||||||
initial=dateutil.parser.parse(initial.answer).date() if initial and initial.answer else dateutil.parser.parse(default).date() if default else None,
|
initial=dateutil.parser.parse(initial.answer).date() if initial and initial.answer else (
|
||||||
|
dateutil.parser.parse(default).date() if default else None),
|
||||||
widget=DatePickerWidget(),
|
widget=DatePickerWidget(),
|
||||||
)
|
)
|
||||||
elif q.type == Question.TYPE_TIME:
|
elif q.type == Question.TYPE_TIME:
|
||||||
field = forms.TimeField(
|
field = forms.TimeField(
|
||||||
label=label, required=required,
|
label=label, required=required,
|
||||||
help_text=help_text,
|
help_text=help_text,
|
||||||
initial=dateutil.parser.parse(initial.answer).time() if initial and initial.answer else dateutil.parser.parse(default).time() if default else None,
|
initial=dateutil.parser.parse(initial.answer).time() if initial and initial.answer else (
|
||||||
|
dateutil.parser.parse(default).time() if default else None),
|
||||||
widget=TimePickerWidget(time_format=get_format_without_seconds('TIME_INPUT_FORMATS')),
|
widget=TimePickerWidget(time_format=get_format_without_seconds('TIME_INPUT_FORMATS')),
|
||||||
)
|
)
|
||||||
elif q.type == Question.TYPE_DATETIME:
|
elif q.type == Question.TYPE_DATETIME:
|
||||||
field = SplitDateTimeField(
|
field = SplitDateTimeField(
|
||||||
label=label, required=required,
|
label=label, required=required,
|
||||||
help_text=help_text,
|
help_text=help_text,
|
||||||
initial=dateutil.parser.parse(initial.answer).astimezone(tz) if initial and initial.answer else dateutil.parser.parse(default).astimezone(tz) if default else None,
|
initial=dateutil.parser.parse(initial.answer).astimezone(tz) if initial and initial.answer else (
|
||||||
|
dateutil.parser.parse(default).astimezone(tz) if default else None),
|
||||||
widget=SplitDateTimePickerWidget(time_format=get_format_without_seconds('TIME_INPUT_FORMATS')),
|
widget=SplitDateTimePickerWidget(time_format=get_format_without_seconds('TIME_INPUT_FORMATS')),
|
||||||
)
|
)
|
||||||
field.question = q
|
field.question = q
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
/*global $,gettext*/
|
/*global $,gettext*/
|
||||||
|
|
||||||
function question_page_toggle_view() {
|
function update_default_value_field() {
|
||||||
var show = $("#id_type").val() == "C" || $("#id_type").val() == "M";
|
|
||||||
$("#answer-options").toggle(show);
|
|
||||||
|
|
||||||
show = $("#id_type").val() == "B" && $("#id_required").prop("checked");
|
|
||||||
$(".alert-required-boolean").toggle(show);
|
|
||||||
|
|
||||||
let input = $('#id_default_value');
|
let input = $('#id_default_value');
|
||||||
let common_attrs = ' name="default_value" placeholder="' + input.attr('placeholder') + '" title="' + input.attr('title') + '" id="id_default_value"';
|
let common_attrs = ' name="default_value" placeholder="' + input.attr('placeholder') + '" title="' + input.attr('title') + '" id="id_default_value"';
|
||||||
let value = input.val();
|
let value = input.val();
|
||||||
@@ -28,24 +22,38 @@ function question_page_toggle_view() {
|
|||||||
input.replaceWith('<input type="checkbox" ' + common_attrs + ' ' + checked + '>');
|
input.replaceWith('<input type="checkbox" ' + common_attrs + ' ' + checked + '>');
|
||||||
$('.form-group:has(#id_default_value)').show();
|
$('.form-group:has(#id_default_value)').show();
|
||||||
break;
|
break;
|
||||||
case 'F':
|
|
||||||
$('.form-group:has(#id_default_value)').hide();
|
|
||||||
break;
|
|
||||||
case 'D':
|
case 'D':
|
||||||
input.replaceWith('<input type="date" class="form-control" value="' + value + '" ' + common_attrs + '>');
|
let dateField = input.replaceWith('<input type="text" class="form-control datepickerfield" value="' + value + '" ' + common_attrs + '>');
|
||||||
|
form_handlers(dateField.parent());
|
||||||
$('.form-group:has(#id_default_value)').show();
|
$('.form-group:has(#id_default_value)').show();
|
||||||
break;
|
break;
|
||||||
case 'H':
|
case 'H':
|
||||||
input.replaceWith('<input type="time" class="form-control" value="' + value + '" ' + common_attrs + '>');
|
let timeField = input.replaceWith('<input type="text" class="form-control timepickerfield" value="' + value + '" ' + common_attrs + '>');
|
||||||
|
form_handlers(timeField.parent());
|
||||||
$('.form-group:has(#id_default_value)').show();
|
$('.form-group:has(#id_default_value)').show();
|
||||||
break;
|
break;
|
||||||
case 'W':
|
case 'W':
|
||||||
input.replaceWith('<input type="datetime-local" class="form-control" value="' + value + '" ' + common_attrs + '>');
|
let dtField = input.replaceWith('<input type="text" class="form-control datepickerfield" value="' + value + '" ' + common_attrs + '>');
|
||||||
|
form_handlers(dtField.parent());
|
||||||
$('.form-group:has(#id_default_value)').show();
|
$('.form-group:has(#id_default_value)').show();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
// file, choice, and multiple choice are not implemented
|
||||||
|
$('.form-group:has(#id_default_value)').hide();
|
||||||
|
input.val('')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function question_page_toggle_view() {
|
||||||
|
var show = $("#id_type").val() == "C" || $("#id_type").val() == "M";
|
||||||
|
$("#answer-options").toggle(show);
|
||||||
|
|
||||||
|
show = $("#id_type").val() == "B" && $("#id_required").prop("checked");
|
||||||
|
$(".alert-required-boolean").toggle(show);
|
||||||
|
|
||||||
|
update_default_value_field();
|
||||||
|
}
|
||||||
|
|
||||||
var waitingDialog = {
|
var waitingDialog = {
|
||||||
show: function (message) {
|
show: function (message) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|||||||
Reference in New Issue
Block a user