feat(projects): return a favorites pseudo project when the user has favorite tasks
This commit is contained in:
parent
b482664d82
commit
53b2ade5bb
@ -117,15 +117,6 @@ var SharedProjectsPseudoProject = &Project{
|
|||||||
Updated: time.Now(),
|
Updated: time.Now(),
|
||||||
}
|
}
|
||||||
|
|
||||||
// FavoriteProjectsPseudoProject is a pseudo parent project used to hold favorite projects and tasks
|
|
||||||
var FavoriteProjectsPseudoProject = &Project{
|
|
||||||
ID: -2,
|
|
||||||
Title: "Favorites",
|
|
||||||
Description: "Favorite projects and tasks.",
|
|
||||||
Created: time.Now(),
|
|
||||||
Updated: time.Now(),
|
|
||||||
}
|
|
||||||
|
|
||||||
// SavedFiltersPseudoProject is a pseudo parent project used to hold saved filters
|
// SavedFiltersPseudoProject is a pseudo parent project used to hold saved filters
|
||||||
var SavedFiltersPseudoProject = &Project{
|
var SavedFiltersPseudoProject = &Project{
|
||||||
ID: -3,
|
ID: -3,
|
||||||
@ -137,13 +128,13 @@ var SavedFiltersPseudoProject = &Project{
|
|||||||
|
|
||||||
// FavoritesPseudoProject holds all tasks marked as favorites
|
// FavoritesPseudoProject holds all tasks marked as favorites
|
||||||
var FavoritesPseudoProject = Project{
|
var FavoritesPseudoProject = Project{
|
||||||
ID: -1,
|
ID: -1,
|
||||||
Title: "Favorites",
|
Title: "Favorites",
|
||||||
Description: "This project has all tasks marked as favorites.",
|
Description: "This project has all tasks marked as favorites.",
|
||||||
ParentProjectID: FavoriteProjectsPseudoProject.ID,
|
IsFavorite: true,
|
||||||
IsFavorite: true,
|
Position: -1,
|
||||||
Created: time.Now(),
|
Created: time.Now(),
|
||||||
Updated: time.Now(),
|
Updated: time.Now(),
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReadAll gets all projects a user has access to
|
// ReadAll gets all projects a user has access to
|
||||||
@ -486,6 +477,22 @@ func getRawProjectsForUser(s *xorm.Session, opts *projectOptions) (projects []*P
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
favoriteCount, err := s.
|
||||||
|
Where(builder.And(
|
||||||
|
builder.Eq{"user_id": opts.user.ID},
|
||||||
|
builder.Eq{"kind": FavoriteKindTask},
|
||||||
|
)).
|
||||||
|
Count(&Favorite{})
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if favoriteCount > 0 {
|
||||||
|
favoritesProject := &Project{}
|
||||||
|
*favoritesProject = FavoritesPseudoProject
|
||||||
|
allProjects = append(allProjects, favoritesProject)
|
||||||
|
}
|
||||||
|
|
||||||
if len(allProjects) == 0 {
|
if len(allProjects) == 0 {
|
||||||
return nil, 0, totalItems, nil
|
return nil, 0, totalItems, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user