diff --git a/ckan/controllers/package.py b/ckan/controllers/package.py index 8b2c68cff32..74b3a2e8f13 100644 --- a/ckan/controllers/package.py +++ b/ckan/controllers/package.py @@ -455,7 +455,7 @@ def new(self, data=None, errors=None, error_summary=None): errors = errors or {} error_summary = error_summary or {} - vars = {'data': data, 'errors': errors, 'error_summary': error_summary} + vars = {'data': data, 'errors': errors, 'error_summary': error_summary, 'action': 'new'} c.errors_json = json.dumps(errors) self._setup_template_variables(context, {'id': id}) @@ -512,7 +512,7 @@ def edit(self, id, data=None, errors=None, error_summary=None): abort(401, _('User %r not authorized to edit %s') % (c.user, id)) errors = errors or {} - vars = {'data': data, 'errors': errors, 'error_summary': error_summary} + vars = {'data': data, 'errors': errors, 'error_summary': error_summary, 'action': 'edit'} c.errors_json = json.dumps(errors) self._setup_template_variables(context, {'id': id}, package_type=package_type) diff --git a/ckan/templates/package/edit.html b/ckan/templates/package/edit.html new file mode 100644 index 00000000000..cbf17658dba --- /dev/null +++ b/ckan/templates/package/edit.html @@ -0,0 +1,14 @@ +{% extends 'package/pages/form_page.html' %} + +{% set pkg = c.pkg_dict %} + +{% block breadcrumb %} + +{% endblock %} + +{% block stages %}{% endblock %} diff --git a/ckan/templates/package/edit_form.html b/ckan/templates/package/edit_form.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/ckan/templates/package/new_package_form.html b/ckan/templates/package/new_package_form.html index 3fb264075b3..4af5e9d1d15 100644 --- a/ckan/templates/package/new_package_form.html +++ b/ckan/templates/package/new_package_form.html @@ -1,2 +1,23 @@ -{# FIXME why is this here? #} -{% include 'package/snippets/package_form.html' %} +{% extends 'package/pages/form.html' %} + +{% block metadata_fields %} + {% if action == 'edit' %}{{ super() }}{% endif %} +{% endblock %} + +{% block disclaimer %} + {% if action != 'edit' %}{{ super() }}{% endif %} +{% endblock %} + +{% block save_button_text %} + {% if action != 'edit' %} + {{ super() }} + {% else %} + Update + {% endif %} +{% endblock %} + +{% block cancel_button %} + {% if action != 'edit' %} + {{ super() }} + {% endif %} +{% endblock %} diff --git a/ckan/templates/package/pages/form.html b/ckan/templates/package/pages/form.html new file mode 100644 index 00000000000..8d6426bb538 --- /dev/null +++ b/ckan/templates/package/pages/form.html @@ -0,0 +1,32 @@ +{% import 'macros/form.html' as form %} + +
+ + {% block errors %}{{ form.errors(error_summary) }}{% endblock %} + + {% block basic_fields %} + {% snippet 'package/snippets/package_basic_fields.html', data=data, errors=errors, licenses=c.licences, groups_available=c.groups_available %} + {% endblock %} + + {% block metadata_fields %} + {% snippet 'package/snippets/package_metadata_fields.html', data=data, errors=errors %} + {% endblock %} + + {% block form_actions %} +
+ {% block disclaimer %} +

+ {%- trans -%} + Important: By submitting content, you + agree to release your contributions under the Open Database + License. + {%- endtrans -%} +

+ {% endblock %} + {% block cancel_button %} + {% block save_button %}{{ _('Cancel') }}{% endblock %} + {% endblock %} + +
+ {% endblock %} +
diff --git a/ckan/templates/package/snippets/new_package_breadcrumb.html b/ckan/templates/package/snippets/new_package_breadcrumb.html index 98f299e3ddb..856c8df81d4 100644 --- a/ckan/templates/package/snippets/new_package_breadcrumb.html +++ b/ckan/templates/package/snippets/new_package_breadcrumb.html @@ -1,4 +1,5 @@ diff --git a/ckan/templates/package/snippets/package_basic_fields.html b/ckan/templates/package/snippets/package_basic_fields.html new file mode 100644 index 00000000000..cc9a90bfeab --- /dev/null +++ b/ckan/templates/package/snippets/package_basic_fields.html @@ -0,0 +1,36 @@ +{% import 'macros/form.html' as form %} + +{{ form.input('title', id='field-title', label=_('Title'), placeholder=_('A descriptive title'), value=data.title, error=errors.title, classes=['control-full', 'control-large']) }} + +{{ form.input('name', id='field-name', label=_('URL'), placeholder=_('my-dataset'), value=data.title, error=errors.name, classes=['control-full']) }} + +{{ form.markdown('notes', id='field-notes', label=_('Description'), placeholder=_('Some useful notes about the data'), value=data.notes, error=errors.notes) }} + +
+ {% set error = errors.license_id %} + +
+ + {% if error %}{{ error }}{% endif %} + {{ _("Don't worry if you don't know which license the data has been released under") }} +
+
+ +{% if groups_available %} +
+ {% set groups = data.groups or [] %} + +
+ +
+
+{% endif %} diff --git a/ckan/templates/package/snippets/package_form.html b/ckan/templates/package/snippets/package_form.html deleted file mode 100644 index c60c80277a6..00000000000 --- a/ckan/templates/package/snippets/package_form.html +++ /dev/null @@ -1,52 +0,0 @@ -{% import 'macros/form.html' as form %} - -{% set data = data or {} %} -{% set errors = errors or {} %} - -
- - {{ form.errors(error_summary) }} - - {{ form.input('title', id='field-title', label=_('Title'), placeholder=_('A descriptive title'), value=data.title, error=errors.title, classes=['control-full', 'control-large']) }} - - {{ form.input('name', id='field-name', label=_('URL'), placeholder=_('my-dataset'), value=data.title, error=errors.name, classes=['control-full']) }} - - {{ form.markdown('notes', id='field-notes', label=_('Description'), placeholder=_('Some useful notes about the data'), value=data.notes, error=errors.notes) }} - -
- {% set error = errors.license_id %} - -
- - {% if error %}{{ error }}{% endif %} - {{ _("Don't worry if you don't know which license the data has been released under") }} -
-
- - {% if c.groups_available %} -
- {% set groups = data.groups or [] %} - -
- -
-
- {% endif %} - -
-

Important: By submitting content, you - agree to release your contributions under the Open Database - License.

- Cancel - -
-
diff --git a/ckan/templates/package/snippets/package_metadata_fields.html b/ckan/templates/package/snippets/package_metadata_fields.html new file mode 100644 index 00000000000..ec9570a983a --- /dev/null +++ b/ckan/templates/package/snippets/package_metadata_fields.html @@ -0,0 +1,13 @@ +{% import 'macros/form.html' as form %} + +{{ form.input('author', label=_('Author'), id='field-author', placeholder=_('Joe Bloggs'), value=data.author, error=errors.author, classes=['control-medium']) }} + +{{ form.input('author_email', label=_('Author Email'), id='field-author-email', placeholder=_('joe@example.com'), value=data.author_email, error=errors.author_email, classes=['control-medium']) }} + +{{ form.input('maintainer', label=_('Maintainer'), id='field-maintainer', placeholder=_('Joe Bloggs'), value=data.maintainer, error=errors.maintainer, classes=['control-medium']) }} + +{{ form.input('maintainer_email', label=_('Maintainer Email'), id='field-maintainer-email', placeholder=_('joe@example.com'), value=data.maintainer_email, error=errors.maintainer_email, classes=['control-medium']) }} + +{% block custom_fields %} + {% snippet 'snippets/custom_form_fields.html', extras=data.extras, errors=errors, limit=3 %} +{% endblock %} diff --git a/ckan/templates/package/snippets/package_metadata_form.html b/ckan/templates/package/snippets/package_metadata_form.html index 78f9aced906..fe4dca0fb04 100644 --- a/ckan/templates/package/snippets/package_metadata_form.html +++ b/ckan/templates/package/snippets/package_metadata_form.html @@ -6,17 +6,7 @@
{{ form.errors(error_summary) }} - {{ form.input('author', label=_('Author'), id='field-author', placeholder=_('Joe Bloggs'), value=data.author, error=errors.author, classes=['control-medium']) }} - - {{ form.input('author_email', label=_('Author Email'), id='field-author-email', placeholder=_('joe@example.com'), value=data.author_email, error=errors.author_email, classes=['control-medium']) }} - - {{ form.input('maintainer', label=_('Maintainer'), id='field-maintainer', placeholder=_('Joe Bloggs'), value=data.maintainer, error=errors.maintainer, classes=['control-medium']) }} - - {{ form.input('maintainer_email', label=_('Maintainer Email'), id='field-maintainer-email', placeholder=_('joe@example.com'), value=data.maintainer_email, error=errors.maintainer_email, classes=['control-medium']) }} - - {% block custom_fields %} - {% snippet 'snippets/custom_form_fields.html', extras=data.extras, errors=errors, limit=3 %} - {% endblock %} + {% snippet 'package/snippets/package_metadata_fields.html', data=data, errors=errors %}