diff --git a/src/common/utils/utils.go b/src/common/utils/utils.go index 4e930514e..b07e1ff83 100644 --- a/src/common/utils/utils.go +++ b/src/common/utils/utils.go @@ -53,7 +53,7 @@ func ParseRepository(repository string) (project, rest string) { rest = repository return } - index := strings.LastIndex(repository, "/") + index := strings.Index(repository, "/") project = repository[0:index] rest = repository[index+1:] return diff --git a/src/common/utils/utils_test.go b/src/common/utils/utils_test.go index cdef47de1..e0cf38c1f 100644 --- a/src/common/utils/utils_test.go +++ b/src/common/utils/utils_test.go @@ -65,10 +65,10 @@ func TestParseRepository(t *testing.T) { repository = "library/test/ubuntu" project, rest = ParseRepository(repository) - if project != "library/test" { + if project != "library" { t.Errorf("unexpected project: %s != %s", project, "library/test") } - if rest != "ubuntu" { + if rest != "test/ubuntu" { t.Errorf("unexpected rest: %s != %s", rest, "ubuntu") } diff --git a/src/ui/api/utils.go b/src/ui/api/utils.go index 185db1f18..207a2e1cb 100644 --- a/src/ui/api/utils.go +++ b/src/ui/api/utils.go @@ -151,7 +151,7 @@ func TriggerReplication(policyID int64, repository string, func GetPoliciesByRepository(repository string) ([]*models.RepPolicy, error) { repository = strings.TrimSpace(repository) repository = strings.TrimRight(repository, "/") - projectName := repository[:strings.LastIndex(repository, "/")] + projectName, _ := utils.ParseRepository(repository) project, err := dao.GetProjectByName(projectName) if err != nil {