%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/intranet.vacivitta.com.br/assets/207c3e79/js/
Upload File :
Create Path :
Current File : /home/vacivi36/intranet.vacivitta.com.br/assets/207c3e79/js/humhub.twofa.js

/*
 * @link https://www.humhub.org/
 * @copyright Copyright (c) 2020 HumHub GmbH & Co. KG
 * @license https://www.humhub.com/licences
 */
humhub.module('twofa', function (module, require, $) {
    var client = require('client');
    var loader = require('ui.loader');
    var modal = require('ui.modal');

    module.selectGoogleAuthenticatorDriver = function(configLayoutSelector) {
        // Request QR code automatically(without confirmation) on first selecting the driver:
        if ($(configLayoutSelector + ' #twofaGoogleAuthCode').html().trim() === '') {
            $(configLayoutSelector + ' [data-action-click="twofa.callDriverAction"]')
                .data('driver-confirm', 0)
                .click()
                .data('driver-confirm', 1);
        }
    };

    var selectDriver = function(evt) {
        $('[data-driver-fields]').hide();
        var configLayoutSelector = '[data-driver-fields="' + evt.$trigger.val().replaceAll('\\', '\\\\') + '"]';

        // Additional action per each Driver:
        var driverSelectFunctionName = 'select' + evt.$trigger.val().substr(evt.$trigger.val().lastIndexOf('\\') + 1);
        if (typeof module[driverSelectFunctionName] === 'function') {
            module[driverSelectFunctionName](configLayoutSelector);
        }

        $(configLayoutSelector).show();
    };

    var callDriverAction = function(evt) {
        var $container = $(evt.$trigger.data('container'));
        loader.set($container);
        var callAction = function() {
            var data = {
                driver: evt.$trigger.data('driver-class'),
                action: evt.$trigger.data('driver-action'),
            };
            return client.post(evt, {data}).then(function (response) {
                $container.html(response.html);
            }).catch(function (err) {
                module.log.error(err, true);
            });
        };
        if (evt.$trigger.data('driver-confirm')) {
            var options = {
                'header': module.text('confirm.action.header'),
                'body': module.text('confirm.action.question'),
                'confirmText': module.text('confirm.action.button'),
            };
            modal.confirm(options).then(function (confirm) {
                confirm ? callAction() : loader.reset($container);
            }).finally(function () {
                evt.finish();
            });
        } else {
            callAction().finally(function () {
                evt.finish();
            });
        }
    };

    module.export({
        selectDriver,
        callDriverAction,
    });
});

Zerion Mini Shell 1.0