Skip to content

Commit d9767df

Browse files
committed
fix
1 parent c0a2fd3 commit d9767df

File tree

5 files changed

+50
-52
lines changed

5 files changed

+50
-52
lines changed

routers/web/user/package.go

Lines changed: 45 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -447,58 +447,65 @@ func PackageSettings(ctx *context.Context) {
447447

448448
// PackageSettingsPost updates the package settings
449449
func PackageSettingsPost(ctx *context.Context) {
450-
pd := ctx.Package.Descriptor
451-
452450
form := web.GetForm(ctx).(*forms.PackageSettingForm)
453451
switch form.Action {
454452
case "link":
455-
if form.RepoName == "" { // remove the link
456-
if err := packages_model.SetRepositoryLink(ctx, pd.Package.ID, 0); err != nil {
457-
ctx.JSONError(ctx.Tr("packages.settings.unlink.error"))
458-
return
459-
}
460-
461-
ctx.Flash.Success(ctx.Tr("packages.settings.unlink.success"))
462-
ctx.JSONRedirect("")
463-
return
464-
}
465-
466-
repo, err := repo_model.GetRepositoryByName(ctx, pd.Owner.ID, form.RepoName)
467-
if err != nil {
468-
if repo_model.IsErrRepoNotExist(err) {
469-
ctx.JSONError(ctx.Tr("packages.settings.link.repo_not_found", form.RepoName))
470-
} else {
471-
ctx.ServerError("GetRepositoryByOwnerAndName", err)
472-
}
473-
return
474-
}
453+
packageSettingsPostActionLink(ctx, form)
454+
case "delete":
455+
packageSettingsPostActionDelete(ctx)
456+
default:
457+
ctx.NotFound(nil)
458+
}
459+
}
475460

476-
if err := packages_model.SetRepositoryLink(ctx, pd.Package.ID, repo.ID); err != nil {
477-
ctx.JSONError(ctx.Tr("packages.settings.link.error"))
461+
func packageSettingsPostActionLink(ctx *context.Context, form *forms.PackageSettingForm) {
462+
pd := ctx.Package.Descriptor
463+
if form.RepoName == "" { // remove the link
464+
if err := packages_model.SetRepositoryLink(ctx, pd.Package.ID, 0); err != nil {
465+
ctx.JSONError(ctx.Tr("packages.settings.unlink.error"))
478466
return
479467
}
480468

481-
ctx.Flash.Success(ctx.Tr("packages.settings.link.success"))
469+
ctx.Flash.Success(ctx.Tr("packages.settings.unlink.success"))
482470
ctx.JSONRedirect("")
483471
return
484-
case "delete":
485-
err := packages_service.RemovePackageVersion(ctx, ctx.Doer, ctx.Package.Descriptor.Version)
486-
if err != nil {
487-
log.Error("Error deleting package: %v", err)
488-
ctx.Flash.Error(ctx.Tr("packages.settings.delete.error"))
489-
} else {
490-
ctx.Flash.Success(ctx.Tr("packages.settings.delete.success"))
491-
}
472+
}
492473

493-
redirectURL := ctx.Package.Owner.HomeLink() + "/-/packages"
494-
// redirect to the package if there are still versions available
495-
if has, _ := packages_model.ExistVersion(ctx, &packages_model.PackageSearchOptions{PackageID: ctx.Package.Descriptor.Package.ID, IsInternal: optional.Some(false)}); has {
496-
redirectURL = ctx.Package.Descriptor.PackageWebLink()
474+
repo, err := repo_model.GetRepositoryByName(ctx, pd.Owner.ID, form.RepoName)
475+
if err != nil {
476+
if repo_model.IsErrRepoNotExist(err) {
477+
ctx.JSONError(ctx.Tr("packages.settings.link.repo_not_found", form.RepoName))
478+
} else {
479+
ctx.ServerError("GetRepositoryByOwnerAndName", err)
497480
}
481+
return
482+
}
498483

499-
ctx.Redirect(redirectURL)
484+
if err := packages_model.SetRepositoryLink(ctx, pd.Package.ID, repo.ID); err != nil {
485+
ctx.JSONError(ctx.Tr("packages.settings.link.error"))
500486
return
501487
}
488+
489+
ctx.Flash.Success(ctx.Tr("packages.settings.link.success"))
490+
ctx.JSONRedirect("")
491+
}
492+
493+
func packageSettingsPostActionDelete(ctx *context.Context) {
494+
err := packages_service.RemovePackageVersion(ctx, ctx.Doer, ctx.Package.Descriptor.Version)
495+
if err != nil {
496+
log.Error("Error deleting package: %v", err)
497+
ctx.Flash.Error(ctx.Tr("packages.settings.delete.error"))
498+
} else {
499+
ctx.Flash.Success(ctx.Tr("packages.settings.delete.success"))
500+
}
501+
502+
redirectURL := ctx.Package.Owner.HomeLink() + "/-/packages"
503+
// redirect to the package if there are still versions available
504+
if has, _ := packages_model.ExistVersion(ctx, &packages_model.PackageSearchOptions{PackageID: ctx.Package.Descriptor.Package.ID, IsInternal: optional.Some(false)}); has {
505+
redirectURL = ctx.Package.Descriptor.PackageWebLink()
506+
}
507+
508+
ctx.Redirect(redirectURL)
502509
}
503510

504511
// DownloadPackageFile serves the content of a package file

web_src/js/features/common-page.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {fomanticQuery} from '../modules/fomantic/base.ts';
44
import {queryElems} from '../utils/dom.ts';
55
import {registerGlobalInitFunc, registerGlobalSelectorFunc} from '../modules/observer.ts';
66
import {initAvatarUploaderWithCropper} from './comp/Cropper.ts';
7+
import {initCompSearchRepoBox} from './comp/SearchRepoBox.ts';
78

89
const {appUrl} = window.config;
910

@@ -77,12 +78,10 @@ export function initGlobalDropdown() {
7778
});
7879
}
7980

80-
export function initGlobalTabularMenu() {
81+
export function initGlobalComponent() {
8182
fomanticQuery('.ui.menu.tabular:not(.custom) .item').tab();
82-
}
83-
84-
export function initGlobalAvatarUploader() {
8583
registerGlobalInitFunc('initAvatarUploader', initAvatarUploaderWithCropper);
84+
registerGlobalInitFunc('initSearchRepoBox', initCompSearchRepoBox);
8685
}
8786

8887
// for performance considerations, it only uses performant syntax

web_src/js/features/org-team.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,4 @@ function initOrgTeamSettings() {
1616
export function initOrgTeam() {
1717
if (!document.querySelector('.page-content.organization')) return;
1818
initOrgTeamSettings();
19-
registerGlobalInitFunc('initSearchRepoBox', initCompSearchRepoBox);
2019
}

web_src/js/features/package-setting.ts

Lines changed: 0 additions & 6 deletions
This file was deleted.

web_src/js/index-domready.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ import {initColorPickers} from './features/colorpicker.ts';
6161
import {initAdminSelfCheck} from './features/admin/selfcheck.ts';
6262
import {initOAuth2SettingsDisableCheckbox} from './features/oauth2-settings.ts';
6363
import {initGlobalFetchAction} from './features/common-fetch-action.ts';
64-
import {initFootLanguageMenu, initGlobalAvatarUploader, initGlobalDropdown, initGlobalInput, initGlobalTabularMenu, initHeadNavbarContentToggle} from './features/common-page.ts';
64+
import {initFootLanguageMenu, initGlobalComponent, initGlobalDropdown, initGlobalInput, initHeadNavbarContentToggle} from './features/common-page.ts';
6565
import {initGlobalButtonClickOnEnter, initGlobalButtons, initGlobalDeleteButton} from './features/common-button.ts';
6666
import {initGlobalComboMarkdownEditor, initGlobalEnterQuickSubmit, initGlobalFormDirtyLeaveConfirm} from './features/common-form.ts';
6767
import {callInitFunctions} from './modules/init.ts';
@@ -74,9 +74,8 @@ const initPerformanceTracer = callInitFunctions([
7474
initSubmitEventPolyfill,
7575
initGiteaFomantic,
7676

77-
initGlobalAvatarUploader,
77+
initGlobalComponent,
7878
initGlobalDropdown,
79-
initGlobalTabularMenu,
8079
initGlobalFetchAction,
8180
initGlobalTooltips,
8281
initGlobalButtonClickOnEnter,

0 commit comments

Comments
 (0)