Example #1
0
 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
Example #2
0
 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