Sha256: 119d52861b9b03a2a9fda56ddf283260badf71e656b44c2b48a24815732eba80

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

Contents

//= require 'jquery.exists'
//= require 'cms/namespace'

Cms.User = function() {
};

// Find the current user and then take action based on whether the current user is authenticated or not.
// @todo - Avoid repeated AJAX calls to find the user if this is involved multiple times.
//
// @param [ObjectLiteral] options
// @option options [Function] :authenticated Call for authenticated users.
// @option options [Function] :guest (Optional) Call for guests.
//
// @example  Cms.User.current({
//    authenticated: function(user){ alert("Hello " + user.first_name);
// }); 
Cms.User.current = function(handler) {
  $.getJSON('/cms/user.json', function(user) {
//    console.log("current_user", user);
    if (user.is_logged_in) {
      handler.authenticated(user);
    } else if (handler.guest) {
      handler.guest(user);
    }
  });
};

// Default Handler for login portlet. Hide the form, show 'Hello $first_name'
jQuery(function($){
  if ($('.login-portlet').exists()) {
    Cms.User.current({
        authenticated: function(user) {
          $('.authenticated').show().find('.first-name').html(user.first_name);
          $('.guest').hide();
        }
      }
    );
  }
});

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
browsercms-4.0.0.rc1 app/assets/javascripts/cms/user.js
browsercms-4.0.0.beta app/assets/javascripts/cms/user.js