code.gitea.io/gitea@v1.22.3/models/repo/issue.go (about) 1 // Copyright 2017 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package repo 5 6 import ( 7 "context" 8 9 "code.gitea.io/gitea/models/unit" 10 "code.gitea.io/gitea/modules/log" 11 "code.gitea.io/gitea/modules/setting" 12 ) 13 14 // ___________.__ ___________ __ 15 // \__ ___/|__| _____ ___\__ ___/___________ ____ | | __ ___________ 16 // | | | |/ \_/ __ \| | \_ __ \__ \ _/ ___\| |/ // __ \_ __ \ 17 // | | | | Y Y \ ___/| | | | \// __ \\ \___| <\ ___/| | \/ 18 // |____| |__|__|_| /\___ >____| |__| (____ /\___ >__|_ \\___ >__| 19 // \/ \/ \/ \/ \/ \/ 20 21 // CanEnableTimetracker returns true when the server admin enabled time tracking 22 // This overrules IsTimetrackerEnabled 23 func (repo *Repository) CanEnableTimetracker() bool { 24 return setting.Service.EnableTimetracking 25 } 26 27 // IsTimetrackerEnabled returns whether or not the timetracker is enabled. It returns the default value from config if an error occurs. 28 func (repo *Repository) IsTimetrackerEnabled(ctx context.Context) bool { 29 if !setting.Service.EnableTimetracking { 30 return false 31 } 32 33 var u *RepoUnit 34 var err error 35 if u, err = repo.GetUnit(ctx, unit.TypeIssues); err != nil { 36 return setting.Service.DefaultEnableTimetracking 37 } 38 return u.IssuesConfig().EnableTimetracker 39 } 40 41 // AllowOnlyContributorsToTrackTime returns value of IssuesConfig or the default value 42 func (repo *Repository) AllowOnlyContributorsToTrackTime(ctx context.Context) bool { 43 var u *RepoUnit 44 var err error 45 if u, err = repo.GetUnit(ctx, unit.TypeIssues); err != nil { 46 return setting.Service.DefaultAllowOnlyContributorsToTrackTime 47 } 48 return u.IssuesConfig().AllowOnlyContributorsToTrackTime 49 } 50 51 // IsDependenciesEnabled returns if dependencies are enabled and returns the default setting if not set. 52 func (repo *Repository) IsDependenciesEnabled(ctx context.Context) bool { 53 var u *RepoUnit 54 var err error 55 if u, err = repo.GetUnit(ctx, unit.TypeIssues); err != nil { 56 log.Trace("IsDependenciesEnabled: %v", err) 57 return setting.Service.DefaultEnableDependencies 58 } 59 return u.IssuesConfig().EnableDependencies 60 }