You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

issue.go 2.1KB

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