Welcome to mirror list, hosted at ThFree Co, Russian Federation.

setuptwofactor.controller.js « setuptwofactor « angularjs « TwoFactorAuth « plugins - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9055b8a7c926b04239ef515c3fcb131dd00db30c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*!
 * Matomo - free/libre analytics platform
 *
 * @link https://matomo.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

(function () {
    angular.module('piwikApp').controller('SetupTwoFactorAuthController', SetupTwoFactorAuthController);

    SetupTwoFactorAuthController.$inject = ['$timeout', 'piwik', '$scope'];

    function SetupTwoFactorAuthController($timeout, piwik, $scope) {

        var self = this;
        this.step = 1;
        this.hasDownloadedRecoveryCode = false;

        this.scrollToEnd = function () {
            $timeout(function () {
                var id = '';
                if (self.step === 2) {
                    id = '#twoFactorStep2';
                } else if (self.step === 3) {
                    id = '#twoFactorStep3';
                }
                if (id) {
                    piwik.helper.lazyScrollTo(id, 50, true);
                }
            }, 50);
        }

        this.nextStep = function ()
        {
            this.step++;
            this.scrollToEnd();
        }

        $timeout(function () {

            var qrcode = new QRCode(document.getElementById("qrcode"), {
                text: window.twoFaBarCodeSetupUrl
            });
            angular.element('#qrcode').attr('title', ''); // do not show secret on hover

            angular.element('.backupRecoveryCode').click(function () {
                self.hasDownloadedRecoveryCode = true;
                $timeout(function () {
                    $scope.$apply();
                }, 1);
            });

            if (angular.element('.setupTwoFactorAuthentication .message_container').length) {
                // user entered something wrong
                self.step = 3;
                self.scrollToEnd();
            }
        });
    }
})();