mirror of https://github.com/go-gitea/gitea.git
Use standalone function to update repository cols
This commit is contained in:
parent
ddd1e6ca83
commit
8e066c2f16
|
|
@ -663,44 +663,35 @@ func handleSettingsPostAdvanced(ctx *context.Context) {
|
||||||
func handleSettingsPostSigning(ctx *context.Context) {
|
func handleSettingsPostSigning(ctx *context.Context) {
|
||||||
form := web.GetForm(ctx).(*forms.RepoSettingForm)
|
form := web.GetForm(ctx).(*forms.RepoSettingForm)
|
||||||
repo := ctx.Repo.Repository
|
repo := ctx.Repo.Repository
|
||||||
changed := false
|
|
||||||
trustModel := repo_model.ToTrustModel(form.TrustModel)
|
trustModel := repo_model.ToTrustModel(form.TrustModel)
|
||||||
if trustModel != repo.TrustModel {
|
if trustModel != repo.TrustModel {
|
||||||
repo.TrustModel = trustModel
|
if err := repo_service.UpdateRepositoryTrustModel(ctx, repo, trustModel); err != nil {
|
||||||
changed = true
|
|
||||||
}
|
|
||||||
|
|
||||||
if changed {
|
|
||||||
if err := repo_service.UpdateRepository(ctx, repo, false); err != nil {
|
|
||||||
ctx.ServerError("UpdateRepository", err)
|
ctx.ServerError("UpdateRepository", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
log.Trace("Repository signing settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
|
||||||
}
|
}
|
||||||
log.Trace("Repository signing settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
|
|
||||||
|
|
||||||
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
|
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
|
||||||
ctx.Redirect(ctx.Repo.RepoLink + "/settings")
|
ctx.Redirect(ctx.Repo.RepoLink + "/settings")
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleSettingsPostAdmin(ctx *context.Context) {
|
func handleSettingsPostAdmin(ctx *context.Context) {
|
||||||
form := web.GetForm(ctx).(*forms.RepoSettingForm)
|
|
||||||
repo := ctx.Repo.Repository
|
|
||||||
if !ctx.Doer.IsAdmin {
|
if !ctx.Doer.IsAdmin {
|
||||||
ctx.HTTPError(http.StatusForbidden)
|
ctx.HTTPError(http.StatusForbidden)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
repo := ctx.Repo.Repository
|
||||||
|
form := web.GetForm(ctx).(*forms.RepoSettingForm)
|
||||||
if repo.IsFsckEnabled != form.EnableHealthCheck {
|
if repo.IsFsckEnabled != form.EnableHealthCheck {
|
||||||
repo.IsFsckEnabled = form.EnableHealthCheck
|
if err := repo_service.UpdateRepositoryHealthCheck(ctx, repo, form.EnableHealthCheck); err != nil {
|
||||||
|
ctx.ServerError("UpdateRepository", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.Trace("Repository admin settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := repo_service.UpdateRepository(ctx, repo, false); err != nil {
|
|
||||||
ctx.ServerError("UpdateRepository", err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
log.Trace("Repository admin settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
|
|
||||||
|
|
||||||
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
|
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
|
||||||
ctx.Redirect(ctx.Repo.RepoLink + "/settings")
|
ctx.Redirect(ctx.Repo.RepoLink + "/settings")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,26 @@ func UpdateRepository(ctx context.Context, repo *repo_model.Repository, visibili
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UpdateRepositoryTrustModel(ctx context.Context, repo *repo_model.Repository, trustModel repo_model.TrustModelType) (err error) {
|
||||||
|
return db.WithTx(ctx, func(ctx context.Context) error {
|
||||||
|
repo.TrustModel = trustModel
|
||||||
|
if err := repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, "trust_model"); err != nil {
|
||||||
|
return fmt.Errorf("UpdateRepositoryColsNoAutoTime: %w", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func UpdateRepositoryHealthCheck(ctx context.Context, repo *repo_model.Repository, healthCheckEnabled bool) (err error) {
|
||||||
|
return db.WithTx(ctx, func(ctx context.Context) error {
|
||||||
|
repo.IsFsckEnabled = healthCheckEnabled
|
||||||
|
if err := repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, "is_fsck_enabled"); err != nil {
|
||||||
|
return fmt.Errorf("UpdateRepositoryColsNoAutoTime: %w", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
func MakeRepoPublic(ctx context.Context, repo *repo_model.Repository) (err error) {
|
func MakeRepoPublic(ctx context.Context, repo *repo_model.Repository) (err error) {
|
||||||
return db.WithTx(ctx, func(ctx context.Context) error {
|
return db.WithTx(ctx, func(ctx context.Context) error {
|
||||||
repo.IsPrivate = false
|
repo.IsPrivate = false
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue