[open-ils-commits] r13943 - in branches/rel_1_6/Open-ILS/web: js/ui/default/conify/global/action_trigger templates/default/conify/global/action_trigger (erickson)

svn at svn.open-ils.org svn at svn.open-ils.org
Tue Sep 1 14:41:25 EDT 2009


Author: erickson
Date: 2009-09-01 14:41:21 -0400 (Tue, 01 Sep 2009)
New Revision: 13943

Modified:
   branches/rel_1_6/Open-ILS/web/js/ui/default/conify/global/action_trigger/event_definition.js
   branches/rel_1_6/Open-ILS/web/templates/default/conify/global/action_trigger/event_definition.tt2
Log:
added ability to clone event_def environment when an event_def is cloned

Modified: branches/rel_1_6/Open-ILS/web/js/ui/default/conify/global/action_trigger/event_definition.js
===================================================================
--- branches/rel_1_6/Open-ILS/web/js/ui/default/conify/global/action_trigger/event_definition.js	2009-09-01 18:41:07 UTC (rev 13942)
+++ branches/rel_1_6/Open-ILS/web/js/ui/default/conify/global/action_trigger/event_definition.js	2009-09-01 18:41:21 UTC (rev 13943)
@@ -21,6 +21,37 @@
     dojo.connect(eventDefTabs,'selectChild', tabLoader);
 }
 
+/**
+ * After an event def is cloned, see if the user wants to also clone the event def environment
+ * @param {Object} oldItem Grid store item that was cloned
+ * @param {Object} newObject Newly created fieldmapper object
+ */
+function cloneEventEnv(oldItem, newObject) {
+    if(!confirm('Clone event definition environment as well?')) return; // TODO i18n
+    progressDialog.show(true);
+    var pcrud = new openils.PermaCrud();
+
+    // fetch the env list for the cloned object
+    var env_list = pcrud.search('atenv', {event_def : edGrid.store.getValue(oldItem, 'id')});
+
+    if(env_list && env_list.length) {
+        
+        // clone the environment 
+        env_list = env_list.map(
+            function(item) { 
+                item.id(null);
+                item.event_def(newObject.id()); 
+                return item; 
+            }
+        );
+    
+        // create the cloned environment list
+        pcrud.create(env_list);
+    }
+
+    progressDialog.hide();
+}
+
 function loadEventDefData() { 
     var pcrud = new openils.PermaCrud();
     eventDef = pcrud.retrieve('atevdef', eventDefId);

Modified: branches/rel_1_6/Open-ILS/web/templates/default/conify/global/action_trigger/event_definition.tt2
===================================================================
--- branches/rel_1_6/Open-ILS/web/templates/default/conify/global/action_trigger/event_definition.tt2	2009-09-01 18:41:07 UTC (rev 13942)
+++ branches/rel_1_6/Open-ILS/web/templates/default/conify/global/action_trigger/event_definition.tt2	2009-09-01 18:41:21 UTC (rev 13943)
@@ -1,7 +1,9 @@
 [% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Event Definitions' %]
 <script src='[% ctx.media_prefix %]/js/ui/default/conify/global/action_trigger/event_definition.js'> </script>
 <script>openils.Util.addOnLoad(loadEventDef)</script>
 
+
 <div dojoType="dijit.layout.TabContainer" style='height:100%;' jsId='eventDefTabs'>
 
     <div dojoType="dijit.layout.ContentPane" title='Event Definitions' id='tab-atevdef'>
@@ -9,7 +11,7 @@
             <div>Trigger Event Definitions</div>
             <div>
                 <button dojoType='dijit.form.Button' onClick='edGrid.showCreatePane()'>New</button>
-                <button dojoType='dijit.form.Button' onClick='edGrid.showClonePane()'>Clone Selected</button>
+                <button dojoType='dijit.form.Button' onClick='edGrid.showClonePane(cloneEventEnv)'>Clone Selected</button>
                 <button dojoType='dijit.form.Button' onClick='edGrid.deleteSelected()'>Delete Selected</button>
             </div>
         </div>
@@ -99,6 +101,9 @@
         </div>
     </div>
 
+</div>
 
+<div jsId='progressDialog' dojoType='openils.widget.ProgressDialog' indeterminate='true'></div>
+
 [% END %]
 



More information about the open-ils-commits mailing list