public function testGetReadSubscriptionModelClassNames() { $modelClassNames = ReadPermissionsSubscriptionUtil::getReadSubscriptionModelClassNames(); $compareData = array('Account', 'Contact', 'Meeting', 'Task'); $this->assertEquals($compareData, $modelClassNames); // Now test with caching $modelClassNames = ReadPermissionsSubscriptionUtil::getReadSubscriptionModelClassNames(); $this->assertEquals($compareData, $modelClassNames); }
/** * Update read subscription table for all users and models * @param bool $partialBuild */ public static function updateAllReadSubscriptionTables($partialBuild = true) { $loggedUser = Yii::app()->user->userModel; $users = User::getAll(); foreach ($users as $user) { Yii::app()->user->userModel = $user; $modelClassNames = ReadPermissionsSubscriptionUtil::getReadSubscriptionModelClassNames(); if (!empty($modelClassNames) && is_array($modelClassNames)) { foreach ($modelClassNames as $modelClassName) { if ($modelClassName != 'Account') { self::updateReadSubscriptionTableByModelClassNameAndUser($modelClassName, Yii::app()->user->userModel, $partialBuild, true); } else { self::updateReadSubscriptionTableByModelClassNameAndUser($modelClassName, Yii::app()->user->userModel, $partialBuild, false); } } } } Yii::app()->user->userModel = $loggedUser; }