diff --git a/pori_python/ipr/connection.py b/pori_python/ipr/connection.py index 70eaf26..317ae90 100644 --- a/pori_python/ipr/connection.py +++ b/pori_python/ipr/connection.py @@ -107,6 +107,10 @@ def upload_report( projects = self.get('project') project_names = [item['name'] for item in projects] + project_users = { + item['name']: [user['username'] for user in item.get('users', [])] + for item in projects + } # if project is not exist, create one if content['project'] not in project_names: @@ -118,6 +122,11 @@ def upload_report( except Exception as err: raise Exception(f'Project creation failed due to {err}') + if self.username not in project_users[content['project']]: + raise Exception( + f'User have no permission to create report in project {content["project"]}' + ) + if ignore_extra_fields: initial_result = self.post('reports-async?ignore_extra_fields=true', content) else: