Exemple #1
0
def is_customer_user_allowed_to_login(user_id: UserId) -> bool:
    if not cmk_version.is_managed_edition():
        return True

    user = config.LoggedInUser(user_id)

    import cmk.gui.cme.managed as managed  # pylint: disable=no-name-in-module
    if managed.is_global(user.customer_id):
        return True

    return managed.is_current_customer(user.customer_id)
Exemple #2
0
def monitoring_user(tmp_path, mocker):
    """Returns a "Normal monitoring user" object."""
    config_dir = tmp_path / 'config_dir'
    user_dir = config_dir / 'test'
    user_dir.mkdir(parents=True)
    user_dir.joinpath('cached_profile.mk').write_text(str(MONITORING_USER_CACHED_PROFILE))
    # SITE STATUS snapin settings:
    user_dir.joinpath('siteconfig.mk').write_text(str(MONITORING_USER_SITECONFIG))
    # Ordering of the buttons:
    user_dir.joinpath('buttoncounts.mk').write_text(str(MONITORING_USER_BUTTONCOUNTS))
    # Favorites set in the commands menu:
    user_dir.joinpath('favorites.mk').write_text(str(MONITORING_USER_FAVORITES))

    mocker.patch.object(config, 'config_dir', str(config_dir))
    mocker.patch.object(config, 'roles_of_user', lambda user_id: ['user'])

    assert config.builtin_role_ids == ['user', 'admin', 'guest']
    assert 'test' not in config.admin_users

    return config.LoggedInUser('test')
Exemple #3
0
def load_cached_profile(user_id: UserId) -> Optional[UserSpec]:
    user = config.LoggedInUser(
        user_id) if user_id != config.user.id else config.user
    return user.load_file("cached_profile", None)