Files
Atay-Makhzan/models/repo/issue.go
T

73 lines
2.7 KiB
Go
Raw Normal View History

2017-09-12 08:48:13 +02:00
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package repo
2017-09-12 08:48:13 +02:00
2021-11-10 03:57:58 +08:00
import (
"context"
"code.gitea.io/gitea/models/db"
2021-11-10 03:57:58 +08:00
"code.gitea.io/gitea/models/unit"
"code.gitea.io/gitea/modules/log"
2021-11-10 03:57:58 +08:00
"code.gitea.io/gitea/modules/setting"
)
2017-09-12 08:48:13 +02:00
// ___________.__ ___________ __
// \__ ___/|__| _____ ___\__ ___/___________ ____ | | __ ___________
// | | | |/ \_/ __ \| | \_ __ \__ \ _/ ___\| |/ // __ \_ __ \
// | | | | Y Y \ ___/| | | | \// __ \\ \___| <\ ___/| | \/
// |____| |__|__|_| /\___ >____| |__| (____ /\___ >__|_ \\___ >__|
// \/ \/ \/ \/ \/ \/
// CanEnableTimetracker returns true when the server admin enabled time tracking
// This overrules IsTimetrackerEnabled
func (repo *Repository) CanEnableTimetracker() bool {
return setting.Service.EnableTimetracking
}
2017-09-12 08:48:13 +02:00
// IsTimetrackerEnabled returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs.
func (repo *Repository) IsTimetrackerEnabled() bool {
2021-12-13 22:59:39 +00:00
return repo.IsTimetrackerEnabledCtx(db.DefaultContext)
}
// IsTimetrackerEnabledCtx returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs.
func (repo *Repository) IsTimetrackerEnabledCtx(ctx context.Context) bool {
if !setting.Service.EnableTimetracking {
return false
}
2017-09-12 08:48:13 +02:00
var u *RepoUnit
var err error
2021-12-13 22:59:39 +00:00
if u, err = repo.GetUnitCtx(ctx, unit.TypeIssues); err != nil {
2017-09-12 08:48:13 +02:00
return setting.Service.DefaultEnableTimetracking
}
return u.IssuesConfig().EnableTimetracker
}
// AllowOnlyContributorsToTrackTime returns value of IssuesConfig or the default value
func (repo *Repository) AllowOnlyContributorsToTrackTime() bool {
var u *RepoUnit
var err error
2021-11-10 03:57:58 +08:00
if u, err = repo.GetUnit(unit.TypeIssues); err != nil {
2017-09-12 08:48:13 +02:00
return setting.Service.DefaultAllowOnlyContributorsToTrackTime
}
return u.IssuesConfig().AllowOnlyContributorsToTrackTime
}
// IsDependenciesEnabled returns if dependencies are enabled and returns the default setting if not set.
func (repo *Repository) IsDependenciesEnabled() bool {
return repo.IsDependenciesEnabledCtx(db.DefaultContext)
}
// IsDependenciesEnabledCtx returns if dependencies are enabled and returns the default setting if not set.
func (repo *Repository) IsDependenciesEnabledCtx(ctx context.Context) bool {
var u *RepoUnit
var err error
2021-12-13 22:59:39 +00:00
if u, err = repo.GetUnitCtx(ctx, unit.TypeIssues); err != nil {
log.Trace("%s", err)
return setting.Service.DefaultEnableDependencies
}
return u.IssuesConfig().EnableDependencies
}