improve plugin enabled logic

This commit is contained in:
Andy Miller
2021-05-05 12:53:07 -06:00
parent 00980efb97
commit 1ceebec29f
6 changed files with 37 additions and 11 deletions

View File

@@ -624,6 +624,9 @@ class AdminController extends AdminBaseController
$obj->save(); $obj->save();
$this->post = ['_redirect' => 'plugins']; $this->post = ['_redirect' => 'plugins'];
if ($this->grav['uri']->param('redirect')) {
$this->post = ['_redirect' => 'plugins/' . $this->route];
}
$this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_ENABLED_PLUGIN'), 'info'); $this->admin->setMessage($this->admin::translate('PLUGIN_ADMIN.SUCCESSFULLY_ENABLED_PLUGIN'), 'info');
Cache::clearCache('invalidate'); Cache::clearCache('invalidate');

View File

@@ -29,6 +29,7 @@
{% if (installed) %} {% if (installed) %}
{% set data = admin.data('plugins/' ~ admin.route) %} {% set data = admin.data('plugins/' ~ admin.route) %}
{% if data.get('enabled') %}
{% include 'partials/blueprints.html.twig' with { data: data, blueprints: data.blueprints } %} {% include 'partials/blueprints.html.twig' with { data: data, blueprints: data.blueprints } %}
{% if (plugin.form.fields.enabled.type != 'hidden' and plugin.form.fields.tabs.fields.login.fields.enabled.type != 'hidden') %} {% if (plugin.form.fields.enabled.type != 'hidden' and plugin.form.fields.tabs.fields.login.fields.enabled.type != 'hidden') %}
@@ -40,7 +41,20 @@
<a class="button" href="#" data-remodal-target="remove-package"><i class="fa fa-fw fa-warning"></i> {{ "PLUGIN_ADMIN.REMOVE_PLUGIN"|tu }}</a> <a class="button" href="#" data-remodal-target="remove-package"><i class="fa fa-fw fa-warning"></i> {{ "PLUGIN_ADMIN.REMOVE_PLUGIN"|tu }}</a>
</div> </div>
{% endif %} {% endif %}
{% else %}
<form>
<div class="form-field grid">
<div class="form-label block size-1-3">
<label>Plugin must be enabled to configure</label>
</div>
<div class="form-data block size-2-3">
<a class="button" href="{{ uri.addNonce(base_url_relative ~ '/plugins/' ~ plugin.slug ~ '/task' ~ config.system.param_sep ~ 'enable', 'admin-form', 'admin-nonce') ~ '/redirect:true' }}">
<i class="fa fa-power-off" aria-hidden="true"></i> Enable <strong>{{ plugin.name }}</strong>
</a>
</div>
</div>
</form>
{% endif %}
{% else %} {% else %}
<div class="button-bar success"> <div class="button-bar success">
{% if (plugin.premium and not admin.license(plugin.slug)) %} {% if (plugin.premium and not admin.license(plugin.slug)) %}

View File

@@ -132,7 +132,7 @@
<label>Activation required to configure</label> <label>Activation required to configure</label>
</div> </div>
<div class="form-data block size-2-3"> <div class="form-data block size-2-3">
<a class="button" data-remodal-target="theme-switch-warn" href="{{ uri.addNonce(base_url_relative ~ '/themes/' ~ theme.slug ~ '/task' ~ config.system.param_sep ~ 'activate', 'admin-form', 'admin-nonce') }}" class="gpm-actions"> <a class="button gpm-actions" data-remodal-target="theme-switch-warn" href="{{ uri.addNonce(base_url_relative ~ '/themes/' ~ theme.slug ~ '/task' ~ config.system.param_sep ~ 'activate', 'admin-form', 'admin-nonce') }}">
<i class="fa fa-power-off" aria-hidden="true"></i> {{ "PLUGIN_ADMIN.ACTIVATE"|tu }} <i class="fa fa-power-off" aria-hidden="true"></i> {{ "PLUGIN_ADMIN.ACTIVATE"|tu }}
</a> </a>
</div> </div>

