From 30089d1d9dd35e23a45992f6bb5a776f6f732868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 4 Feb 2016 15:41:38 +0100 Subject: [PATCH] fixup 9210 --- wcs/wf/roles.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/wcs/wf/roles.py b/wcs/wf/roles.py index e83a595..097ebf9 100644 --- a/wcs/wf/roles.py +++ b/wcs/wf/roles.py @@ -16,6 +16,7 @@ import urlparse import urllib +import sys from quixote import get_request, get_publisher, get_response from qommon.form import * @@ -27,9 +28,15 @@ from qommon.publisher import get_cfg, get_logger from wcs.api import sign_url +class MissingSecret(Exception): + pass + + def get_secret(url): domain = urlparse.urlparse(url).netloc.split(':')[0] - secret = get_publisher().get_site_option(domain, 'api-secrets') + secret = get_publisher().get_site_option(domain, 'wscall-secrets') + if not secret: + raise MissingSecret() return secret @@ -95,7 +102,11 @@ class AddRoleWorkflowStatusItem(WorkflowStatusItem): role = Role.get(self.role_id) role_uuid = role.slug user_uuid = user.name_identifiers[0] - url = roles_ws_url(role_uuid, user_uuid) + try: + url = roles_ws_url(role_uuid, user_uuid) + except MissingSecret: + get_publisher().notify_of_exception(sys.exc_info(), context='[ROLES]') + return def after_job(job): response, status, data, auth_header = http_post_request(url) if status != 201: @@ -149,7 +160,11 @@ class RemoveRoleWorkflowStatusItem(WorkflowStatusItem): role = Role.get(self.role_id) role_uuid = role.slug user_uuid = user.name_identifiers[0] - url = roles_ws_url(role_uuid, user_uuid) + try: + url = roles_ws_url(role_uuid, user_uuid) + except MissingSecret: + get_publisher().notify_of_exception(sys.exc_info(), context='[ROLES]') + return def after_job(job): response, status, data, auth_header = http_delete_request(url) if status != 200: -- 2.7.0