Merge pull request 'Repository settings refactor' (#2221) from algernon/forgejo:repo-units/ui-refactor into forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2221 Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org>
This commit is contained in:
commit
05eaf1cf3e
15 changed files with 791 additions and 510 deletions
|
@ -108,6 +108,10 @@ var (
|
|||
|
||||
// DisabledRepoUnits contains the units that have been globally disabled
|
||||
DisabledRepoUnits = []Type{}
|
||||
|
||||
// AllowedRepoUnitGroups contains the units that have been globally enabled,
|
||||
// with mutually exclusive units grouped together.
|
||||
AllowedRepoUnitGroups = [][]Type{}
|
||||
)
|
||||
|
||||
// Get valid set of default repository units from settings
|
||||
|
@ -162,6 +166,45 @@ func LoadUnitConfig() error {
|
|||
if len(DefaultForkRepoUnits) == 0 {
|
||||
return errors.New("no default fork repository units found")
|
||||
}
|
||||
|
||||
// Collect the allowed repo unit groups. Mutually exclusive units are
|
||||
// grouped together.
|
||||
AllowedRepoUnitGroups = [][]Type{}
|
||||
for _, unit := range []Type{
|
||||
TypeCode,
|
||||
TypePullRequests,
|
||||
TypeProjects,
|
||||
TypePackages,
|
||||
TypeActions,
|
||||
} {
|
||||
// If unit is globally disabled, ignore it.
|
||||
if unit.UnitGlobalDisabled() {
|
||||
continue
|
||||
}
|
||||
|
||||
// If it is allowed, add it to the group list.
|
||||
AllowedRepoUnitGroups = append(AllowedRepoUnitGroups, []Type{unit})
|
||||
}
|
||||
|
||||
addMutuallyExclusiveGroup := func(unit1, unit2 Type) {
|
||||
var list []Type
|
||||
|
||||
if !unit1.UnitGlobalDisabled() {
|
||||
list = append(list, unit1)
|
||||
}
|
||||
|
||||
if !unit2.UnitGlobalDisabled() {
|
||||
list = append(list, unit2)
|
||||
}
|
||||
|
||||
if len(list) > 0 {
|
||||
AllowedRepoUnitGroups = append(AllowedRepoUnitGroups, list)
|
||||
}
|
||||
}
|
||||
|
||||
addMutuallyExclusiveGroup(TypeIssues, TypeExternalTracker)
|
||||
addMutuallyExclusiveGroup(TypeWiki, TypeExternalWiki)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue