diff options
Diffstat (limited to 'modules/context/repo.go')
-rw-r--r-- | modules/context/repo.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/modules/context/repo.go b/modules/context/repo.go index ce65bfd045..788588f8e4 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -573,7 +573,7 @@ func LoadRepoUnits() macaron.Handler { } } -// CheckUnit will check whether +// CheckUnit will check whether unit type is enabled func CheckUnit(unitType models.UnitType) macaron.Handler { return func(ctx *Context) { if !ctx.Repo.Repository.UnitEnabled(unitType) { @@ -582,6 +582,15 @@ func CheckUnit(unitType models.UnitType) macaron.Handler { } } +// CheckAnyUnit will check whether any of the unit types are enabled +func CheckAnyUnit(unitTypes ...models.UnitType) macaron.Handler { + return func(ctx *Context) { + if !ctx.Repo.Repository.AnyUnitEnabled(unitTypes...) { + ctx.Handle(404, "CheckAnyUnit", fmt.Errorf("%s: %v", ctx.Tr("units.error.unit_not_allowed"), unitTypes)) + } + } +} + // GitHookService checks if repository Git hooks service has been enabled. func GitHookService() macaron.Handler { return func(ctx *Context) { |