diff --git a/internal/repository/tags.go b/internal/repository/tags.go index d1179ad..549d4b0 100644 --- a/internal/repository/tags.go +++ b/internal/repository/tags.go @@ -82,7 +82,7 @@ func (r *JobRepository) CountTags(user *string, project *string) (tags []schema. q = q.Where("jt.job_id IN (SELECT id FROM job WHERE job.user = ?)", *user) } else if (user != nil && project != nil) { // MANAGER: Count own jobs plus project's jobs q = q.Where("jt.job_id IN (SELECT id FROM job WHERE job.user = ? OR job.project = ?)", *user, *project) - } // else: ADMIN: Count all jobs + } // else: ADMIN || SUPPORT: Count all jobs rows, err := q.RunWith(r.stmtCache).Query() if err != nil { diff --git a/internal/routerConfig/routes.go b/internal/routerConfig/routes.go index b842a98..8f83f6e 100644 --- a/internal/routerConfig/routes.go +++ b/internal/routerConfig/routes.go @@ -149,12 +149,12 @@ func setupTaglistRoute(i InfoType, r *http.Request) InfoType { jobRepo := repository.GetJobRepository() user := auth.GetUser(r.Context()) - if (user != nil && user.HasNotRoles([]string{auth.RoleAdmin, auth.RoleManager})) { + if (user != nil && user.HasNotRoles([]string{auth.RoleAdmin, auth.RoleSupport, auth.RoleManager})) { username = &user.Username } else if (user != nil && user.HasRole(auth.RoleManager)) { username = &user.Username project = &user.Project - } + } // ADMINS && SUPPORT w/o additional conditions tags, counts, err := jobRepo.CountTags(username, project) tagMap := make(map[string][]map[string]interface{})