diff --git a/constance/admin.py b/constance/admin.py index f2ab049..ac3f8d2 100644 --- a/constance/admin.py +++ b/constance/admin.py @@ -195,6 +195,7 @@ class ConstanceAdmin(admin.ModelAdmin): 'form_field': form[name], 'is_checkbox': isinstance( form[name].field.widget, forms.CheckboxInput), + 'is_datetime': isinstance(default, datetime), } return config_value diff --git a/constance/static/admin/js/constance.js b/constance/static/admin/js/constance.js index 411de14..a67a160 100644 --- a/constance/static/admin/js/constance.js +++ b/constance/static/admin/js/constance.js @@ -2,13 +2,19 @@ 'use strict'; $(function() { + $('#content-main').on('click', '.reset-link', function(e) { e.preventDefault(); var field = $('#' + this.dataset.fieldId); + var fieldType = this.dataset.fieldType; - if (field.attr('type') === 'checkbox') { + if (fieldType === 'checkbox') { field.prop('checked', this.dataset.default === 'true'); + } else if (fieldType === 'datetime') { + var defaultDate = new Date(this.dataset.default * 1000); + $('#' + this.dataset.fieldId + '_0').val(defaultDate.strftime(get_format('DATE_INPUT_FORMATS')[0])); + $('#' + this.dataset.fieldId + '_1').val(defaultDate.strftime(get_format('TIME_INPUT_FORMATS')[0])); } else { field.val(this.dataset.default); } diff --git a/constance/templates/admin/constance/includes/results_list.html b/constance/templates/admin/constance/includes/results_list.html index 3290a92..f553f60 100644 --- a/constance/templates/admin/constance/includes/results_list.html +++ b/constance/templates/admin/constance/includes/results_list.html @@ -20,9 +20,18 @@ {{ item.form_field.errors }} {{ item.form_field }}
- Reset to default