Merge branch 'master' of http://git.roojs.com:8081/Pman.Core
[Pman.Core] / Pman.js
diff --git a/Pman.js b/Pman.js
index 2750226..41bad06 100644 (file)
--- a/Pman.js
+++ b/Pman.js
@@ -19,7 +19,9 @@ if (typeof(_T) == 'undefined') { _T={};}
  
 
 
-Roo.XComponent.on('register', function(e) { if (Pman) { return Pman.xregister(e); } });
+Roo.XComponent.on('register', function(e) { if (typeof(Pman) != 'undefined') { return Pman.xregister(e); } return true;  });
+Roo.XComponent.on('beforebuild', function(e) { if (typeof(Pman) != 'undefined') { return Pman.xbeforebuild(e); } return true; });
+
 Roo.XComponent.on('buildComplete',  
      function() {
                     
@@ -124,7 +126,8 @@ Pman = new Roo.Document(
         isTop : true,
         name : "Pman Base",
         disabled : false, 
-        permname: '' 
+        permname: '' ,
+        render : function (el) { this.el = this.layout; }
     }),
     
     layout: false,
@@ -414,13 +417,14 @@ Pman = new Roo.Document(
     onLoadTrackCall : function(id,cb, cls) {
         Roo.get(document.body).mask("Loading Document details");
 
-        Pman.request({
+        new Pman.Request({
             url: baseURL + '/Roo/Documents.html',  
             params: {
                 _id: id
             },  
             method: 'GET',  
-            success : function(data) {
+            success : function(res) {
+                var data = res.data;
                 Roo.get(document.body).unmask();
              
                 
@@ -557,9 +561,9 @@ Pman = new Roo.Document(
                 }
                 // what about the toolbar??
                 tab.grid.getView().mainWrap.mask("Deleting");
-                Pman.request({
+                new Pman.Request({
                     url: baseURL + '/Roo/'+tbl+'.php',
-                    method: 'GET',
+                    method: 'POST',
                     params: {
                         _delete : r.join(',')
                     },
@@ -616,10 +620,13 @@ Pman = new Roo.Document(
     },
     /**
      * Depreciated - USE new Pman.Request
-    * 
+    *  We need to replace all the uses with this, however the api is slightly different,
+    *  the success argument is res.data, not res..
      * 
      */
     request : function(c) {
+        //return new Pman.Request(c);
+         
         var r= new Roo.data.Connection({
             timeout : typeof(c.timeout) == 'undefined' ?  30000 : c.timeout
         });
@@ -662,6 +669,7 @@ Pman = new Roo.Document(
             scope: this
             
         });
+         
     },
     
     
@@ -793,8 +801,8 @@ Pman = new Roo.Document(
     {
         
         // work out owner..
-        if (!this.appModules === false) {
-            this.appModules = typeof(AppModules ) == 'undefined'? [] :
+        if (!Pman.appModules === false) {
+            Pman.appModules = typeof(AppModules ) == 'undefined'? [] :
                 AppModules.split(',');
         }
         
@@ -809,20 +817,13 @@ Pman = new Roo.Document(
         // previously we did not a good naming policy for module and parts
         // most things that are called module here, really are 'parts'
         // new versions should have 'part' as [ module : part ]
-        
-        
-        if (typeof(obj.part) != 'undefined')  {
-            
+         if (typeof(obj.part) != 'undefined')  {
+           
             var permname = obj.part.join('.');
                 // we now have permission...
                 // obj.moduleOwner '.' lname
-                
-            if (this.hasPermExists(permname) && !this.hasPerm(permname,'S')) {
-                // it's a turned off permission...
-                Roo.log(permname + " is Disabled for this user");
-                obj.disabled = true;
-                return;
-            }
+           
+           
             if (appDisabled.indexOf(permname) > -1)  {
                 Roo.log(permname + " is Disabled for this site");
                 obj.disabled = true;
@@ -832,6 +833,8 @@ Pman = new Roo.Document(
             
         }
         
+       
+        
         if ( obj.isTop) {
             // false parent... use it..
             return;
@@ -868,6 +871,39 @@ Pman = new Roo.Document(
        
         
     },
+    /**
+     * fired before building on each compoenent
+     * used to apply permissions.
+     */
+    
+    xbeforebuild : function(obj)
+    {
+        if (typeof(obj.part) != 'undefined')  {
+           
+            if (!obj.part[1].length) {
+                obj.part[1] = obj.part[0];
+            }
+            var permname = obj.part.join('.');
+            
+            Roo.log("CHECKING: "+ permname);
+            
+                // we now have permission...
+                // obj.moduleOwner '.' lname
+           
+            if (Pman.hasPermExists(permname) && !Pman.hasPerm(permname,'S')) {
+                // it's a turned off permission...
+                Roo.log(permname + " is Disabled for this user");
+                obj.disabled = true;
+                return;
+            }
+        
+            
+            
+        }
+        
+        
+    },
+    
     /**
      * DEPRICATED : use Roo.XComponents now..
      *