Skip to content

Commit b834153

Browse files
committed
fix
1 parent c0a2fd3 commit b834153

File tree

6 files changed

+53
-62
lines changed

6 files changed

+53
-62
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/comp/SearchRepoBox.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ import {htmlEscape} from '../../utils/html.ts';
33

44
const {appSubUrl} = window.config;
55

6-
export function initCompSearchRepoBox(elSearchRepoBox: HTMLElement) {
7-
const uid = elSearchRepoBox.getAttribute('data-uid');
8-
9-
const $searchRepoBox = fomanticQuery(elSearchRepoBox);
10-
$searchRepoBox.search({
6+
export function initCompSearchRepoBox(el: HTMLElement) {
7+
const uid = el.getAttribute('data-uid');
8+
fomanticQuery(el).search({
119
minCharacters: 2,
1210
apiSettings: {
1311
url: `${appSubUrl}/repo/search?q={query}&uid=${uid}`,

web_src/js/features/org-team.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
import {queryElems, toggleElem} from '../utils/dom.ts';
2-
import {initCompSearchRepoBox} from './comp/SearchRepoBox.ts';
3-
import {registerGlobalInitFunc} from '../modules/observer.ts';
42

53
function initOrgTeamSettings() {
64
// on the page "page-content organization new team"
@@ -16,5 +14,4 @@ function initOrgTeamSettings() {
1614
export function initOrgTeam() {
1715
if (!document.querySelector('.page-content.organization')) return;
1816
initOrgTeamSettings();
19-
registerGlobalInitFunc('initSearchRepoBox', initCompSearchRepoBox);
2017
}

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 & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,20 @@ 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';
6868
import {initRepoViewFileTree} from './features/repo-view-file-tree.ts';
69-
import {initPackageSettings} from './features/package-setting.ts';
7069

7170
const initStartTime = performance.now();
7271
const initPerformanceTracer = callInitFunctions([
7372
initHtmx,
7473
initSubmitEventPolyfill,
7574
initGiteaFomantic,
7675

77-
initGlobalAvatarUploader,
76+
initGlobalComponent,
7877
initGlobalDropdown,
79-
initGlobalTabularMenu,
8078
initGlobalFetchAction,
8179
initGlobalTooltips,
8280
initGlobalButtonClickOnEnter,
@@ -164,8 +162,6 @@ const initPerformanceTracer = callInitFunctions([
164162

165163
initOAuth2SettingsDisableCheckbox,
166164

167-
initPackageSettings,
168-
169165
initRepoFileView,
170166
]);
171167

0 commit comments

Comments
 (0)