View File

@@ -1,6 +1,7 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set plugin_slug = admin.route %} {% set plugin_slug = admin.route %}
{% set enabled = true %}
{% if plugin_slug %} {% if plugin_slug %}
{% set installing = plugin_slug starts with 'install' %} {% set installing = plugin_slug starts with 'install' %}
@@ -19,6 +20,8 @@
{% set plugin = package.toArray() %} {% set plugin = package.toArray() %}
{% set title = "PLUGIN_ADMIN.PLUGIN"|tu ~ ": " ~ plugin.name|e %} {% set title = "PLUGIN_ADMIN.PLUGIN"|tu ~ ": " ~ plugin.name|e %}
{% set data = admin.data('plugins/' ~ admin.route) %}
{% set enabled = data.get('enabled') %}
{% endif %} {% endif %}
{% else %} {% else %}
{% set title = "PLUGIN_ADMIN.PLUGINS"|tu %} {% set title = "PLUGIN_ADMIN.PLUGINS"|tu %}
@@ -55,7 +58,9 @@
<a class="button" href="{{ admin_route('/plugins') }}"><i class="fa fa-arrow-left"></i> {{ "PLUGIN_ADMIN.BACK_TO_PLUGINS"|tu }}</a> <a class="button" href="{{ admin_route('/plugins') }}"><i class="fa fa-arrow-left"></i> {{ "PLUGIN_ADMIN.BACK_TO_PLUGINS"|tu }}</a>
<a class="button" href="{{ admin_route('/plugins/install') }}"><i class="fa fa-plus"></i> {{ "PLUGIN_ADMIN.ADD"|tu }}</a> <a class="button" href="{{ admin_route('/plugins/install') }}"><i class="fa fa-plus"></i> {{ "PLUGIN_ADMIN.ADD"|tu }}</a>
{% include 'plugins/'~admin.route~'-buttons.html.twig' ignore missing %} {% include 'plugins/'~admin.route~'-buttons.html.twig' ignore missing %}
{% if enabled %}
<button class="button" type="submit" name="task" value="save" form="blueprints"><i class="fa fa-check"></i> {{ "PLUGIN_ADMIN.SAVE"|tu }}</button> <button class="button" type="submit" name="task" value="save" form="blueprints"><i class="fa fa-check"></i> {{ "PLUGIN_ADMIN.SAVE"|tu }}</button>
{% endif %}
</div> </div>
{% else %} {% else %}
<div class="button-bar"> <div class="button-bar">

View File

@@ -16,6 +16,8 @@
{% endif %} {% endif %}
{% set theme = package.toArray() %} {% set theme = package.toArray() %}
{% set state = config.get('system.pages.theme') == theme.slug ? 'active' : 'inactive' %}
{% set title = "PLUGIN_ADMIN.THEME"|tu ~ ": " ~ theme.name|e %} {% set title = "PLUGIN_ADMIN.THEME"|tu ~ ": " ~ theme.name|e %}
{% endif %} {% endif %}
{% else %} {% else %}
@@ -51,7 +53,9 @@
{% if (installed) %} {% if (installed) %}
<div class="button-bar"> <div class="button-bar">
<a class="button" href="{{ admin_route('/themes') }}"><i class="fa fa-arrow-left"></i> {{ "PLUGIN_ADMIN.BACK_TO_THEMES"|tu }}</a> <a class="button" href="{{ admin_route('/themes') }}"><i class="fa fa-arrow-left"></i> {{ "PLUGIN_ADMIN.BACK_TO_THEMES"|tu }}</a>
{% if state == 'active' %}
<button class="button" type="submit" name="task" value="save" form="blueprints"><i class="fa fa-check"></i> {{ "PLUGIN_ADMIN.SAVE"|tu }}</button> <button class="button" type="submit" name="task" value="save" form="blueprints"><i class="fa fa-check"></i> {{ "PLUGIN_ADMIN.SAVE"|tu }}</button>
{% endif %}
</div> </div>
{% else %} {% else %}
<div class="button-bar"> <div class="button-bar">