/* * Helper object for working with users within xpages * Rocky Bevins 2009 (moreoutput@gmail.com) */ var User = function() { } User.prototype.create = function(fn) { var userDoc = database.createDocument(); userDoc.appendItemValue('Form', 'Register'); userDoc.appendItemValue('FirstName', params.getParameter('FirstName')); userDoc.appendItemValue('LastName', params.getParameter('LastName')); userDoc.appendItemValue('InternetAddress', params.getParameter('InternetAddress')); userDoc.appendItemValue('HTTPPassword', params.getParameter('HTTPPassword')); return fn(userDoc.save()); } /* * Shorthand for checking the myriad of different possible groups one could be in. * Main use is for routing based on group membership. */ User.prototype.isInGroup = function(options, fn) { var db = (function() { if (options.database === undefined || options.database === null || options.database === 'site') { return session.getDatabase('', ''); } else { return session.getDatabase('', options.database); } }()), i = 0, j = 0, gDoc, members; for (i; i < options.groups.length; i += 1) { gDoc = db.getView('($VIMGroups)').getDocumentByKey(options.groups[i]); if (gDoc !== null) { members = new Array(gDoc.getItemValue('Members')); for (j; j