from unfold.plugin import Plugin class TopmenuValidation (Plugin): """This plugin is designed to work together with topmenu. It will check to see if user has PI rights at least on one authority, and if so will enable corresponding validation button in topmenu. A realistic example would have incoming query as Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') """ def __init__ (self, query=None, button_domid=None, **settings): Plugin.__init__ (self, **settings) # set defaults if query is None: query = Query.get('ple:user').filter_by('user_hrn', '==', '$user_hrn').select('pi_authorities') if button_domid is None: button_domid="topmenu-validate" self.query=query self.button_domid=button_domid # this does not have any materialization def render_content (self, request): return "" def requirements (self): return { 'js_files': [ 'js/topmenuvalidation.js', 'js/manifold-query.js', "js/spin-presets.js", "js/spin.min.js", "js/jquery.spin.js", ], } def json_settings_list (self): return [ 'query_uuid', 'button_domid', ]