App-MFILE-WWW

 view release on metacpan or  search on metacpan

share/js/core/loggout.js  view on Meta::CPAN

// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of SUSE LLC nor the names of its contributors may be
// used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
// *************************************************************************
//
// loggout.js
//
// function to log out the user
//
// N.B.: The extra "g" in "loggout" is just for kicks.
//
"use strict";

define([
    'jquery', 
    'app/lib',
    'ajax',
    'cf',
    'current-user',
    'html',
    'lib',
], function (
    $, 
    appLib,
    ajax,
    cf,
    currentUser,
    html,
    coreLib,
) {

    return function (msg) {

        var logoutPostAJAX = function (msg) {
                currentUser('obj', null);
                currentUser('priv', null);
                appLib.fillUserBox();
                $('#mainarea').html(html.logout());
                // This code used to automatically reload the page upon logout,
                // but experience showed that automated page reloads are a
                // source of woe because they make debugging difficult
                // if (! cf('testing')) {
                //     setTimeout(function() {
                //         location.reload();
                //     }, 2000);
                // }
            },
            rest = {
                method: 'LOGIN',
                path: 'logout',
                body: null
            },
            sc = function (st) {
                if (! msg) {
                    msg = st.text;
                }
                logoutPostAJAX(msg);
            },
            fc = function (st) {
                logoutPostAJAX(st.text);
            };
        ajax(rest, sc, fc);

    };

});



( run in 0.514 second using v1.01-cache-2.11-cpan-39bf76dae61 )