test action moved role check to register disvoer changed to prediscover

This commit is contained in:
Jakub Trllo 2019-02-22 15:36:34 +01:00
parent c6bf0f6e3c
commit 12e2e30aa1

View file

@ -1,5 +1,3 @@
# :coding: utf-8
# :copyright: Copyright (c) 2017 ftrack
import sys
import argparse
import logging
@ -28,19 +26,10 @@ class TestAction(BaseAction):
#: priority
priority = 10000
def discover(self, session, entities, event):
def prediscover(self, session, entities, event):
''' Validation '''
discover = False
roleList = ['Pypeclub']
userId = event['source']['user']['id']
user = session.query('User where id is ' + userId).one()
for role in user['user_security_roles']:
if role['security_role']['name'] in roleList:
discover = True
break
return discover
return True
def launch(self, session, entities, event):
self.log.info(event)
@ -54,8 +43,23 @@ def register(session, **kw):
if not isinstance(session, ftrack_api.session.Session):
return
action_handler = TestAction(session)
action_handler.register()
roleList = ['Pypeclub']
username = session.api_user
user = session.query('User where username is "{}"'.format(username)).one()
available = False
for role in user['user_security_roles']:
if role['security_role']['name'] in roleList:
available = True
break
if available is True:
TestAction(session).register()
else:
logging.info(
"!!! You're missing required permissions for action {}".format(
TestAction.__name__
)
)
def main(arguments=None):