Skip to content

Commit 1b09fcb

Browse files
committed
use unitCode
1 parent 26f9a91 commit 1b09fcb

File tree

6 files changed

+49
-56
lines changed

6 files changed

+49
-56
lines changed

models/repo/repo.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -468,8 +468,8 @@ func (repo *Repository) MustGetUnit(ctx context.Context, tp unit.Type) *RepoUnit
468468
Type: tp,
469469
Config: cfg,
470470
}
471-
case unit.TypePackages:
472-
cfg := new(PackagesConfig)
471+
case unit.TypeCode:
472+
cfg := new(CodeConfig)
473473
return &RepoUnit{
474474
Type: tp,
475475
Config: cfg,

models/repo/repo_unit.go

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -264,11 +264,11 @@ func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) {
264264
r.Config = new(IssuesConfig)
265265
case unit.TypeActions:
266266
r.Config = new(ActionsConfig)
267-
case unit.TypePackages:
268-
r.Config = new(PackagesConfig)
269267
case unit.TypeProjects:
270268
r.Config = new(ProjectsConfig)
271-
case unit.TypeCode, unit.TypeReleases, unit.TypeWiki:
269+
case unit.TypeCode:
270+
r.Config = new(CodeConfig)
271+
case unit.TypeReleases, unit.TypeWiki, unit.TypePackages:
272272
fallthrough
273273
default:
274274
r.Config = new(UnitConfig)
@@ -281,9 +281,24 @@ func (r *RepoUnit) Unit() unit.Unit {
281281
return unit.Units[r.Type]
282282
}
283283

284+
// CodeConfig describes code config
285+
type CodeConfig struct {
286+
GoModuleSubDir string
287+
}
288+
289+
// FromDB fills up a CodeConfig from serialized format.
290+
func (cfg *CodeConfig) FromDB(bs []byte) error {
291+
return json.UnmarshalHandleDoubleEncode(bs, &cfg)
292+
}
293+
294+
// ToDB exports a CodeConfig to a serialized format.
295+
func (cfg *CodeConfig) ToDB() ([]byte, error) {
296+
return json.Marshal(cfg)
297+
}
298+
284299
// CodeConfig returns config for unit.TypeCode
285-
func (r *RepoUnit) CodeConfig() *UnitConfig {
286-
return r.Config.(*UnitConfig)
300+
func (r *RepoUnit) CodeConfig() *CodeConfig {
301+
return r.Config.(*CodeConfig)
287302
}
288303

289304
// PullRequestsConfig returns config for unit.TypePullRequests
@@ -321,26 +336,6 @@ func (r *RepoUnit) ProjectsConfig() *ProjectsConfig {
321336
return r.Config.(*ProjectsConfig)
322337
}
323338

324-
// PackagesConfig returns config for unit.PackagesConfig
325-
func (r *RepoUnit) PackagesConfig() *PackagesConfig {
326-
return r.Config.(*PackagesConfig)
327-
}
328-
329-
// PackagesConfig describes package config
330-
type PackagesConfig struct {
331-
GoModuleSubDir string
332-
}
333-
334-
// FromDB fills up a PackagesConfig from serialized format.
335-
func (cfg *PackagesConfig) FromDB(bs []byte) error {
336-
return json.UnmarshalHandleDoubleEncode(bs, &cfg)
337-
}
338-
339-
// ToDB exports a PackagesConfig to a serialized format.
340-
func (cfg *PackagesConfig) ToDB() ([]byte, error) {
341-
return json.Marshal(cfg)
342-
}
343-
344339
func getUnitsByRepoID(ctx context.Context, repoID int64) (units []*RepoUnit, err error) {
345340
var tmpUnits []*RepoUnit
346341
if err := db.GetEngine(ctx).Where("repo_id = ?", repoID).Find(&tmpUnits); err != nil {

routers/api/v1/repo/repo.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -871,10 +871,16 @@ func updateRepoUnits(ctx *context.APIContext, opts api.EditRepoOption) error {
871871

872872
if opts.HasCode != nil && !unit_model.TypeCode.UnitGlobalDisabled() {
873873
if *opts.HasCode {
874+
cfg := &repo_model.CodeConfig{}
875+
876+
if opts.GoModuleSubDir != nil {
877+
cfg.GoModuleSubDir = *opts.GoModuleSubDir
878+
}
879+
874880
units = append(units, repo_model.RepoUnit{
875881
RepoID: repo.ID,
876882
Type: unit_model.TypeCode,
877-
Config: &repo_model.UnitConfig{},
883+
Config: cfg,
878884
})
879885
} else {
880886
deleteUnitTypes = append(deleteUnitTypes, unit_model.TypeCode)
@@ -994,17 +1000,9 @@ func updateRepoUnits(ctx *context.APIContext, opts api.EditRepoOption) error {
9941000

9951001
if opts.HasPackages != nil && !unit_model.TypePackages.UnitGlobalDisabled() {
9961002
if *opts.HasPackages {
997-
unit := repo.MustGetUnit(ctx, unit_model.TypePackages)
998-
cfg := unit.PackagesConfig()
999-
1000-
if opts.GoModuleSubDir != nil {
1001-
cfg.GoModuleSubDir = *opts.GoModuleSubDir
1002-
}
1003-
10041003
units = append(units, repo_model.RepoUnit{
10051004
RepoID: repo.ID,
10061005
Type: unit_model.TypePackages,
1007-
Config: cfg,
10081006
})
10091007
} else {
10101008
deleteUnitTypes = append(deleteUnitTypes, unit_model.TypePackages)

routers/web/repo/setting/setting.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,9 @@ func handleSettingsPostAdvanced(ctx *context.Context) {
524524
}
525525

526526
if form.EnableCode && !unit_model.TypeCode.UnitGlobalDisabled() {
527-
units = append(units, newRepoUnit(repo, unit_model.TypeCode, nil))
527+
units = append(units, newRepoUnit(repo, unit_model.TypeCode, &repo_model.CodeConfig{
528+
GoModuleSubDir: form.GoModuleSubDir,
529+
}))
528530
} else if !unit_model.TypeCode.UnitGlobalDisabled() {
529531
deleteUnitTypes = append(deleteUnitTypes, unit_model.TypeCode)
530532
}
@@ -608,9 +610,7 @@ func handleSettingsPostAdvanced(ctx *context.Context) {
608610
}
609611

610612
if form.EnablePackages && !unit_model.TypePackages.UnitGlobalDisabled() {
611-
units = append(units, newRepoUnit(repo, unit_model.TypePackages, &repo_model.PackagesConfig{
612-
GoModuleSubDir: form.GoModuleSubDir,
613-
}))
613+
units = append(units, newRepoUnit(repo, unit_model.TypePackages, nil))
614614
} else if !unit_model.TypePackages.UnitGlobalDisabled() {
615615
deleteUnitTypes = append(deleteUnitTypes, unit_model.TypePackages)
616616
}

services/context/repo.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,9 +346,9 @@ func EarlyResponseForGoGetMeta(ctx *Context) {
346346

347347
// GetGoModuleSubDirConfig retrieves the subdirectory configuration for a Go module.
348348
func GetGoModuleSubDirConfig(ctx *Context, repo *repo_model.Repository) string {
349-
pkgCfg := repo.MustGetUnit(ctx, unit_model.TypePackages).PackagesConfig()
349+
codeCfg := repo.MustGetUnit(ctx, unit_model.TypeCode).CodeConfig()
350350

351-
return strings.TrimSpace(pkgCfg.GoModuleSubDir)
351+
return strings.TrimSpace(codeCfg.GoModuleSubDir)
352352
}
353353

354354
// RedirectToRepo redirect to a differently-named repository

templates/repo/settings/options.tmpl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -304,14 +304,26 @@
304304

305305
{{$isCodeEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeCode}}
306306
{{$isCodeGlobalDisabled := ctx.Consts.RepoUnitTypeCode.UnitGlobalDisabled}}
307+
{{$codeUnit := .Repository.MustGetUnit ctx ctx.Consts.RepoUnitTypeCode}}
308+
307309
<div class="inline field">
308310
<label>{{ctx.Locale.Tr "repo.code"}}</label>
309311
<div class="ui checkbox{{if $isCodeGlobalDisabled}} disabled{{end}}"{{if $isCodeGlobalDisabled}} data-tooltip-content="{{ctx.Locale.Tr "repo.unit_disabled"}}"{{end}}>
310-
<input class="enable-system" name="enable_code" type="checkbox"{{if $isCodeEnabled}} checked{{end}}>
312+
<input class="enable-system" name="enable_code" type="checkbox" data-target="#code_box" {{if $isCodeEnabled}} checked{{end}}>
311313
<label>{{ctx.Locale.Tr "repo.code.desc"}}</label>
312314
</div>
313315
</div>
314316

317+
<div class="field{{if not $isCodeEnabled}} disabled{{end}}" id="code_box">
318+
<div class="field tw-pl-4 {{if $isCodeGlobalDisabled}}disabled{{end}}">
319+
<label for="go_module_sub_dir">{{ctx.Locale.Tr "repo.settings.go_module_sub_dir"}}</label>
320+
<input id="go_module_sub_dir" name="go_module_sub_dir" value="{{$codeUnit.CodeConfig.GoModuleSubDir}}">
321+
<p class="help">{{ctx.Locale.Tr "repo.settings.go_module_sub_dir_desc" "https://github.com/golang/go/commit/835e36fc7f631f74233edfd4ab43b6b56833db86" "github.com/golang/go@835e36fc7f"}}</p>
322+
</div>
323+
</div>
324+
325+
<div class="divider"></div>
326+
315327
{{$isInternalWikiEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeWiki}}
316328
{{$isExternalWikiEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeExternalWiki}}
317329
{{$isWikiEnabled := or $isInternalWikiEnabled $isExternalWikiEnabled}}
@@ -499,28 +511,16 @@
499511
</div>
500512
</div>
501513

502-
<div class="divider"></div>
503514
{{$isPackagesEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypePackages}}
504515
{{$isPackagesGlobalDisabled := ctx.Consts.RepoUnitTypePackages.UnitGlobalDisabled}}
505-
{{$pkgUnit := .Repository.MustGetUnit ctx ctx.Consts.RepoUnitTypePackages}}
506516
<div class="inline field">
507517
<label>{{ctx.Locale.Tr "repo.packages"}}</label>
508518
<div class="ui checkbox{{if $isPackagesGlobalDisabled}} disabled{{end}}"{{if $isPackagesGlobalDisabled}} data-tooltip-content="{{ctx.Locale.Tr "repo.unit_disabled"}}"{{end}}>
509-
<input class="enable-system" name="enable_packages" type="checkbox" data-target="#packages_box" {{if $isPackagesEnabled}}checked{{end}}>
519+
<input class="enable-system" name="enable_packages" type="checkbox" {{if $isPackagesEnabled}}checked{{end}}>
510520
<label>{{ctx.Locale.Tr "repo.settings.packages_desc"}}</label>
511521
</div>
512522
</div>
513523

514-
<div class="field{{if not $isPackagesEnabled}} disabled{{end}}" id="packages_box">
515-
<div class="field tw-pl-4 {{if $isPackagesGlobalDisabled}}disabled{{end}}">
516-
<label for="go_module_sub_dir">{{ctx.Locale.Tr "repo.settings.go_module_sub_dir"}}</label>
517-
<input id="go_module_sub_dir" name="go_module_sub_dir" value="{{$pkgUnit.PackagesConfig.GoModuleSubDir}}">
518-
<p class="help">{{ctx.Locale.Tr "repo.settings.go_module_sub_dir_desc" "https://github.com/golang/go/commit/835e36fc7f631f74233edfd4ab43b6b56833db86" "github.com/golang/go@835e36fc7f"}}</p>
519-
</div>
520-
</div>
521-
522-
<div class="divider"></div>
523-
524524
{{if .EnableActions}}
525525
{{$isActionsEnabled := .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeActions}}
526526
{{$isActionsGlobalDisabled := ctx.Consts.RepoUnitTypeActions.UnitGlobalDisabled}}

0 commit comments

Comments
 (0)