1
0
mirror of https://github.com/flarum/core.git synced 2025-08-21 15:52:44 +02:00

[untested] Major Update handler (#1)

This commit is contained in:
SychO9
2021-10-03 10:58:17 +01:00
parent 2ce28f8e5c
commit 7e174dd08a
10 changed files with 296 additions and 13 deletions

View File

@@ -4,12 +4,16 @@ import Mithril from 'mithril';
import Button from 'flarum/common/components/Button';
import Tooltip from 'flarum/common/components/Tooltip';
import { UpdatedPackage } from './Updater';
import LoadingModal from 'flarum/admin/components/LoadingModal';
import errorHandler from '../utils/errorHandler';
interface MajorUpdaterAttrs extends ComponentAttrs {
coreUpdate: UpdatedPackage;
}
export default class MajorUpdater<T extends MajorUpdaterAttrs = MajorUpdaterAttrs> extends Component<T> {
isLoading: string | null = null;
view(vnode: Mithril.Vnode<ComponentAttrs, this>): Mithril.Children {
return (
<div className="Form-group PackageManager-majorUpdate">
@@ -18,15 +22,38 @@ export default class MajorUpdater<T extends MajorUpdaterAttrs = MajorUpdaterAttr
<p className="helpText">{app.translator.trans('sycho-package-manager.admin.major_updater.description')}</p>
<div className="PackageManager-updaterControls">
<Tooltip text={app.translator.trans('sycho-package-manager.admin.major_updater.dry_run_help')}>
<Button className="Button" icon="fas fa-vial">
<Button className="Button" icon="fas fa-vial" onclick={this.update.bind(this, true)}>
{app.translator.trans('sycho-package-manager.admin.major_updater.dry_run')}
</Button>
</Tooltip>
<Button className="Button" icon="fas fa-play">
<Button className="Button" icon="fas fa-play" onclick={this.update.bind(this, false)}>
{app.translator.trans('sycho-package-manager.admin.major_updater.update')}
</Button>
</div>
</div>
);
}
update(dryRun: boolean) {
this.isLoading = `update-${dryRun ? 'dry-run' : 'run'}`;
app.modal.show(LoadingModal);
app
.request({
method: 'POST',
url: `${app.forum.attribute('apiUrl')}/package-manager/major-update`,
body: {
data: { dryRun },
},
errorHandler,
})
.then(() => {
app.alerts.show({ type: 'success' }, app.translator.trans('sycho-package-manager.admin.update_successful'));
window.location.reload();
})
.finally(() => {
this.isLoading = null;
m.redraw();
});
}
}

View File

@@ -195,7 +195,7 @@ export default class Updater extends Component {
errorHandler,
})
.then(() => {
app.alerts.show({ type: 'success' }, app.translator.trans('sycho-package-manager.admin.updater.minor_update_successful'));
app.alerts.show({ type: 'success' }, app.translator.trans('sycho-package-manager.admin.update_successful'));
window.location.reload();
})
.finally(() => {