From 3269c9b3a7b59b8187a5c705790948e3d80c7033 Mon Sep 17 00:00:00 2001 From: Michael Derynck Date: Mon, 26 Aug 2024 16:28:38 -0600 Subject: [PATCH] Fix incorrect IDs being used to lookup user permissions during sync (#4931) # What this PR does - Fixes ID being used to lookup user permissions during sync. - Reduce level on overly chatty log message ## Which issue(s) this PR closes Related to [issue link here] ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] Added the relevant release notes label (see labels prefixed w/ `release:`). These labels dictate how your PR will show up in the autogenerated release notes. --- grafana-plugin/pkg/plugin/settings.go | 4 ++-- grafana-plugin/pkg/plugin/users.go | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/grafana-plugin/pkg/plugin/settings.go b/grafana-plugin/pkg/plugin/settings.go index d896b3fd7f..9a3654dd5b 100644 --- a/grafana-plugin/pkg/plugin/settings.go +++ b/grafana-plugin/pkg/plugin/settings.go @@ -168,9 +168,9 @@ func (a *App) OnCallSettingsFromContext(ctx context.Context) (*OnCallPluginSetti return &settings, fmt.Errorf("get GrafanaURL from provisioning failed (not set in jsonData), unable to fallback to grafana cfg") } settings.GrafanaURL = appUrl - log.DefaultLogger.Info(fmt.Sprintf("Using Grafana URL from grafana cfg app url: %s", settings.GrafanaURL)) + log.DefaultLogger.Debug(fmt.Sprintf("Using Grafana URL from grafana cfg app url: %s", settings.GrafanaURL)) } else { - log.DefaultLogger.Info(fmt.Sprintf("Using Grafana URL from provisioning: %s", settings.GrafanaURL)) + log.DefaultLogger.Debug(fmt.Sprintf("Using Grafana URL from provisioning: %s", settings.GrafanaURL)) } settings.RBACEnabled = cfg.FeatureToggles().IsEnabled("accessControlOnCall") diff --git a/grafana-plugin/pkg/plugin/users.go b/grafana-plugin/pkg/plugin/users.go index e4bec0f2f5..99aa97db4a 100644 --- a/grafana-plugin/pkg/plugin/users.go +++ b/grafana-plugin/pkg/plugin/users.go @@ -7,6 +7,7 @@ import ( "net/http" "net/url" "sort" + "strconv" "sync" "sync/atomic" "time" @@ -264,14 +265,15 @@ func (a *App) GetAllUsersWithPermissions(settings *OnCallPluginSettings) ([]OnCa return nil, err } for i := range onCallUsers { - actions, exists := permissions["1"] + userId := strconv.Itoa(onCallUsers[i].ID) + actions, exists := permissions[userId] if exists { onCallUsers[i].Permissions = []OnCallPermission{} for action, _ := range actions { onCallUsers[i].Permissions = append(onCallUsers[i].Permissions, OnCallPermission{Action: action}) } } else { - log.DefaultLogger.Error("Did not find permissions for user", "user", onCallUsers[i].Login) + log.DefaultLogger.Error("Did not find permissions for user", "user", onCallUsers[i].Login, "id", userId) } } }