def is_permitted(self, url: str) -> bool: file_name, query_vars = file_name_and_query_vars_from_url(url) self._set_query_vars(query_vars) try: with RequestContext(html_obj=html(self._request), req=self._request): with UserContext(self._user_id): page_handler = get_page_handler(file_name) if page_handler: page_handler() return True except MKAuthException: return False
def is_permitted(self, url: str) -> bool: is_host_url = "mode=edit_host" in url file_name, query_vars = file_name_and_query_vars_from_url(url) self._set_query_vars(query_vars) try: with AppContext(current_app), \ RequestContext(html_obj=html(self._request), req=self._request), \ UserContext(self._user_id): if is_host_url: self._try_host() else: self._try_page(file_name) return True except MKAuthException: return False
def is_permitted(self, url: str) -> bool: file_name, query_vars = file_name_and_query_vars_from_url(url) self._set_query_vars(query_vars) is_host_url = "mode=edit_host" in url if is_host_url: self._set_current_folder(query_vars.get("folder", [""])[0]) # "" means root dir try: if is_host_url: self._try_host() else: self._try_page(file_name) return True except MKAuthException: return False
def _permissions_rule(url: str) -> bool: _, query_vars = file_name_and_query_vars_from_url(url) return may_edit_ruleset(query_vars['varname'][0])