Exemplo n.º 1
0
 def test_has_profile(self):
     self.assertFalse(User.has_profile(None, None),
                      'None user and profile should not have any profile')
     self.assertFalse(User.has_profile('', []),
                      'Empty user and profile should not have any profile')
     self.assertFalse(User.has_profile('', [constants.PROFILE_ADMIN]),
                      'Non existing user should not have profiles')
     user = User(email='*****@*****.**', profiles=[
         constants.PROFILE_ADMIN
     ])
     user_key = user.put()
     self.assertTrue(User.has_profile(
         '*****@*****.**', [constants.PROFILE_ADMIN]
     ), 'Profiles have been assigned')
     user_key.delete()
Exemplo n.º 2
0
def before_request():
    if request.path == url_for('warmup'):
        return
    user = users.get_current_user()
    if user:
        g.logout_text = 'Salir'
        g.url_logout = users.create_logout_url(url_for('admin_index'))
        g.user_email = user.email()
    else:
        g.logout_text = 'Iniciar sesión'
        g.url_logout = users.create_login_url(url_for('admin_index'))
        g.user_email = None
    g.menu = []
    for endpoint, name, allowed_roles in constants.MENU_ITEMS:
        user_allowed = User.has_profile(g.user_email, allowed_roles)
        if user_allowed:
            g.menu.append({
                'is_active': request.path == url_for(endpoint),
                'url': url_for(endpoint),
                'name': name,
            })
Exemplo n.º 3
0
        def inner_decorator(*args, **kwargs):
            if(IS_TEST):
                return func(*args, **kwargs)

            roles_to_evaludate = [role] if role else roles if roles else []

            logging.info("roles to evaluate [%s]", roles_to_evaludate)
            user_email = args[1].get_unrecognized_field_info(
                'authenticated_user'
            )[0]

            if not user_email:
                if hasattr(args[1],'authenticated_user'):
                    user_email = args[1].authenticated_user

            logging.info("user to evaluate [%s]", user_email)

            if user_email and User.has_profile(user_email, roles_to_evaludate):
                return func(*args, **kwargs)
            else:
                raise endpoints.ForbiddenException(UNAUTHORIZED_USER)