public function testremoveActions() { //take count of actions initially and then after method execution and test if action count decreases $action_count = count(ACLAction::getDefaultActions()); ACLAction::removeActions('Test'); $actual = ACLAction::getDefaultActions(); $this->assertLessThan($action_count, count($actual)); }
* * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road, * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". ********************************************************************************/ global $current_user, $beanList, $beanFiles; $actionarr = ACLAction::getDefaultActions(); if (is_admin($current_user)) { $foundOne = false; foreach ($actionarr as $actionobj) { if (!isset($beanList[$actionobj->category]) || !file_exists($beanFiles[$beanList[$actionobj->category]])) { if (!isset($_REQUEST['upgradeWizard'])) { echo 'Removing for ' . $actionobj->category . '<br>'; } $foundOne = true; ACLAction::removeActions($actionobj->category); } } if (!$foundOne) { echo 'No ACL modules found that needed to be removed'; } }
/** * Metadata fixes for the RLI Module * * - Removes the file that shows the RLI Module * - Removes the Studio File * - Hides the RLI module from the menu bar * - Removes the ACL Actions */ protected function fixRevenueLineItemModule() { // hide the RLI module from the quick create, this needs to be done first, so it's properly removed $this->toggleRevenueLineItemQuickCreate(false); // cleanup on the current request $GLOBALS['modInvisList'][] = 'RevenueLineItems'; if (isset($GLOBALS['moduleList']) && is_array($GLOBALS['moduleList'])) { foreach ($GLOBALS['moduleList'] as $key => $mod) { if ($mod === 'RevenueLineItems') { unset($GLOBALS['moduleList'][$key]); } } } if (SugarAutoLoader::fileExists($this->appExtFolder . '/Include/' . $this->rliModuleExtFile)) { SugarAutoLoader::unlink($this->appExtFolder . '/Include/' . $this->rliModuleExtFile); } if (SugarAutoLoader::fileExists($this->rliStudioFile)) { SugarAutoLoader::unlink($this->rliStudioFile); } if (SugarAutoLoader::fileExists($this->rliModuleExtFolder . '/Vardefs/' . $this->rliModuleExtVardefFile)) { SugarAutoLoader::unlink($this->rliModuleExtFolder . '/Vardefs/' . $this->rliModuleExtVardefFile); } // hide the RLI module in workflows $affected_modules = $this->toggleRevenueLineItemsLinkInWorkFlows(false); // hide the mega menu tab $this->setRevenueLineItemModuleTab(false); // handle the parent type field $this->setRevenueLineItemInParentRelateDropDown(false); // disable the ACLs on RevenueLineItems ACLAction::removeActions('RevenueLineItems'); // add the RLI module $affected_modules[] = 'RevenueLineItems'; return $affected_modules; }