Загрузка данных


init: function() {
    // 1. Проверяем, что пользователь зашел именно на страницу логина
    if (window.location.pathname.toLowerCase().indexOf('/login/login.html') !== -1) {
        
        // Вспомогательная функция для поиска значения куки по имени
        var getCookie = function(name) {
            var matches = document.cookie.match(new RegExp(
                "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
            ));
            return matches ? decodeURIComponent(matches[1]) : undefined;
        };

        // 2. Ищем куку защиты от CSRF, которую Creatio выдает только живой сессии
        var bpmCsrf = getCookie("BPMCSRF");

        if (bpmCsrf && bpmCsrf.trim() !== "") {
            // Кука найдена -> сессия существует. 
            // Вычисляем корень сайта и мгновенно уводим пользователя в Shell
            var basePath = window.location.pathname.replace(/\/Login\/Login\.html/i, '');
            window.location.href = window.location.origin + basePath + '/0/Shell/';
            
            return; // Прерываем выполнение init(), предотвращая рендер формы логина
        }
    }

    // 3. Если куки нет, управление передается стандартному коду Creatio
    this.callParent(arguments);
}