DataObjects/Core_notify.php
[Pman.Core] / Pman.Dialog.Image.js
index 5e44dd9..0a5b55f 100644 (file)
@@ -57,21 +57,33 @@ Pman.Dialog.Image = {
                if (!dlg.haveProgress) {
                     Roo.MessageBox.progress("Uploading", "Uploading");
                 }
+                
+                if (dlg.haveProgress == 2) {
+                    // it's been closed elsewhere..
+                    return;
+                }
                 if (dlg.uploadComplete) {
                     Roo.MessageBox.hide();
                     return;
                 }
-                dlg.haveProgress = true;
+                
+                dlg.haveProgress = 1;
             
                 var uid = _this.form.findField('UPLOAD_IDENTIFIER').getValue();
-                Pman.request({
+                new Pman.Request({
                     url : baseURL + '/Core/UploadProgress.php',
                     params: {
                         id : uid
                     },
                     method: 'GET',
-                    success : function(data){
+                    success : function(res){
                         //console.log(data);
+                        var data = res.data;
+                        if (dlg.haveProgress == 2) {
+                            // it's been closed elsewhere..
+                            return;
+                        }
+                        
                         if (dlg.uploadComplete) {
                             Roo.MessageBox.hide();
                             return;
@@ -81,6 +93,11 @@ Pman.Dialog.Image = {
                             Roo.MessageBox.updateProgress(data.bytes_uploaded/data.bytes_total,
                                 Math.floor((data.bytes_total - data.bytes_uploaded)/1000) + 'k remaining'
                             );
+                        } else {
+                            Roo.MessageBox.updateProgress(1,
+                                "Upload Complete - processing"
+                            );
+                            return;
                         }
                         dlg.uploadProgress.defer(2000,dlg);
                     },
@@ -105,11 +122,17 @@ Pman.Dialog.Image = {
                                 actioncomplete : function(_self,act)
                                 {
                                     _this.dialog.uploadComplete = true;
-                                    _this.dialog.el.unmask();
+                                    _this.dialog.haveProgress = 2; 
+                                    Roo.MessageBox.hide(); // force hiding
+                                    //_this.dialog.el.unmask();
                                      
                                     if (act.type == 'setdata') { 
                                         this.url = _this.data._url ? _this.data._url : baseURL + '/Roo/Images.php';
                                         this.el.dom.action = this.url;
+                                        if (typeof(_this.data.timeout) != 'undefined') {
+                                            this.timeout = _this.data.timeout;
+                                        }
+                                        
                                         this.findField('UPLOAD_IDENTIFIER').setValue(
                                             (new Date() * 1) + '' + Math.random());
                                             
@@ -127,13 +150,17 @@ Pman.Dialog.Image = {
                                     
                                     if (act.type == 'submit') { // only submitted here if we are 
                                         _this.dialog.hide();
-                                        
+                                        Roo.log("Upload success");
+                                        Roo.log(act);
                                         //console.log(act);
                                         if (_this.callback) {
-                                            _this.callback.call(this, act.result.data);
+                                            _this.callback.call(this, act.result.data, act.result.extra);
                                         }
                                         return; 
                                     }
+                                    
+                                
+                                    
                                 },
                                 rendered : function (form)
                                 {
@@ -141,16 +168,20 @@ Pman.Dialog.Image = {
                                 },
                                 actionfailed : function (_self, act)
                                 {
+                                   
+                                   
                                     _this.dialog.uploadComplete = true;
-                                    _this.dialog.el.unmask();
+                                   // _this.dialog.el.unmask();
                                     // error msg???
-                                    
+                                     _this.dialog.haveProgress = 2; 
                                     if (act.type == 'submit') {
+                                        Roo.log("Upload error");
                                         Roo.log(act);
+                                        
                                         try {
-                                            Roo.MessageBox.alert("Error", act.result.errorMsg);
+                                            Roo.MessageBox.alert("Error", act.result.errorMsg.split(/\n/).join('<BR/>'));
                                         } catch(e) {
-                                            Roo.log(e);
+                                          //  Roo.log(e);
                                             Roo.MessageBox.alert("Error", "Saving failed = fix errors and try again");        
                                         }
                                         return;
@@ -164,6 +195,7 @@ Pman.Dialog.Image = {
                             labelWidth : 140,
                             method : 'POST',
                             style : 'margin:10px;',
+                            timeout : 300,
                             url : baseURL + '/Roo/Images.php',
                             items : [
                                 {
@@ -201,6 +233,11 @@ Pman.Dialog.Image = {
                                     xns: Roo.form,
                                     name : 'onid'
                                 },
+                                {
+                                    xtype: 'Hidden',
+                                    xns: Roo.form,
+                                    name : 'id'
+                                },
                                 {
                                     xtype: 'Hidden',
                                     xns: Roo.form,
@@ -235,14 +272,14 @@ Pman.Dialog.Image = {
                         {
                             // do some checks?
                              
-                            _this.dialog.el.mask("Sending");
+                            //_this.dialog.el.mask("Sending");
                             _this.dialog.uploadComplete = false;
                             _this.form.doAction('submit', {
                                 params: {
                                     ts : Math.random()
                                 } 
                             });
-                            _this.dialog.haveProgress = false,
+                            _this.dialog.haveProgress = 0; // set to show..
                             _this.dialog.uploadProgress.defer(1000, _this.dialog);
                         
                         }