added check for duplicate report-name-per-folder on report creation
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 16 May 2007 18:00:41 +0000 (18:00 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 16 May 2007 18:00:41 +0000 (18:00 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@7320 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/reports/oils_rpt_editor.xhtml
Open-ILS/web/reports/oils_rpt_report_editor.js
Open-ILS/web/reports/oils_rpt_vars.js

index 71fba14..7d06d77 100644 (file)
                Please fill in all fields.
        </span>
 
+    <span id='oils_rpt_report_exists' class='hide_me'>
+        There is already a report in this folder with the given name.
+    </span>
+
 </div>
index 98d484c..778078a 100644 (file)
@@ -150,22 +150,33 @@ oilsRptReportEditor.prototype.save = function() {
        //return;
 
        var obj = this;
-       var req = new Request(OILS_RPT_CREATE_REPORT, SESSION, report, schedule );
-       req.callback(
-               function(r) {
-                       var res = r.getResultObject();
-                       if(checkILSEvent(res)) {
-                               alertILSEvent(res);
-                       } else {
-                               if( res && res != '0' ) {
-                                       oilsRptAlertSuccess();
-                                       oilsRptCurrentFolderManager.draw();
-                                       obj.folderWindow.draw();
-                               }
-                       }
-               }
-       );
-       req.send();
+    var folderReq = new Request(OILS_RPT_REPORT_EXISTS, SESSION, report);
+    folderReq.callback(
+        function(r1) {
+            if(r1.getResultObject() == 1) {
+                alertId('oils_rpt_report_exists');
+                return;
+            } else {
+                var req = new Request(OILS_RPT_CREATE_REPORT, SESSION, report, schedule );
+                req.callback(
+                    function(r) {
+                        var res = r.getResultObject();
+                        if(checkILSEvent(res)) {
+                            alertILSEvent(res);
+                        } else {
+                            if( res && res != '0' ) {
+                                oilsRptAlertSuccess();
+                                oilsRptCurrentFolderManager.draw();
+                                obj.folderWindow.draw();
+                            }
+                        }
+                    }
+                );
+                req.send();
+            }
+        }
+    );
+    folderReq.send();
 }
 
 
index 807361d..ef365d3 100644 (file)
@@ -91,6 +91,8 @@ var OILS_RPT_FETCH_OUTPUT                     = 'open-ils.reporter:open-ils.reporter.schedule.retr
 var OILS_RPT_FETCH_REPORT                      = 'open-ils.reporter:open-ils.reporter.report.retrieve';
 var OILS_RPT_FETCH_TEMPLATE            = 'open-ils.reporter:open-ils.reporter.template.retrieve';
 var OILS_RPT_MAGIC_FETCH                       = 'open-ils.reporter:open-ils.reporter.magic_fetch';
+var OILS_RPT_REPORT_EXISTS      = 'open-ils.reporter:open-ils.reporter.report.exists';
+var OILS_RPT_TEMPLATE_EXISTS      = 'open-ils.reporter:open-ils.reporter.template.exists';
 
 var oilsRptCurrentFolderManager;