Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
fun-apps / static / funsite / js / fun.js
Size: Mime:
(function() {
    var form_origin_position;

    // select current page menu item
    var page = window.location.pathname.split('/')[1];
    $('#sandwich-overlay [data-location="'+ page +'"]').addClass('selected');

    /* Login overlay */
    $('#top-menu .right-header .login-link').on('click', function(event) {
        $('#login-overlay').toggle();
        if ($('#login-overlay').is(':visible')) {
            $('#login-overlay input[name="email"]').focus();
        }
    });

    function getParameterByName(name) {
        // Retrieve query parameters in url using hash character:
        // /cours/#filter?page=1&rpp=50&query=test
        url = window.location.href;
        name = name.replace(/[\[\]]/g, "\\$&");
        var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
            results = regex.exec(url);
        if (!results) {return null;}
        if (!results[2]) {return '';}
        return decodeURIComponent(results[2].replace(/\+/g, " "));
    }

    if (window.location.pathname == '/cours/') {
        // when on course list page this will set search widget to current search value is any
        $('#search-site').val(getParameterByName('query'));
    }

    $('.login-form').on('submit', function(event) {
        if ($(this).hasClass("login-form-page")) {
            form_origin_position = "login-page";
        }
        else {
            form_origin_position = "overlay";
        }
        event.preventDefault();
        $.ajax({
            url: '/login_ajax',
            method: 'POST',
            data: $(this).serialize(),
            success: function(json){
                if (json.success) {
                    var u = decodeURI(window.location.search);
                    var next = u.split("next=")[1];
                    if (next !== undefined) {
                        // if next is undefined, decodeURI returns "undefined" causing a bad redirect.
                        next = decodeURIComponent(next);
                    }
                    if (next && !isExternal(next)) {
                        location.href=next;
                    }  else if (json.redirect_url) {
                        location.href=json.redirect_url;
                    } else {
                        location.href="/dashboard";
                    }
                } else if (json.hasOwnProperty('redirect')) {
                    var u = decodeURI(window.location.search);
                    if (!isExternal(json.redirect)) { // a paranoid check.  Our server is the one providing json.redirect
                        location.href=json.redirect+u;
                    } // else we just remain on this page, which is fine since this particular path implies a login failure
                // that has been generated via packet tampering (json.redirect has been messed with).
                } else {
                    if (form_origin_position == "overlay") {
                        $('#login-overlay').find('input').addClass('loginerror');
                        $('#login-overlay').find('.error').html(json.value);
                    }
                    else {
                        $('.login-row').find('.form-group').addClass('has-error');
                        var error_div = $('.login-form-page').find('.error-login-page');
                        error_div.html(json.value);
                        error_div.addClass('alert alert-danger');
                    }
                }
            },
            error: function(response) {
                $('#login-overlay').find('input').addClass('loginerror');
                $('#login-overlay').find('.error').html(gettext("Your request could not be completed. Please try again"));
            }
        });
    });

    $('#pwd_reset_form').on('submit', function(event) {
        event.preventDefault();
        $.ajax({ url: '/password_reset/',
            method: 'POST',
            data: $(this).serialize(),
            success: onSuccessPasswordReset,
        });
    });

    function onSuccessPasswordReset(html) {
        $('#modal-forget-password .modal-header .modal-title').html($('.modal-header').data().success);
        $('#modal-forget-password .modal-body').html($('.modal-body').data().success);
    }
})();