diff --git a/browser/loops.js b/browser/loops.js index 340cbe2..fbf8ad8 100755 --- a/browser/loops.js +++ b/browser/loops.js @@ -65,6 +65,17 @@ function setIf(node, cond, acts) { } } +function setIfN(node, conds, acts) { + dojo.forEach(conds, function(cond) { + if (node.value == cond) { + dojo.forEach(acts, function(act) { + target = dijit.byId(act[0]); + target.setValue(act[1]); + }) + } + }) +} + function destroyWidgets(node) { dojo.forEach(dojo.query('[widgetId]', node), function(n) { w = dijit.byNode(n); diff --git a/organize/work/browser.py b/organize/work/browser.py index d170d76..900187a 100644 --- a/organize/work/browser.py +++ b/organize/work/browser.py @@ -611,7 +611,7 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView): self.actionJs['showIf'], self.actionJs['setIfStart']] if self.state in ('done',): - js.append(self.actionJs['setIfFinish']) + js.append(self.actionJs['setIfWF']) return ';\n'.join(js) actionJs = dict(setDefault="defValue = this.form.default_date.value", @@ -624,10 +624,11 @@ setIf(this, 'start', [['start_date', defValue], ['end_time', null], ['duration', ''], ['effort', '']])""", - setIfFinish=""" -setIf(this, 'finish', [['start_date', defValue], - ['start_time', defValue], - ['end_time', defValue], + setIfWF=""" +setIfN(this, ['work', 'finish'], [ + ['start_date', defValue], + ['start_time', null], + ['end_time', null], ['duration', ''], ['effort', '']])""", )