Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[#362,bugfix][s]: remove remaining reference to routing for old datas…
…tore (by removing api_data method in package controller). The ultimate change was reasonably substantial - removal of an entire method on a controller and associated template. It began simply with the need to remove/update reference this routing call in api_data method on package controller url = h.url_for('datastore_read', id=id, qualified=True) I spent about half an hour trying to understand if this method was used at all. I ultimately determined that we had a setup where clicking on the Data API button in the resource view had 2 possible effect routes: * Via href={url} => package.py/api_data method => template/package/resource_api_data.html => template/ajax_snippets/api_info.html * Via JS intercept of click => api/snippets controller => template/ajax_snippets/api_info.html But there was a subtle difference: the first route (which is *not* normally followed since JS is usally enabled) still uses the old datastore URL (this is why I'd started this investigation!). (Aside: this was hard to debug through the interface as JS is enabled and I note we do not have resource view tests so the non AJAX route is not tested). I first tried to correct this by setting the URL to the correct datastore API but then discovered other parameters were missing - it seems the signature of the call to ajax_snippets template has changed but that the relevant code in package/resource_data_api.html has not been updated: {% snippet 'ajax_snippets/api_info.html', datastore_root_url=datastore_root_url, embedded=true %} Rather than continue fixing I decided at this point to remove this non-AJAX fallback code in its entirety. Comment: this was a subtle bug that has crept in because there are now 2 ways to do something and one of these routes (the non-AJAX route) is almost never used ... I wonder whether it is necessary always to have both options (AJAX and non-AJAX) as it likely to multiply code complexity and, hence, these sort of bugs.
- Loading branch information