Fix overzealous template application collab/phasefx/unified_editor_sync_and_template_fixes
authorJason Etheridge <jason@esilibrary.com>
Mon, 1 Aug 2011 06:10:15 +0000 (02:10 -0400)
committerJason Etheridge <jason@esilibrary.com>
Mon, 1 Aug 2011 06:23:32 +0000 (02:23 -0400)
The idea was that we'd track templates if they were applied prior to copies
actually being specified in the unified interface, and then apply them "for
real" once copies were entered.  But these remembered templates kept applying
themselves whenever changes were made in the volume/copy creator portion of
the interface (possibly overriding tweaks made by staff).  So now we delete
the list of tracked templates once they're applied to actual copies.

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Open-ILS/xul/staff_client/server/cat/copy_editor.js

index 1848fee..a279359 100644 (file)
@@ -188,6 +188,11 @@ function my_init() {
                     for (var i = 0; i < g.applied_templates.length; i++) {
                         g._apply_template( g.applied_templates[i], false);
                     }
+                    if (g.copies.length > 0) {
+                        // Stop tracking these templates once they're applied
+                        // to actual copies
+                        g.applied_templates = [];
+                    }
                     g.summarize( g.copies );
                     g.render();
                     g.check_for_unmet_required_fields();
@@ -285,7 +290,12 @@ g.apply_template = function(apply_volume_editor_template_changes) {
     try {
         var name = g.template_menu.value;
         if (g.templates[ name ] != 'undefined') {
-            g.applied_templates.push( name );
+            if (g.copies == 0) {
+                // We're only tracking these applied templates temporarily,
+                // specifically when they're used prior to copies being
+                // created in the unified interface.
+                g.applied_templates.push( name );
+            }
             g._apply_template(name,apply_volume_editor_template_changes);
             g.summarize( g.copies );
             g.render();