API-module

Критически важные изменения

  • [Core] Добавлен новый функционал Обслуживание проекта, для его работы необходим конфиг-файл api/app/Configs/SettingsMaintenance.php следующего содержания:
    <?php
    /**
     * Параметры обслуживания
     *
     * @author  Дмитрий Щербаков <atomcms@ya.ru>
     * @version 21.11.2019
     */
    
    namespace Lemurro\Api\App\Configs;
    
    /**
     * Class SettingsMaintenance
     *
     * @package Lemurro\Api\App\Configs
     */
    class SettingsMaintenance
    {
        /**
         * Включить \ Выключить обслуживание проекта
         *
         * @var boolean
         */
        const ACTIVE = false;
    
        /**
         * Сообщение об обслуживании
         *
         * @var string
         */
        const MESSAGE = 'Проект "' . SettingsGeneral::APP_NAME . '" временно остановлен для обслуживания, пожалуйста повторите через 5 минут или обновите страницу';
    }
    
    
  • [Users] Изменён тип поля roles для поиска пользователей по правам доступа:
    ALTER TABLE `info_users`
        CHANGE `roles` `roles` JSON NULL DEFAULT NULL;
    
  • [Users] В таблицу users добавлены новые поля (теперь в таблице users запись физически не удаляется):
    ALTER TABLE `users`
        ADD `updated_at` DATETIME NULL AFTER `created_at`,
        ADD `deleted_at` DATETIME NULL AFTER `updated_at`;
    

WEB-module

Критически важные изменения

  • Перевод разделов Example, Справочники и Пользователи на использование хелпера lemurro.helper.initBootstrapConfirmation.

    В ядре больше не используются запросы на удаление элементов, теперь вы можете использовать встроенный хелпер lemurro.helper.initBootstrapConfirmation или запрограммировать свой вариант запроса.

    Для перехода на встроенный хелпер необходимо в кнопках, которые требуют подтверждения действия, добавить код: data-toggle="confirmation", инициализация уже находится в ядре

    Если вы какие-то элементы наполняли или меняли самостоятельно тогда необходимо после изменений в DOM запустить инициализацию хелпера для этих элементов:

    // При генерации большого количества элементов с кнопками, можно передать целиком контейнер в котором внесли изменения
    var container = $('#js-example__items');
    lemurro.helper.initBootstrapConfirmation(container, null);
    
    // Либо всего один элемент набора
    var row = $('#js-users__items').find('tr[data-item-id="' + result.data.id + '"]');
    lemurro.helper.initBootstrapConfirmation(row, null);
    

    Подробную информацию о хелпере смотрите в документации.

  • Методы lemurro.users.lock и lemurro.users.unlock необходимо вызывать из собственных методов, чтобы можно было создать callback, для этого необходимо добавить новые методы в каталог /src/js/users/

    • Файл 300-lock.js
      /**
       * Заблокировать пользователя
       *
       * @param {string} id ИД записи
       *
       * @author  Дмитрий Щербаков <atomcms@ya.ru>
       * @version 21.01.2020
       */
      users.lock = function (id) {
          lemurro.users.lock(id, function (result) {
              //
          });
      };
      
    • Файл 300-unlock.js
      /**
       * Разблокировать пользователя
       *
       * @param {string} id ИД записи
       *
       * @author  Дмитрий Щербаков <atomcms@ya.ru>
       * @version 21.01.2020
       */
      users.unlock = function (id) {
          lemurro.users.unlock(id, function (result) {
              //
          });
      };
      
    • И в файле /src/html/pages/users/tpl_item.html перейти на новые методы вместо lemurro.users.lock и lemurro.users.unlock поставить users.lock и users.unlock

Изменения средней важности

  • [Пользователи] Добавление фильтра поиска пользователей
    • В файле /src/html/pages/users/content.html перед списком пользователей необходимо добавить фильтр
      <!-- include "users/filter.html" -->
      <!-- include "users/list.html" -->
      
    • Сожержимое файла /src/html/pages/users/filter.html можно взять здесь
    • Из файла /src/html/pages/users/list.html необходимо убрать кнопку Добавить и поле старого фильтра