DataObjects/ProjectDirectory.php
[Pman.Core] / Pman.js
diff --git a/Pman.js b/Pman.js
index efffccc..4af9993 100644 (file)
--- a/Pman.js
+++ b/Pman.js
@@ -117,27 +117,7 @@ Pman = new Roo.Document(
             Roo.get('loading-mask').show();
         }
         
-        
-       
-        
-        /*
-        Roo.MessageBox.show({
-           title: "Please wait...",
-           msg: "Building Interface...",
-           width:340,
-           progress:true,
-           closable:false
-          
-        });
-        */
-        //Pman.onLoadBuild();
-        //Roo.get(document.body).mask("Building Interface");
-        //Pman.onLoadBuild.defer(100, Pman);
-       //Pman.onLoadBuild();
-                    
-   // },
-    //onLoadBuild : function() {
-        
+     
         var _this = this;
         this.stime = new Date();
         this.layout = new Roo.BorderLayout(document.body, {
@@ -791,7 +771,7 @@ Pman = new Roo.Document(
      * Pman.register({
           modKey : '00-admin-xxxx',
           module : Pman.Tab.projectMgr, << really a components..
-          moduleName : 'Pman.Tab.projectMgr',
+          part : [ 'Admin', 'ProjectManager' ]
           moduleOwner : 
           region : 'center',
           parent : Pman.layout
@@ -814,31 +794,27 @@ Pman = new Roo.Document(
         // global supplied by master.html
         appDisabled = typeof(appDisabled) == 'undefined' ? [] : appDisabled;
         
-        var modName = obj.modKey.split('-').pop(); // last part of modkey..
-        if (typeof(modName) != 'undefined')  {
-            if (appDisabled.indexOf(modName) > -1) {
-                return;
-            }
-            // now let's see if the user has the module disabled.
-            // eg. Pman.Tab.AdminProjectManager
-            // matches permission Admin.ProjectManager
-            var np = modName.split('.').pop();
-            modOwner  = '';
-            Roo.each(this.appModules, function(nm) {
-                if (np.substring(0,nm.length) == nm) {
-                    modOwner = nm;
-                }
-            });
-            if (modOwner .length) { 
-                var permname = modOwner +'.' + np.substring(modOwner.length);
+        
+        /// design flaw
+        // 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')  {
+            
+            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");
-                    return;
-                }
+            if (this.hasPermExists(permname) && !this.hasPerm(permname,'S')) {
+                // it's a turned off permission...
+                Roo.log(permname + " is Disabled for this user");
+                return;
+            }
+            if (appDisabled.indexOf(permname) > -1)  {
+                Roo.log(permname + " is Disabled for this site");
+                return;
             }
             
             
@@ -846,8 +822,6 @@ Pman = new Roo.Document(
         
         
         
-        
-        
         if (!obj.parent) {
             if (obj.parent === false) {
                 //console.log('skip module (no parent)' + obj.modkey);
@@ -934,6 +908,10 @@ Pman = new Roo.Document(
             if (typeof(mod) == 'function') {
                 mod();
                 
+            } else  if (typeof(mod.region) == 'undefined') {
+                Roo.log("Module does not have region defined, skipping");
+                Roo.log(mod);
+                
             } else  if (mod.parent.layout && !mod.module.disabled) {
                 // honour permname setings..
                 if (mod.permname && mod.permname.length) {
@@ -942,9 +920,7 @@ Pman = new Roo.Document(
                     }
                 } else {
                     mod.module.add(mod.parent.layout, mod.region);    
-                }
-                    
-                 
+                } 
             }