Disable reinstall for symlinked packages. Fix issue when no updates are available

This commit is contained in:
Flavio Copes
2017-02-20 21:36:55 +01:00
parent 0c91ca5757
commit 3d040a3f8a
8 changed files with 34 additions and 29 deletions

View File

@@ -638,9 +638,10 @@ PLUGIN_ADMIN:
CLI_COMPATIBILITY_HELP: "Ensures that only non-volatile Cache drivers are used (file, redis, memcache, etc.)"
REINSTALL_PLUGIN: "Reinstall Plugin"
REINSTALL_THEME: "Reinstall Theme"
REINSTALL_THE: "Reinstall the %"
REINSTALL_THE: "Reinstall the %s"
CONFIRM_REINSTALL: "Are you sure you want to reinstall this %s?"
REINSTALLED_SUCCESSFULLY: "%s reinstalled successfully"
ERROR_REINSTALLING_THE: "Error reinstalling the %s"
PACKAGE_X_REINSTALLED_SUCCESSFULLY: "Package %s reinstalled successfully"
REINSTALLATION_FAILED: "Reinstallation failed"
REINSTALLATION_FAILED: "Reinstallation failed"
WARNING_REINSTALL_NOT_LATEST_RELEASE: "The installed version is not the latest release. By clicking Continue, you'll remove the current version and install the latest available release"

View File

@@ -16,7 +16,7 @@ $(document).on('click', '[data-theme-action="remove-package"]', (event) => {
});
// Reinstall theme
$(document).on('click', '[data-plugin-action="reinstall-package"]', (event) => {
$(document).on('click', '[data-theme-action="reinstall-package"]', (event) => {
packages.handleReinstallPackage('theme', event);
});

View File

@@ -81,7 +81,7 @@ export default class Updates {
return this.maintenance('hide');
}
let is_single_package_latest = true;
let is_current_package_latest = true;
let map = ['plugins', 'themes'];
let singles = ['plugin', 'theme'];
let { plugins, themes } = this.payload.resources;
@@ -153,7 +153,7 @@ export default class Updates {
</p>
`).css('display', 'block');
is_single_package_latest = false;
is_current_package_latest = false;
}
}
});
@@ -161,8 +161,8 @@ export default class Updates {
$('[data-update-packages]').removeClass('hidden');
});
if (is_single_package_latest) {
$('.button-reinstall-package').removeClass('hidden');
if (!is_current_package_latest) {
$('.warning-reinstall-not-latest-release').removeClass('hidden');
}
}
}

View File

@@ -150,6 +150,9 @@ class Packages {
}
reinstallPackage(type, slug) {
$('.button-bar button').addClass('hidden');
$('.button-bar .spinning-wheel').removeClass('hidden');
let url = Packages.getReinstallPackageUrl(type);
request(url, {
@@ -161,15 +164,12 @@ class Packages {
if (response.status === 'success') {
$('.reinstall-package-confirm').addClass('hidden');
$('.reinstall-package-done').removeClass('hidden');
// The package was reinstalled. When the modal closes, move to the packages list
$(document).on('closing', '[data-remodal-id="reinstall-package"]', () => {
Packages.getBackToList(type);
});
} else {
$('.reinstall-package-confirm').addClass('hidden');
$('.reinstall-package-error').removeClass('hidden');
}
window.location.reload();
});
}

File diff suppressed because one or more lines are too long

View File

@@ -3,29 +3,29 @@
data-remodal-options="hashTracking: false">
<form>
<div class="reinstall-package-confirm">
<h1>{{ "PLUGIN_ADMIN.REINSTALL_THE"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu]) }}</h1>
<h1>{{ "PLUGIN_ADMIN.REINSTALL_THE"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu])|e }}</h1>
<p class="bigger">
{{ "PLUGIN_ADMIN.CONFIRM_REINSTALL"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu]) }}
{{ "PLUGIN_ADMIN.CONFIRM_REINSTALL"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu])|e }}
</p>
<p class="bigger hidden warning-reinstall-not-latest-release">
{{ "PLUGIN_ADMIN.WARNING_REINSTALL_NOT_LATEST_RELEASE"|tu|e }}
</p>
<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 }}</button>
<button data-{{ type }}-action="reinstall-package" data-packages-slugs="{{ package.slug }}" class="button"><i class="fa fa-fw fa-check"></i> {{ "PLUGIN_ADMIN.CONTINUE"|tu }}</button>
<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>
<div class="spinning-wheel hidden">
{{ "PLUGIN_ADMIN.INSTALLING"|tu|e }}.. <i class="fa fa-spinner fa-spin"></i>
</div>
</div>
</div>
<div class="reinstall-package-done hidden">
<h1>{{ "PLUGIN_ADMIN.REINSTALLED_SUCCESSFULLY"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu]) }}</h1>
<div class="button-bar">
<a href="{{ base_url_relative ~ '/' ~ type ~ 's' }}" class="button secondary"><i class="fa fa-fw fa-close"></i> {{ "PLUGIN_ADMIN.CLOSE"|tu }}</a>
</div>
<h1>{{ "PLUGIN_ADMIN.REINSTALLED_SUCCESSFULLY"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu])|e }}</h1>
</div>
<div class="reinstall-package-error hidden">
<h1>{{ "PLUGIN_ADMIN.ERROR_REINSTALLING_THE"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu]) }}</h1>
<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 }}</button>
</div>
<h1>{{ "PLUGIN_ADMIN.ERROR_REINSTALLING_THE"|tu([("PLUGIN_ADMIN." ~ type|upper)|tu])|e }}</h1>
</div>
</form>
</div>

View File

@@ -34,7 +34,9 @@
{% if (plugin.form.fields.enabled.type != 'hidden' and plugin.form.fields.tabs.fields.login.fields.enabled.type != 'hidden') %}
<div class="button-bar danger">
<span class="danger-zone"></span>
<a class="button hidden button-reinstall-package" href="#" data-remodal-target="reinstall-package"><i class="fa fa-fw fa-repeat"></i> {{ "PLUGIN_ADMIN.REINSTALL_PLUGIN"|tu }}</a>
{% if not plugin.symlink %}
<a class="button button-reinstall-package" href="#" data-remodal-target="reinstall-package"><i class="fa fa-fw fa-repeat"></i> {{ "PLUGIN_ADMIN.REINSTALL_PLUGIN"|tu }}</a>
{% endif %}
<a class="button" href="#" data-remodal-target="remove-package"><i class="fa fa-fw fa-warning"></i> {{ "PLUGIN_ADMIN.REMOVE_PLUGIN"|tu }}</a>
</div>
{% endif %}

View File

@@ -101,7 +101,9 @@
{% if (config.get('system.pages.theme') != admin.route) %}
<div class="button-bar danger">
<span class="danger-zone"></span>
<a class="button hidden button-reinstall-package" href="#" data-remodal-target="reinstall-package"><i class="fa fa-fw fa-repeat"></i> {{ "PLUGIN_ADMIN.REINSTALL_THEME"|tu }}</a>
{% if not theme.symlink %}
<a class="button button-reinstall-package" href="#" data-remodal-target="reinstall-package"><i class="fa fa-fw fa-repeat"></i> {{ "PLUGIN_ADMIN.REINSTALL_THEME"|tu }}</a>
{% endif %}
<a class="button" href="#" data-remodal-target="remove-package"><i class="fa fa-fw fa-warning"></i> {{ "PLUGIN_ADMIN.REMOVE_THEME"|tu }}</a>
</div>
{% endif %}