diff --git a/ckan/controllers/package.py b/ckan/controllers/package.py index 961661d1a7b..e8c9037e840 100644 --- a/ckan/controllers/package.py +++ b/ckan/controllers/package.py @@ -501,6 +501,7 @@ def edit(self, id, data=None, errors=None, error_summary=None): errors = errors or {} vars = {'data': data, 'errors': errors, 'error_summary': error_summary} + c.errors_json = json.dumps(errors) self._setup_template_variables(context, {'id': id}, package_type=package_type) diff --git a/ckan/public/css/forms.css b/ckan/public/css/forms.css index 97406579d9f..670e8f9ec1a 100644 --- a/ckan/public/css/forms.css +++ b/ckan/public/css/forms.css @@ -139,6 +139,9 @@ form.has-errors .field_error, form.has-errors .error-explanation { position: relative; background: transparent url(../images/icons/error.png) left 3px no-repeat; } +.fieldset_button_error { + background: transparent url(../images/icons/error.png) left center no-repeat; } + .error-explanation, #errorExplanation { background: #fff; diff --git a/ckan/public/css/style.css b/ckan/public/css/style.css index 33640224e24..c249424238e 100644 --- a/ckan/public/css/style.css +++ b/ckan/public/css/style.css @@ -971,6 +971,7 @@ ul.dataset-edit-nav li a { display: block; padding: 7px 0 7px 10px; margin-bottom: 7px; + margin-left: 20px; border: 1px transparent solid; } ul.dataset-edit-nav li a.active, diff --git a/ckan/public/scripts/application.js b/ckan/public/scripts/application.js index 61c03ec5f67..1d6ba479054 100644 --- a/ckan/public/scripts/application.js +++ b/ckan/public/scripts/application.js @@ -93,6 +93,15 @@ $(e.target).attr('disabled','disabled'); return false; }); + + // Highlight form errors in the tab buttons + for (field_id in form_errors) { + var field = $('#'+field_id); + if (field !== undefined) { + var fieldset_id = field.parents('fieldset').last().attr('id'); + $('#section-'+fieldset_id).addClass('fieldset_button_error'); + } + } } var isGroupEdit = $('body.group.edit').length > 0; if (isGroupEdit) { diff --git a/ckan/templates/package/edit.html b/ckan/templates/package/edit.html index 6bd9a39735c..0984f281985 100644 --- a/ckan/templates/package/edit.html +++ b/ckan/templates/package/edit.html @@ -11,6 +11,7 @@ @@ -18,11 +19,11 @@