AnsweredAssumed Answered

New module deployed "Call to a member function ACLAccess() on null " on Listing Records

Question asked by Jackie Justin on May 23, 2019

I have created a new module via Module Builder and when i deployed it. i Get 500 server error and the log says 

 

PHP Fatal error:  Uncaught ReflectionException: Class OE_eCHO does not exist in /var/www/html/sugar/SugarEnt-Full-8.0.2/include/SugarObjects/VardefManager.php:766\nStack trace:\n#0 /var/www/html/sugar/SugarEnt-Full-8.0.2/include/SugarObjects/VardefManager.php(766): ReflectionClass->__construct('OE_eCHO')\n#1 /var/www/html/sugar/SugarEnt-Full-8.0.2/include/SugarObjects/VardefManager.php(690): VardefManager::addSugarACLStatic('OE_eCHO', 'OE_eCHO')\n#2 /var/www/html/sugar/SugarEnt-Full-8.0.2/include/SugarObjects/VardefManager.php(1108): VardefManager::refreshVardefs('OE_eCHO', 'OE_eCHO', NULL, true, Array)\n#3 /var/www/html/sugar/SugarEnt-Full-8.0.2/data/Relationships/RelationshipFactory.php(278): VardefManager::loadVardef('OE_eCHO', 'OE_eCHO', false, Array)\n#4 /var/www/html/sugar/SugarEnt-Full-8.0.2/data/Relationships/RelationshipFactory.php(201): SugarRelationshipFactory->getRelationshipData(Array)\n#5 /var/www/html/sugar/SugarEnt-Full-8.0.2/data/Relationships/RelationshipFactory.php(187): SugarRelationshipFactory->buildRelationshipC in /var/www/html/sugar/SugarEnt-Full-8.0.2/include/SugarObjects/VardefManager.php on line 766

 

The above error is removed when i add following option in vardefs.php of the new module. 

'acls' => array(
  'SugarACLStatic' => true
),

 After that CRM runs and does not show 500 error. But the Module can not be listed. When i view the module list, it shows 500 error on the listing page. The log says "Call to a member function ACLAccess() on null "


PHP Fatal error:  Uncaught Error: Call to a member function ACLAccess() on null in /var/www/html/sugar/SugarEnt-Full-8.0.2/clients/base/api/RelateApi.php:80\nStack trace:\n#0 /var/www/html/sugar/SugarEnt-Full-8.0.2/clients/base/api/RelateApi.php(143): RelateApi->filterRelatedSetup(Object(BulkRestService), Array)\n#1 /var/www/html/sugar/SugarEnt-Full-8.0.2/include/api/RestService.php(268): RelateApi->filterRelated(Object(BulkRestService), Array)\n#2 /var/www/html/sugar/SugarEnt-Full-8.0.2/clients/base/api/BulkApi.php(64): RestService->execute()\n#3 /var/www/html/sugar/SugarEnt-Full-8.0.2/include/api/RestService.php(268): BulkApi->bulkCall(Object(RestService), Array)\n#4 /var/www/html/sugar/SugarEnt-Full-8.0.2/api/rest.php(23): RestService->execute()\n#5 {main}\n  thrown in /var/www/html/sugar/SugarEnt-Full-8.0.2/clients/base/api/RelateApi.php on line 80, referer: 

 

Where does the ACLAccess check module name and even after deploying several times, it does not allow to list view of module. Which files are missing or if this is a known issue, where do i change/define the new module for ACLAccess?  

 

NOTE: I have tried Quick Repair & Rebuild and Repair Roles option several times. 

Outcomes