(function(window) { var Gitana = window.Gitana; Gitana.Registration = Gitana.AbstractApplicationObject.extend( /** @lends Gitana.Registration.prototype */ { /** * @constructs * @augments Gitana.AbstractApplicationObject * * @class Registration * * @param {Gitana.Application} application * @param [Object] object json object (if no callback required for populating) */ constructor: function(application, object) { this.base(application, object); this.objectType = function() { return "Gitana.Registration"; }; }, /** * @override */ clone: function() { return new Gitana.Registration(this.getApplication(), this); }, /** * @OVERRIDE */ getType: function() { return Gitana.TypedIDConstants.TYPE_REGISTRATION; }, /** * @OVERRIDE */ getUri: function() { return "/applications/" + this.getApplicationId() + "/registrations/" + this.getId(); }, sendConfirmationEmail: function() { var self = this; var uriFunction = function() { return self.getUri() + "/send/confirmation"; }; return this.chainPostEmpty(this, uriFunction, {}, this); }, sendWelcomeEmail: function() { var self = this; var uriFunction = function() { return self.getUri() + "/send/welcome"; }; return this.chainPostEmpty(this, uriFunction, {}, this); }, confirm: function(newUserPassword, paymentMethodObject) { if (!paymentMethodObject) { paymentMethodObject = {}; } var params = { "password": newUserPassword }; var self = this; var uriFunction = function() { return self.getUri() + "/confirm"; }; return this.chainPostEmpty(this, uriFunction, params, paymentMethodObject); } }); })(window);