mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2026-05-06 07:17:16 +02:00
Reinstall now uses direct install internally
This commit is contained in:
@@ -1085,13 +1085,32 @@ class AdminController extends AdminBaseController
|
||||
|
||||
/**
|
||||
* Handle reinstalling a package
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function taskReinstallPackage()
|
||||
{
|
||||
$reinstall = true;
|
||||
$this->taskInstallPackage($reinstall);
|
||||
$data = $this->post;
|
||||
|
||||
$slug = isset($data['slug']) ? $data['slug'] : '';
|
||||
$type = isset($data['type']) ? $data['type'] : '';
|
||||
$package_name = isset($data['package_name']) ? $data['package_name'] : '';
|
||||
$current_version = isset($data['current_version']) ? $data['current_version'] : '';
|
||||
|
||||
$url = "https://getgrav.org/download/{$type}s/$slug/$current_version";
|
||||
|
||||
$result = Gpm::directInstall($url);
|
||||
|
||||
if ($result === true) {
|
||||
$this->admin->json_response = [
|
||||
'status' => 'success',
|
||||
'message' => $this->admin->translate(sprintf($this->admin->translate('PLUGIN_ADMIN.PACKAGE_X_REINSTALLED_SUCCESSFULLY',
|
||||
null), $package_name))
|
||||
];
|
||||
} else {
|
||||
$this->admin->json_response = [
|
||||
'status' => 'error',
|
||||
'message' => $this->admin->translate('PLUGIN_ADMIN.REINSTALLATION_FAILED')
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2105,7 +2124,6 @@ class AdminController extends AdminBaseController
|
||||
|
||||
/**
|
||||
* Handle direct install.
|
||||
*
|
||||
*/
|
||||
protected function taskDirectInstall()
|
||||
{
|
||||
|
||||
@@ -149,7 +149,7 @@ class Packages {
|
||||
});
|
||||
}
|
||||
|
||||
reinstallPackage(type, slug) {
|
||||
reinstallPackage(type, slug, package_name, current_version) {
|
||||
$('.button-bar button').addClass('hidden');
|
||||
$('.button-bar .spinning-wheel').removeClass('hidden');
|
||||
|
||||
@@ -158,7 +158,10 @@ class Packages {
|
||||
request(url, {
|
||||
method: 'post',
|
||||
body: {
|
||||
package: slug
|
||||
slug: slug,
|
||||
type: type,
|
||||
package_name: package_name,
|
||||
current_version: current_version
|
||||
}
|
||||
}, (response) => {
|
||||
if (response.status === 'success') {
|
||||
@@ -430,11 +433,15 @@ class Packages {
|
||||
}
|
||||
|
||||
handleReinstallPackage(type, event) {
|
||||
let slug = $(event.target).attr('data-packages-slugs');
|
||||
let target = $(event.target);
|
||||
let slug = target.attr('data-package-slug');
|
||||
let package_name = target.attr('data-package-name');
|
||||
let current_version = target.attr('data-package-current-version');
|
||||
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
this.reinstallPackage(type, slug);
|
||||
this.reinstallPackage(type, slug, package_name, current_version);
|
||||
}
|
||||
|
||||
handleRemovingDependency(type, event) {
|
||||
|
||||
2
themes/grav/js/admin.min.js
vendored
2
themes/grav/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -13,7 +13,14 @@
|
||||
|
||||
<div class="button-bar">
|
||||
<button data-remodal-action="cancel" class="button secondary remodal-cancel"><i class="fa fa-fw fa-close"></i> {{ "PLUGIN_ADMIN.CANCEL"|tu|e }}</button>
|
||||
<button data-{{ type|e }}-action="reinstall-package" data-packages-slugs="{{ package.slug|e }}" class="button"><i class="fa fa-fw fa-check"></i> {{ "PLUGIN_ADMIN.CONTINUE"|tu|e }}</button>
|
||||
|
||||
<button data-{{ type|e }}-action="reinstall-package"
|
||||
data-package-slug="{{ package.slug|e }}"
|
||||
data-package-type="{{ package.package_type |e }}"
|
||||
data-package-name="{{ package.name|e }}"
|
||||
data-package-current-version="{{ package.version|e }}"
|
||||
class="button"><i class="fa fa-fw fa-check"></i> {{ "PLUGIN_ADMIN.CONTINUE"|tu|e }}</button>
|
||||
|
||||
<div class="spinning-wheel hidden">
|
||||
{{ "PLUGIN_ADMIN.INSTALLING"|tu|e }}.. <i class="fa fa-spinner fa-spin"></i>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user