(function(window) { var Gitana = window.Gitana; Gitana.Activity = Gitana.AbstractObject.extend( /** @lends Gitana.Activity.prototype */ { /** * @constructs * @augments Gitana.AbstractObject * * @class Activity * * @param {Gitana.DataStore} datastore * @param [Object] object json object (if no callback required for populating) */ constructor: function(datastore, object) { this.base(datastore.getDriver(), object); this.objectType = function() { return "Gitana.Activity"; }; this.getDataStore = function() { return datastore; }; }, getUri: function() { return this.getDataStore().getUri() + "/activities/" + this.getId(); }, /** * @override */ clone: function() { return new Gitana.Activity(this.getDataStore(), this); }, /** * Delete * * @chained datastore * * @public */ del: function() { var uriFunction = function() { return this.getUri(); }; // NOTE: pass control back to the datastore return this.chainDelete(this.getDataStore(), uriFunction); }, /** * Reload * * @chained security group * * @public */ reload: function() { var uriFunction = function() { return this.getUri(); }; return this.chainReload(null, uriFunction); }, /** * Update * * @chained security group * * @public */ update: function() { var uriFunction = function() { return this.getUri(); }; return this.chainUpdate(null, uriFunction); }, ////////////////////////////////////////////////////////////////////////////////////// // // ACCESSORS // ////////////////////////////////////////////////////////////////////////////////////// getType: function() { return this.get("type"); }, getTimestamp: function() { return this.get("timestamp"); }, // user getUserDomainId: function() { return this.get("userDomainId"); }, getUserId: function() { return this.get("userId"); }, getUserTitle: function() { return this.get("userTitle"); }, getUserEmail: function() { return this.get("userEmail"); }, getUserName: function() { return this.get("userName"); }, // object getObjectDataStoreTypeId: function() { return this.get("objectDatastoreTypeId"); }, getObjectDataStoreId: function() { return this.get("objectDatastoreId"); }, getObjectDataStoreTitle: function() { return this.get("objectDatastoreTitle"); }, getObjectTypeId: function() { return this.get("objectTypeId"); }, getObjectId: function() { return this.get("objectId"); }, getObjectTitle: function() { return this.get("objectTitle"); }, // other getOtherDataStoreTypeId: function() { return this.get("otherDatastoreTypeId"); }, getOtherDataStoreId: function() { return this.get("otherDatastoreId"); }, getOtherDataStoreTitle: function() { return this.get("otherDatastoreTitle"); }, getOtherTypeId: function() { return this.get("otherTypeId"); }, getOtherId: function() { return this.get("otherId"); }, getOtherTitle: function() { return this.get("otherTitle"); } }); })(window);