summaryrefslogtreecommitdiffstats
path: root/src/wwwroot/scripts/login.js
blob: 247301b99a7341cb4877e9b1fa5d005acdd04f04 (plain) (blame)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
$("#login-form").on("submit", function(e) {
    let form = $(this);
    let errorMessage = $("#error");
    errorMessage.hide();
    form.addClass("loading");
    let values = form.form("get values");
    if (!values) {
        errorMessage.text("En feil oppstod, vennligst prøv igjen senere");
        errorMessage.show();
        form.removeClass("loading");
        return;
    }
    if (!values.username || !values.password) {
        errorMessage.text("Ett eller flere felt er ikke fylt inn.");
        errorMessage.show();
        form.removeClass("loading");
        return;
    }

    if (!$.isEmail(values.username)) {
        errorMessage.text("Det ser ikke ut som e-postadresse.");
        errorMessage.show();
        form.removeClass("loading");
        return;
    }
    let requestVerificationToken = values.__RequestVerificationToken;
    delete values.__RequestVerificationToken;
    $.ajax({
        method: "post",
        url: "/api/account/login",
        data: JSON.stringify(values),
        processData: false,
        contentType: "application/json",
        beforeSend: function(xhr) {
            xhr.setRequestHeader(
                "RequestVerificationToken",
                requestVerificationToken
            );
        },
        success: function() {
            location.replace("/app");
        },
        error: function(e) {
            console.error(e);
            form.removeClass("loading");
            if (e.status === 400 && e.responseJSON) {
                errorMessage.text(e.responseJSON);
                errorMessage.show();
            } else {
                errorMessage.text(
                    "Kunne ikke logge deg inn, vennligst prøv igjen senere"
                );
                errorMessage.show();
            }
        }
    });
});
let forgotModal = $("#forgot-form-modal");
$("#forgot-pass-link").on("click", function () {
    forgotModal.modal("show")
});

$("#forgot-form").on("submit", function(e) {
    let email = $("#forgot-email").val();
    if (!$.isEmail(email)) return;
    $.ajax({
        url: "/api/account/forgot?email=" + email,
        success: function (e) {
            $.notificate("Suksess", "Hvis vi finner deg i våre systemer får du straks ett nytt passord på mail.", "success");
            forgotModal.modal("hide")
        },
        error: function (e) {
            $.notificate("En feil oppstod", "Vennligts prøv igjen senere", "error");
        }
    });
});