DataObjects/Core_locking.php
[Pman.Core] / Pman.Dialog.Image.js
index cec452a..b5f1708 100644 (file)
@@ -46,22 +46,28 @@ Pman.Dialog.Image = {
             haveProgress : false,
             height : 140,
             modal : true,
-            resizable : true,
+            resizable : false,
             title : "Upload an Image or File",
-            uploadProgress : false,
+            uploadComplete : false,
             width : 500,
             shadow : true,
-            uploadProgres : function()
+            uploadProgress : function()
             {
                 var dlg = this;
                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({
@@ -72,6 +78,12 @@ Pman.Dialog.Image = {
                     method: 'GET',
                     success : function(data){
                         //console.log(data);
+                        
+                        if (dlg.haveProgress == 2) {
+                            // it's been closed elsewhere..
+                            return;
+                        }
+                        
                         if (dlg.uploadComplete) {
                             Roo.MessageBox.hide();
                             return;
@@ -104,34 +116,39 @@ Pman.Dialog.Image = {
                             listeners : {
                                 actioncomplete : function(_self,act)
                                 {
-                                       _this.dialog.uploadComplete = true;
-                                        _this.dialog.el.unmask();
-                                         
-                                          if (act.type == 'setdata') { 
-                                            this.url = _this.data._url ? _this.data._url : baseURL + '/Roo/Images.php'
-                                              this.findField('UPLOAD_IDENTIFIER').setValue(
-                                                (new Date() * 1) + '' + Math.random());
-                                                
-                                            return;
-                                         }
-                                         
-                                       
-                                        if (act.type == 'load') {
-                                          // should this happen?  
-                                            _this.data = act.result.data;
-                                           // _this.loaded();
-                                            return;
-                                        }
-                                        
-                                        
-                                        if (act.type == 'submit') { // only submitted here if we are 
-                                            _this.dialog.hide();
-                                            //console.log(act);
-                                            if (_this.callback) {
-                                                _this.callback.call(this, act.result.data);
-                                            }
-                                            return; 
+                                    _this.dialog.uploadComplete = true;
+                                    _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;
+                                        this.findField('UPLOAD_IDENTIFIER').setValue(
+                                            (new Date() * 1) + '' + Math.random());
+                                            
+                                        return;
+                                    }
+                                     
+                                   
+                                    if (act.type == 'load') {
+                                      // should this happen?  
+                                        _this.data = act.result.data;
+                                       // _this.loaded();
+                                        return;
+                                    }
+                                    
+                                    
+                                    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);
                                         }
+                                        return; 
+                                    }
                                 },
                                 rendered : function (form)
                                 {
@@ -142,16 +159,24 @@ Pman.Dialog.Image = {
                                     _this.dialog.uploadComplete = true;
                                     _this.dialog.el.unmask();
                                     // error msg???
-                                    
+                                     _this.dialog.haveProgress = 2; 
                                     if (act.type == 'submit') {
-                                        Ext.MessageBox.alert("Error", "Saving failed = fix errors and try again");
+                                        Roo.log("Upload error");
+                                        Roo.log(act);
+                                        try {
+                                            Roo.MessageBox.alert("Error", act.result.errorMsg);
+                                        } catch(e) {
+                                          //  Roo.log(e);
+                                            Roo.MessageBox.alert("Error", "Saving failed = fix errors and try again");        
+                                        }
                                         return;
                                     }
                                     
                                     // what about load failing..
-                                    Ext.MessageBox.alert("Error", "Error loading details"); 
+                                    Roo.MessageBox.alert("Error", "Error loading details"); 
                                 }
                             },
+                            fileUpload : true,
                             labelWidth : 140,
                             method : 'POST',
                             style : 'margin:10px;',
@@ -162,6 +187,18 @@ Pman.Dialog.Image = {
                                     xns: Roo.form,
                                     name : 'UPLOAD_IDENTIFIER'
                                 },
+                                {
+                                    xtype: 'Hidden',
+                                    xns: Roo.form,
+                                    name : 'post_max_size',
+                                    value : "32M"
+                                },
+                                {
+                                    xtype: 'Hidden',
+                                    xns: Roo.form,
+                                    name : 'upload_max_filesize',
+                                    value : "32M"
+                                },
                                 {
                                     xtype: 'TextField',
                                     xns: Roo.form,
@@ -184,18 +221,6 @@ Pman.Dialog.Image = {
                                     xtype: 'Hidden',
                                     xns: Roo.form,
                                     name : 'imgtype'
-                                },
-                                {
-                                    xtype: 'Hidden',
-                                    xns: Roo.form,
-                                    name : 'post_max_size',
-                                    value : "32M"
-                                },
-                                {
-                                    xtype: 'Hidden',
-                                    xns: Roo.form,
-                                    name : 'upload_max_filesize',
-                                    value : "32M"
                                 }
                             ]
                         }
@@ -229,14 +254,11 @@ Pman.Dialog.Image = {
                             _this.dialog.el.mask("Sending");
                             _this.dialog.uploadComplete = false;
                             _this.form.doAction('submit', {
-                                url: baseURL + '/Roo/Images.html',
-                                method: 'POST',
                                 params: {
-                                 //   _id: 0 ,
                                     ts : Math.random()
                                 } 
                             });
-                            _this.dialog.haveProgress = false,
+                            _this.dialog.haveProgress = 0; // set to show..
                             _this.dialog.uploadProgress.defer(1000, _this.dialog);
                         
                         }