diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py index e5ac0b02f97c10f0f72a24837a2cf200b05edb48..e02d1151c8c820f560faf58faf0e41d8a905f0b2 100644 --- a/ckanext/odsh/plugin.py +++ b/ckanext/odsh/plugin.py @@ -80,13 +80,11 @@ class OdshPlugin(plugins.SingletonPlugin, DefaultTranslation, DefaultDatasetForm # Dashboard bp_dashboard = dashboard.blueprint bp_dashboard.add_url_rule( - u'/dashboard', view_func=dashboard.dashboard, strict_slashes=False, defaults={ - u'offset': 0 - }) + u'/dashboard/datasets', view_func=dashboard.datasets) bp_dashboard.add_url_rule( - u'/dashboard/datasets', view_func=dashboard.dashboard_datasets) + u'/dashboard/organizations', view_func=dashboard.organizations) bp_dashboard.add_url_rule( - u'/dashboard/<int:offset>', view_func=dashboard.dashboard) + u'/dashboard/groups', view_func=dashboard.groups) # Harvest bp_harvest = harvest.blueprint diff --git a/ckanext/odsh/views/dashboard.py b/ckanext/odsh/views/dashboard.py index 3aa1736bf7ce0eb7583765d24ebcbf7a49b113a9..dceebe4467457ba8648237e92afe62983a4cfb6a 100644 --- a/ckanext/odsh/views/dashboard.py +++ b/ckanext/odsh/views/dashboard.py @@ -1,31 +1,27 @@ -import ckan.plugins.toolkit as toolkit import ckan.authz as authz -import ckan.logic as logic +import ckan.lib.helpers as h from ckan.common import g from flask import Blueprint -from ckan.views.dashboard import index +from ckan.views.dashboard import datasets, organizations, groups import logging log = logging.getLogger(__name__) -blueprint = Blueprint('odsh_dashboard', __name__) +blueprint = Blueprint(u'odsh_dashboard', __name__) - -def dashboard(offset=0): - log.debug("views.dashboard::dashboard") +@blueprint.before_request +def before_request() -> None: is_sysadmin = authz.is_sysadmin(g.user) - if not is_sysadmin: - toolkit.abort(403) - - return index(offset) + h.flash_error(_(u'Not authorized to see this page')) + return h.redirect_to(u'user.login') + return None +def datasets(): + return datasets() -def dashboard_datasets(): - log.debug("views.dashboard::dashboard_datasets") - is_sysadmin = authz.is_sysadmin(g.user) - - if not is_sysadmin: - toolkit.abort(403) +def organizations(): + return organizations() - return index() +def groups(): + return groups()