public function testClearSetGetSkipSavingInformation()
 {
     MassEditInsufficientPermissionSkipSavingUtil::clear('someModel');
     MassEditInsufficientPermissionSkipSavingUtil::setByModelIdAndName('someModel', 1, 'a');
     MassEditInsufficientPermissionSkipSavingUtil::setByModelIdAndName('someModel', 2, 'b');
     MassEditInsufficientPermissionSkipSavingUtil::setByModelIdAndName('someModel', 3, 'c');
     $this->assertEquals(3, MassEditInsufficientPermissionSkipSavingUtil::getCount('someModel'));
     $data = MassEditInsufficientPermissionSkipSavingUtil::getAll('someModel');
     $compareData = array(1 => 'a', 2 => 'b', 3 => 'c');
     $this->assertEquals($compareData, $data);
 }
 protected static function processModelsForMassEditAction($postModelClassName, $model, $modelClassName, $selectedRecordCount, $dataProvider, $page, $pageSize, $insufficientPermissionSkipSavingUtil, $actionId)
 {
     // TODO: @Shoaibi/@Jason: Low: Candidate for MassActionController
     PostUtil::sanitizePostForSavingMassEdit($modelClassName);
     //Generically test that the changes are valid before attempting to save on each model.
     $sanitizedPostData = PostUtil::sanitizePostByDesignerTypeForSavingModel(new $modelClassName(false), $postModelClassName);
     $sanitizedOwnerPostData = PostUtil::sanitizePostDataToJustHavingElementForSavingModel($sanitizedPostData, 'owner');
     $sanitizedPostDataWithoutOwner = PostUtil::removeElementFromPostDataForSavingModel($sanitizedPostData, 'owner');
     $postMassEdit = Yii::app()->request->getPost('MassEdit');
     $massEditPostDataWithoutOwner = PostUtil::removeElementFromPostDataForSavingModel($postMassEdit, 'owner');
     $model->setAttributes($sanitizedPostDataWithoutOwner);
     if ($model->validate(array_keys($massEditPostDataWithoutOwner))) {
         $passedOwnerValidation = true;
         if ($sanitizedOwnerPostData != null) {
             $model->setAttributes($sanitizedOwnerPostData);
             $passedOwnerValidation = $model->validate(array('owner'));
         }
         if ($passedOwnerValidation) {
             MassEditInsufficientPermissionSkipSavingUtil::clear($modelClassName);
             Yii::app()->gameHelper->triggerMassEditEvent($modelClassName);
             return static::processModelsForMassActionWithoutScoring($modelClassName, $selectedRecordCount, $dataProvider, $page, $pageSize, $insufficientPermissionSkipSavingUtil, $actionId);
         }
     }
     return false;
 }
Example #3
0
 protected function onProgressComplete()
 {
     MassEditInsufficientPermissionSkipSavingUtil::clear(get_class($this->model));
 }