From: erickson Date: Wed, 18 Feb 2009 04:49:20 +0000 (+0000) Subject: added onchange to set expire date based on profile group selected X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=e3db2462720e92ff177d1f974decb2c1e908d8ea;p=Evergreen.git added onchange to set expire date based on profile group selected git-svn-id: svn://svn.open-ils.org/ILS/trunk@12214 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/js/ui/default/actor/user/register.js b/Open-ILS/web/js/ui/default/actor/user/register.js index ccd6e6197c..6cff108ea9 100644 --- a/Open-ILS/web/js/ui/default/actor/user/register.js +++ b/Open-ILS/web/js/ui/default/actor/user/register.js @@ -8,6 +8,7 @@ dojo.require('openils.widget.AutoGrid'); dojo.require('openils.widget.AutoFieldWidget'); dojo.require('dijit.form.CheckBox'); dojo.require('dijit.form.Button'); +dojo.require('dojo.date'); var pcrud; var fmClasses = ['au', 'ac', 'aua', 'actsc', 'asv', 'asvq', 'asva']; @@ -179,9 +180,36 @@ function fleshFMRow(row, fmcls, args) { widget._fmfield = fmfield; widget._addr = args.addr; widgetPile.push(widget); + attachEvents(fmcls, fmfield, widget); return widget; } +function attachEvents(fmcls, fmfield, widget) { + if(fmcls == 'au') { + switch(fmfield) { + + case 'profile': // when the profile changes, update the expire date + dojo.connect(widget.widget, 'onChange', + function() { + + var expireWidget = widgetPile.filter( + function(i){return (i._fmfield == 'expire_date')})[0]; + var self = this; + + function found(items) { + if(items.length == 0) return; + var item = items[0]; + var interval = self.store.getValue(item, 'perm_interval'); + expireWidget.widget.attr('value', + dojo.date.add(new Date(), 'second', openils.Util.intervalToSeconds(interval))); + } + this.store.fetch({onComplete:found, query:{id:this.attr('value')}}); + } + ); + } + } +} + function getByName(node, name) { return dojo.query('[name='+name+']', node)[0]; }