def generate(self, env, kwargs): restriction_statuses = RestrictionRegistry.get_restrictions_statuses(self.restrictions, env, kwargs) menu = [] for menu_entry in self.entries: if all((restriction_statuses.get(restriction) for restriction in menu_entry.restrictions)): menu_entry.update_url(kwargs) menu.append(menu_entry) return menu
def proxy(**view_args): can_proceed = RestrictionRegistry.can_proceed(restrictions or [], env, view_args) if not can_proceed: flask.abort(403) view_args = self.create_context(env, view_args) if not isinstance(view_args, dict): return view_args response = self.call_view_method(env, view_args) if isinstance(response, dict): view_args.update(response) response = None response = self.process_response(response, view_args) return response