diff --git a/ckanext/odsh/helpers.py b/ckanext/odsh/helpers.py index e5c74c129379fd801c57a2272f65ed58acbc3183..8bea383b06aaa2b321156502c33e9df9d14dfedf 100644 --- a/ckanext/odsh/helpers.py +++ b/ckanext/odsh/helpers.py @@ -15,6 +15,7 @@ import re import csv import urllib2 from ckan.common import request +import pdb get_action = logic.get_action log = logging.getLogger(__name__) diff --git a/ckanext/odsh/templates/package/snippets/package_basic_fields.html b/ckanext/odsh/templates/package/snippets/package_basic_fields.html index 3c4e0f67b65e18a77ad3c8861836640cda5cdd51..5bed804b41f9cc894ef9381a496e24c22c738daa 100644 --- a/ckanext/odsh/templates/package/snippets/package_basic_fields.html +++ b/ckanext/odsh/templates/package/snippets/package_basic_fields.html @@ -199,7 +199,9 @@ is_required=true,placeholder=_('Enter title')) }} <div class="controls"> <div class="row-fluid"> {% if not value and not error and data.state == 'active'%} - {{h.truncate(h.odsh_extract_value_from_extras(data.extras,'spatial'),22)}} + <div class="span6"> + <input type='text' value="{{h.truncate(h.odsh_extract_value_from_extras(data.extras,'spatial'),20)}}" readonly /> + </div> {% else %} <div class="span6"> {{ form.input_extra(field, value=value, index=h.odsh_create_checksum(field), type='text', placeholder=_('Enter spatial uri')) }} diff --git a/ckanext/odsh/tests/test_upload.py b/ckanext/odsh/tests/test_upload.py index c7c8c2d3214223e9a322323d43664fc734659056..edf33229ee7c74f8ddcd7cbadcd146b26721c093 100644 --- a/ckanext/odsh/tests/test_upload.py +++ b/ckanext/odsh/tests/test_upload.py @@ -97,6 +97,26 @@ class TestUpload(helpers.FunctionalTestBase): # assert response.mustcontain('Manage Dataset') + response.mustcontain('module module-narrow dataset-map') + + @odsh_test() + def test_edit_valid_dataset(self): + # arrange + dataset = self._create_dataset() + + form = self._get_package_update_form(dataset['id']) + + # # act + # form[self._get_field_name('spatial_uri')] = '' + # response = self._submit_form(form) + + # # assert + # assert 'spatial_uri: empty not allowed' not in response + response = self._submit_and_follow_form(form) + + # assert + response.mustcontain('Manage Dataset') + response.mustcontain('module module-narrow dataset-map') @odsh_test() def test_upload_empty_wrong_date_temporal_start(self): @@ -149,6 +169,7 @@ class TestUpload(helpers.FunctionalTestBase): # assert assert_true('resource-edit' in response.forms) + # map enabled @odsh_test() def test_upload_license(self): diff --git a/ckanext/odsh/validation.py b/ckanext/odsh/validation.py index 099e92ee71337c66568a2e0656030ada5cf764f9..e50cbb4394ddbcc447a7fe87d200e738ba6019e6 100644 --- a/ckanext/odsh/validation.py +++ b/ckanext/odsh/validation.py @@ -158,9 +158,12 @@ def known_spatial_uri(key, data, errors, context): if not poly: poly = pkg.extras.get('spatial', None) if not poly or has_old_uri: - # pdb.set_trace() raise toolkit.Invalid('spatial_uri: empty not allowed') else: + if poly: + new_index = next_extra_index(data) + data[('extras', new_index+1, 'key')] = 'spatial' + data[('extras', new_index+1, 'value')] = poly return mapping_file = config.get('ckanext.odsh.spatial.mapping')