Browse Source

Modules table system field migration

Modules view button delete/install change to info dialog
master
Egorka 6 years ago
parent
commit
c48826a7d6
  1. 2
      backend/messages/ru/main.php
  2. 37
      backend/views/module/list.php
  3. 28
      backend/views/module/remote-list.php
  4. 25
      console/migrations/m180914_163138_add_modules_system_field.php

2
backend/messages/ru/main.php

@ -79,4 +79,6 @@ return [
'Error module archive' => 'Ошибка архива модуля',
'Module installed successful' => 'Модуль успешно установлен',
'Install' => 'Установить',
'To remove the module, use the following command in the SSH console:' => 'Для удаления модуля введите в SSH консоли сервера команду:',
'To install the module, use the following command in the SSH console:' => 'Для установки модуля введите в SSH консоли сервера команду:',
];

37
backend/views/module/list.php

@ -4,9 +4,9 @@
* Date: 17.08.2018
*/
use core\entities\ModuleRecord;
use yii\helpers\Html;
use core\helpers\ModuleHelper;
use kartik\dialog\Dialog;
/**
* @var $this \yii\web\View
@ -15,14 +15,27 @@ use core\helpers\ModuleHelper;
$this->title = Yii::t('main', 'Modules');
$this->params['breadcrumbs'][] = $this->title;
$message = Yii::t('main', 'To remove the module, use the following command in the SSH console:');
$js = <<<JS
$(".delete-button").on('click', function () {
var name = $(this).data('name');
krajeeDialog.alert('{$message}' + "\\n" + '<pre><code>php yii module/remove ' + name + '</code></pre>');
});
JS;
$this->registerJs($js, $this::POS_READY);
?>
<?= Dialog::widget([
'options' => [],
]);
?>
<div class="row">
<?php foreach ($modules as $module): ?>
<?php foreach ($modules as $module) : ?>
<?php
$color = $module->isEnabled() ? '#00aced' : '#cccccc';
if ($module->isDisabled()) {
ModuleHelper::addModuleAdminTranslation($module->name);
@ -36,20 +49,21 @@ $this->params['breadcrumbs'][] = $this->title;
<div class="box">
<div class="box-header with-border">
<h3 class="box-title"><i class="fa fa-power-off" aria-hidden="true" style="color: <?= $color ?>"></i> <?= $module_name ?></h3>
<h3 class="box-title"><i class="fa fa-power-off" aria-hidden="true"
style="color: <?= $color ?>"></i> <?= $module_name ?></h3>
</div>
<div class="box-body">
<?= $module_description ?>
</div>
<div class="box-footer" style="text-align: right">
<?php if ($module->isEnabled()): ?>
<?php if ($module->isEnabled()) : ?>
<?= Html::a(Yii::t('main', 'Disable'), ['module/disable', 'id' => $module->id], [
'class' => 'btn btn-default btn-sm',
'data' => [
'method' => 'post',
],
]) ?>
<?php else: ?>
<?php else : ?>
<?= Html::a(Yii::t('main', 'Enable'), ['module/enable', 'id' => $module->id], [
'class' => 'btn btn-default btn-sm',
'data' => [
@ -58,15 +72,12 @@ $this->params['breadcrumbs'][] = $this->title;
]) ?>
<?php endif; ?>
<?= Html::a(Yii::t('buttons', 'Delete'), ['module/delete', 'id' => $module->id], [
'class' => 'btn btn-danger btn-sm',
'data' => [
'confirm' => Yii::t('buttons', 'Are you sure you want to delete this item?'),
'method' => 'post',
],
<?= Html::button(Yii::t('buttons', 'Delete'), [
'class' => 'btn btn-danger btn-sm delete-button',
'data-name' => $module->name,
]) ?>
</div>
</div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
</div>

28
backend/views/module/remote-list.php

@ -5,6 +5,7 @@
*/
use yii\helpers\Html;
use kartik\dialog\Dialog;
/**
* @var $this \yii\web\View
@ -14,12 +15,25 @@ use yii\helpers\Html;
$this->title = Yii::t('main', 'Available Modules');
$this->params['breadcrumbs'][] = $this->title;
$message = Yii::t('main', 'To install the module, use the following command in the SSH console:');
$js = <<<JS
$(".install-button").on('click', function () {
var name = $(this).data('name');
krajeeDialog.alert('{$message}' + "\\n" + '<pre><code>php yii module/install ' + name + '</code></pre>');
});
JS;
$this->registerJs($js, $this::POS_READY);
?>
<?php if ($message) : ?>
<div><?= $message ?></div>
<?php endif; ?>
<?= Dialog::widget([
'options' => [],
]);
?>
<div class="row">
@ -43,18 +57,12 @@ $this->params['breadcrumbs'][] = $this->title;
</div>
<div class="box-footer" style="text-align: right">
<?php if (Yii::$app->moduleManager->isExists($module['name'])) : ?>
<?= Html::a(Yii::t('main', 'Installed'), '#', [
<?= Html::button(Yii::t('main', 'Installed'), [
'class' => 'btn btn-default btn-sm disabled',
'data' => [
'method' => 'post',
],
]) ?>
<?php else : ?>
<?= Html::a(Yii::t('main', 'Install'), ['module/install', 'name' => $module['name']], [
'class' => 'btn btn-success btn-sm',
'data' => [
'method' => 'post',
],
<?= Html::button(Yii::t('main', 'Install'), [
'class' => 'btn btn-success btn-sm install-button',
]) ?>
<?php endif; ?>
</div>

25
console/migrations/m180914_163138_add_modules_system_field.php

@ -0,0 +1,25 @@
<?php
use yii\db\Migration;
/**
* Class m180914_163138_add_modules_system_field
*/
class m180914_163138_add_modules_system_field extends Migration
{
/**
* {@inheritdoc}
*/
public function safeUp()
{
$this->addColumn('{{%modules}}', 'system', $this->integer(1)->defaultValue(0));
}
/**
* {@inheritdoc}
*/
public function safeDown()
{
$this->dropColumn('{{%modules}}', 'system');
}
}
Loading…
Cancel
Save