mirror of
				https://github.com/ClusterCockpit/cc-backend
				synced 2025-11-04 09:35:07 +01:00 
			
		
		
		
	@@ -301,15 +301,15 @@ func main() {
 | 
				
			|||||||
			splitSearch := strings.Split(search, ":")
 | 
								splitSearch := strings.Split(search, ":")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (len(splitSearch) == 2) {
 | 
								if (len(splitSearch) == 2) {
 | 
				
			||||||
				switch splitSearch[0] {
 | 
									switch strings.Trim(splitSearch[0], " ") {
 | 
				
			||||||
		    case "jobId":
 | 
							    case "jobId":
 | 
				
			||||||
					http.Redirect(rw, r, "/monitoring/jobs/?jobId="+url.QueryEscape(splitSearch[1]), http.StatusTemporaryRedirect) // All Users: Redirect to Tablequery
 | 
										http.Redirect(rw, r, "/monitoring/jobs/?jobId="+url.QueryEscape(strings.Trim(splitSearch[1], " ")), http.StatusTemporaryRedirect) // All Users: Redirect to Tablequery
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
		    case "jobName":
 | 
							    case "jobName":
 | 
				
			||||||
					http.Redirect(rw, r, "/monitoring/jobs/?jobName="+url.QueryEscape(splitSearch[1]), http.StatusTemporaryRedirect) // All Users: Redirect to Tablequery
 | 
										http.Redirect(rw, r, "/monitoring/jobs/?jobName="+url.QueryEscape(strings.Trim(splitSearch[1], " ")), http.StatusTemporaryRedirect) // All Users: Redirect to Tablequery
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
		    case "projectId":
 | 
							    case "projectId":
 | 
				
			||||||
					project, _ := api.JobRepository.FindProject(r.Context(), splitSearch[1]) // Restricted: projectId
 | 
										project, _ := api.JobRepository.FindProject(r.Context(), strings.Trim(splitSearch[1], " ")) // Restricted: projectId
 | 
				
			||||||
					if project != "" {
 | 
										if project != "" {
 | 
				
			||||||
						http.Redirect(rw, r, "/monitoring/jobs/?projectMatch=eq&project="+url.QueryEscape(project), http.StatusTemporaryRedirect)
 | 
											http.Redirect(rw, r, "/monitoring/jobs/?projectMatch=eq&project="+url.QueryEscape(project), http.StatusTemporaryRedirect)
 | 
				
			||||||
						return
 | 
											return
 | 
				
			||||||
@@ -317,7 +317,7 @@ func main() {
 | 
				
			|||||||
						http.Redirect(rw, r, "/monitoring/jobs/?jobId=NotFound", http.StatusTemporaryRedirect) // Workaround to display correctly empty table
 | 
											http.Redirect(rw, r, "/monitoring/jobs/?jobId=NotFound", http.StatusTemporaryRedirect) // Workaround to display correctly empty table
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				case "username":
 | 
									case "username":
 | 
				
			||||||
					username, _ := api.JobRepository.FindUser(r.Context(), splitSearch[1]) // Restricted: username
 | 
										username, _ := api.JobRepository.FindUser(r.Context(), strings.Trim(splitSearch[1], " ")) // Restricted: username
 | 
				
			||||||
					if username != "" {
 | 
										if username != "" {
 | 
				
			||||||
						http.Redirect(rw, r, "/monitoring/user/"+username, http.StatusTemporaryRedirect)
 | 
											http.Redirect(rw, r, "/monitoring/user/"+username, http.StatusTemporaryRedirect)
 | 
				
			||||||
						return
 | 
											return
 | 
				
			||||||
@@ -329,7 +329,7 @@ func main() {
 | 
				
			|||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			} else if (len(splitSearch) == 1) {
 | 
								} else if (len(splitSearch) == 1) {
 | 
				
			||||||
				jobname, username, project, err := api.JobRepository.FindJobnameOrUserOrProject(r.Context(), search) // Determine Access within
 | 
									jobname, username, project, err := api.JobRepository.FindJobnameOrUserOrProject(r.Context(), strings.Trim(search, " ")) // Determine Access within
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				if err != nil {
 | 
									if err != nil {
 | 
				
			||||||
					http.Error(rw, err.Error(), http.StatusInternalServerError)
 | 
										http.Error(rw, err.Error(), http.StatusInternalServerError)
 | 
				
			||||||
@@ -340,13 +340,13 @@ func main() {
 | 
				
			|||||||
					http.Redirect(rw, r, "/monitoring/user/"+username, http.StatusTemporaryRedirect) // User: Redirect to user page
 | 
										http.Redirect(rw, r, "/monitoring/user/"+username, http.StatusTemporaryRedirect) // User: Redirect to user page
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				} else if (project != "") {
 | 
									} else if (project != "") {
 | 
				
			||||||
					http.Redirect(rw, r, "/monitoring/jobs/?projectMatch=eq&project="+url.QueryEscape(search), http.StatusTemporaryRedirect) // projectId (equal)
 | 
										http.Redirect(rw, r, "/monitoring/jobs/?projectMatch=eq&project="+url.QueryEscape(strings.Trim(search, " ")), http.StatusTemporaryRedirect) // projectId (equal)
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				} else if (jobname != "") {
 | 
									} else if (jobname != "") {
 | 
				
			||||||
					http.Redirect(rw, r, "/monitoring/jobs/?jobName="+url.QueryEscape(search), http.StatusTemporaryRedirect) // JobName (contains)
 | 
										http.Redirect(rw, r, "/monitoring/jobs/?jobName="+url.QueryEscape(strings.Trim(search, " ")), http.StatusTemporaryRedirect) // JobName (contains)
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				} else {
 | 
									} else {
 | 
				
			||||||
					http.Redirect(rw, r, "/monitoring/jobs/?jobId="+url.QueryEscape(search), http.StatusTemporaryRedirect) // No Result: Probably jobId
 | 
										http.Redirect(rw, r, "/monitoring/jobs/?jobId="+url.QueryEscape(strings.Trim(search, " ")), http.StatusTemporaryRedirect) // No Result: Probably jobId
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user