From c327f4add69e04c254bc54a5292e46a7d635c602 Mon Sep 17 00:00:00 2001 From: Thorge Petersen <petersen@rz.uni-kiel.de> Date: Mon, 10 Jul 2023 11:00:56 +0200 Subject: [PATCH] Updated url routes for dashboard --- ckanext/odsh/plugin.py | 8 +++----- ckanext/odsh/views/dashboard.py | 32 ++++++++++++++------------------ 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/ckanext/odsh/plugin.py b/ckanext/odsh/plugin.py index e5ac0b02..e02d1151 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 3aa1736b..dceebe44 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() -- GitLab