diff --git a/pkg/models/prject.go b/pkg/models/prject.go index 918c487da..f59deff3f 100644 --- a/pkg/models/prject.go +++ b/pkg/models/prject.go @@ -453,7 +453,7 @@ func getRawProjectsForUser(s *xorm.Session, opts *projectOptions) (projects map[ return projects, len(allProjects), totalItems, err } -func getSavedFilterProjects(s *xorm.Session, doer *user.User) (savedFiltersNamespace *Project, err error) { +func getSavedFilterProjects(s *xorm.Session, doer *user.User) (savedFiltersProject *Project, err error) { savedFilters, err := getSavedFiltersForUser(s, doer) if err != nil { return @@ -463,16 +463,16 @@ func getSavedFilterProjects(s *xorm.Session, doer *user.User) (savedFiltersNames return nil, nil } - savedFiltersPseudoNamespace := SavedFiltersPseudoProject - savedFiltersPseudoNamespace.OwnerID = doer.ID - *savedFiltersNamespace = *savedFiltersPseudoNamespace - savedFiltersNamespace.ChildProjects = make([]*Project, 0, len(savedFilters)) + savedFiltersPseudoParentProject := SavedFiltersPseudoProject + savedFiltersPseudoParentProject.OwnerID = doer.ID + *savedFiltersProject = *savedFiltersPseudoParentProject + savedFiltersProject.ChildProjects = make([]*Project, 0, len(savedFilters)) for _, filter := range savedFilters { filterProject := filter.toProject() - filterProject.ParentProjectID = savedFiltersNamespace.ID + filterProject.ParentProjectID = savedFiltersProject.ID filterProject.Owner = doer - savedFiltersNamespace.ChildProjects = append(savedFiltersNamespace.ChildProjects, filterProject) + savedFiltersProject.ChildProjects = append(savedFiltersProject.ChildProjects, filterProject) } return @@ -679,7 +679,7 @@ func UpdateProject(s *xorm.Session, project *Project, auth web.Auth, updateProje "is_archived", "identifier", "hex_color", - "namespace_id", + "parent_project_id", "position", } if project.Description != "" { @@ -786,18 +786,17 @@ func updateProjectByTaskID(s *xorm.Session, taskID int64) (err error) { // Create implements the create method of CRUDable // @Summary Creates a new project -// @Description Creates a new project in a given namespace. The user needs write-access to the namespace. +// @Description Creates a new project. If a parent project is provided the user needs to have write access to that project. // @tags project // @Accept json // @Produce json // @Security JWTKeyAuth -// @Param namespaceID path int true "Namespace ID" // @Param project body models.Project true "The project you want to create." // @Success 201 {object} models.Project "The created project." // @Failure 400 {object} web.HTTPError "Invalid project object provided." // @Failure 403 {object} web.HTTPError "The user does not have access to the project" // @Failure 500 {object} models.Message "Internal error" -// @Router /namespaces/{namespaceID}/projects [put] +// @Router /projects [put] func (p *Project) Create(s *xorm.Session, a web.Auth) (err error) { err = CreateProject(s, p, a) if err != nil {