MTrackWeb/Roo.php
[web.mtrack] / MTrackWeb / Roo.php
index 40b299f..bb1feb6 100644 (file)
@@ -20,10 +20,10 @@ class MTrackWeb_Roo extends Pman_Roo
         'Mtrack_ticket', /// all of these MUST have applyFilters, and check authenication..
         'mtrack_change',
         'core_enum',
-        'Person',
+        //'Person',  // fixme - need to verify this is protected..
         'mtrack_milestone',
-        'Projects',
-        'Images',
+        'Projects',  // fixme - we should remove code from projects....
+        'Images',   // not sure about this...
         'mtrack_repos'
         
     );
@@ -46,35 +46,48 @@ class MTrackWeb_Roo extends Pman_Roo
         // need perms sorting out first.
     }
     
-    function checkPerm($obj, $lvl, $req=null) {
-        $res = parent::checkPerm($obj,$lvl,$req);
-        if (!$res) {
-            return $res;
-        }
+    function checkPerm($obj, $lvl, $req=null)
+    {
+        //if ($this->authUser) {
+            $res = parent::checkPerm($obj,$lvl,$req);
+            
+            if ($res) {
+                return $res;
+            }
+        //}
+        // not authenticated...
+         
+        // these checks only apply to non-company users.
+        
         // normally allowed, but we have more restrictions...
         switch($obj->tablename()) {
+            
             case 'core_enum':
-                if (empty($req['etype']) {
+                if (empty($req['etype'])) {
                     return false;
                 }
+                if ($lvl != 'S') {
+                    return false;
+                }
+                
                 switch ($req['etype']) {
-                    
-                 if ($perm == 'S') {
-                        return true;
-                    }
-                    
-                    
-                    if (!$au) {
-                        return false;
-                    }
-                    
-                    if ($au->company()->comptype == 'OWNER') {
-                        return true;
-                    }
+                     case 'classification':
+                    //case 'severity':
+                    case 'resolution':
+                    case 'priority':
+                    case 'ticketstate':                    
+                     
                     
                     // not a member of the company..
                     // not allowed in..
-                    return false;
+                        return true;
+                    default:
+                        return false;
+                }
+                break; // should not get here...
+            
+            default:
+                return false;
                 
             
             
@@ -82,7 +95,5 @@ class MTrackWeb_Roo extends Pman_Roo
         
         
         
-        return $res;
-        
     }
-}
\ No newline at end of file
+}