From dad5c155202a79514e60e73ac019191218167d35 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 28 Aug 2016 00:06:22 -0700 Subject: #2901 allow setting preferred licenses - Closes #3488 --- models/repo.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'models/repo.go') diff --git a/models/repo.go b/models/repo.go index 1d425fe3..aab35785 100644 --- a/models/repo.go +++ b/models/repo.go @@ -62,6 +62,7 @@ var ( func LoadRepoConfig() { // Load .gitignore and license files and readme templates. + // TODO: should we allow custom files overwrite default ones? types := []string{"gitignore", "license", "readme"} typeFiles := make([][]string, 3) for i, t := range types { @@ -91,6 +92,20 @@ func LoadRepoConfig() { sort.Strings(Gitignores) sort.Strings(Licenses) sort.Strings(Readmes) + + // Filter out invalid names and promote preferred licenses. + sortedLicenses := make([]string, 0, len(Licenses)) + for _, name := range setting.Repository.PreferredLicenses { + if com.IsSliceContainsStr(Licenses, name) { + sortedLicenses = append(sortedLicenses, name) + } + } + for _, name := range Licenses { + if !com.IsSliceContainsStr(setting.Repository.PreferredLicenses, name) { + sortedLicenses = append(sortedLicenses, name) + } + } + Licenses = sortedLicenses } func NewRepoContext() { -- cgit v1.2.3