Reinstall now uses direct install internally

This commit is contained in:
Flavio Copes
2017-02-26 20:09:50 +01:00
parent 47beb2d5a6
commit ebf2de5aea
4 changed files with 43 additions and 11 deletions

View File

@@ -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()
{

View File

@@ -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) {

File diff suppressed because one or more lines are too long

View File

@@ -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>