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); }
/** * Called either from a mass edit save, or a mass edit progress save. */ protected function saveMassEdit($modelClassName, $postVariableName, $selectedRecordCount, $dataProvider, $page, $pageSize) { // TODO: @Shoaibi/@Jason: Low: Deprecated // trigger_error('Deprecated'); Yii::app()->gameHelper->muteScoringModelsOnSave(); $modelsToSave = $this->getModelsToSave($modelClassName, $dataProvider, $selectedRecordCount, $page, $pageSize); foreach ($modelsToSave as $modelToSave) { if (ControllerSecurityUtil::doesCurrentUserHavePermissionOnSecurableItem($modelToSave, Permission::WRITE)) { $sanitizedPostData = PostUtil::sanitizePostByDesignerTypeForSavingModel($modelToSave, $_POST[$modelClassName]); $sanitizedOwnerPostData = PostUtil::sanitizePostDataToJustHavingElementForSavingModel($sanitizedPostData, 'owner'); $sanitizedPostDataWithoutOwner = PostUtil::removeElementFromPostDataForSavingModel($sanitizedPostData, 'owner'); $modelToSave->setAttributes($sanitizedPostDataWithoutOwner); if ($sanitizedOwnerPostData != null) { $modelToSave->setAttributes($sanitizedOwnerPostData); } $modelToSave->save(false); } else { MassEditInsufficientPermissionSkipSavingUtil::setByModelIdAndName($modelClassName, $modelToSave->id, $modelToSave->name); } } Yii::app()->gameHelper->unmuteScoringModelsOnSave(); }