/** * EGroupware clientside API object * * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License * @package etemplate * @subpackage api * @link http://www.egroupware.org * @author Andreas Stöckel (as AT stylite.de) * @author Ralf Becker * @version $Id$ */ "use strict"; /*egw:uses egw_core; */ egw.extend('user', egw.MODULE_GLOBAL, function() { /** * Data about current user * * @access: private, use egw.user(_field) or egw.app(_app) */ var userData = {}; return { /** * Set data of current user * * @param object _data */ set_user: function(_data) { this.userData = _data; }, /** * Get data about current user * * @param string _field * - 'account_id','account_lid','person_id','account_status', * - 'account_firstname','account_lastname','account_email','account_fullname','account_phone' * - 'apps': object with app => data pairs the user has run-rights for * @return string|array|null */ user: function (_field) { return this.userData[_field]; }, /** * Return data of apps the user has rights to run * * Can be used the check of run rights like: if (egw.app('addressbook')) { do something if user has addressbook rights } * * @param string _app * @param string _name attribute to return, default return whole app-data-object * @return object|string|null null if not found */ app: function(_app, _name) { return typeof _name == 'undefined' || typeof this.userData.apps[_app] == 'undefined' ? this.userData.apps[_app] : this.userData.apps[_app][_name]; } }; });