{I" class:ETI"BundledAsset;FI"logical_path;TI"cms/site.js;TI" pathname;TI"k/usr/local/rvm/gems/ruby-2.1.2/bundler/gems/browsercms-a0b88590276e/app/assets/javascripts/cms/site.js;FI"content_type;TI"application/javascript;TI" mtime;Tl+æTI" length;Ti“I" digest;TI"%a0a313b318cdd146e4e8868c49b25998;FI" source;TI"“// Determine if an element exists. // i.e. if($('.some-class').exists()){ // do something } jQuery.fn.exists = function() { return this.length > 0; }; // Sets up the Cms namespace for other modules. var Cms = Cms || {}; 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(); } } ); } }); // The public javascript functions that must be available to guest users. ; ;TI"required_assets_digest;TI"%4c0ae939208ad7a1a92d5fee1f7557b3;FI" _version;TI"%5ef14a844324cba3e114bd0123f88a5e;F