mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
test action moved role check to register disvoer changed to prediscover
This commit is contained in:
parent
c6bf0f6e3c
commit
12e2e30aa1
1 changed files with 19 additions and 15 deletions
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue