user.js 1.02 KB
function User(userSelector, menu)
{
	this.userElement = $(userSelector);
	this.menu        = menu;

	this.update();
}

User.prototype.update = function() {
	$.getJSON("/currentuser/", $.proxy(this._setData, this));
}

User.prototype.clear = function() {
	this.username  = "";
	this.email     = "";
	this.firstname = "";
	this.surname   = "";

	this._displayUser();
}

User.prototype.isEmpty = function() {
	if ("" == this.username) {
		return true;
	}

	return false;
}


User.prototype._setData = function(data) {
	this.username  = data.username;
	this.email     = data.email;
	this.firstname = data.firstname;
	this.surname   = data.surname;

	this._displayUser();
	this.menu.update();
}

User.prototype._displayUser = function() {
	if (this.isEmpty()) {
		this.userElement.empty().append("not logged in");
	} else {
		if ("" == this.firstname || "" == this.surname) {
			this.userElement.empty().append(this.username);
		} else {
			this.userElement.empty()
				.append(this.firstname + " " + this.surname);
		}
	}
}

// vim: set ts=4 sw=4: