* @author Yuto Kitatsuji * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License * @copyright Copyright 2014, NetCommons Project */ App::uses('BlockBaseModel', 'Blocks.Model'); App::uses('BlockSettingBehavior', 'Blocks.Model/Behavior'); /** * TaskSetting Model * * @author Yuto Kitatsuji * @package NetCommons\Tasks\Model */ class TaskSetting extends BlockBaseModel { /** * Custom database table name * * @var string */ public $useTable = false; /** * Validation rules * * @var array */ public $validate = array(); /** * use behaviors * * @var array */ public $actsAs = array( 'Blocks.BlockRolePermission', 'Blocks.BlockSetting' => array( BlockSettingBehavior::FIELD_USE_WORKFLOW, BlockSettingBehavior::FIELD_USE_COMMENT, BlockSettingBehavior::FIELD_USE_COMMENT_APPROVAL ), ); /** * Get task setting data * * @return array */ public function getTaskSetting() { return $this->getBlockSetting(); } /** * Save task_setting * * @param array $data received post data * @return mixed On success Model::$data if its not empty or true, false on failure * @throws InternalErrorException */ public function saveTaskSetting($data) { //トランザクションBegin $this->begin(); //バリデーション $this->set($data); if (! $this->validates()) { $this->rollback(); return false; } try { // useTable = falseでsaveすると必ずfalseになるので、throwしない $this->save(null, false); //トランザクションCommit $this->commit(); } catch (Exception $ex) { //トランザクションRollback $this->rollback($ex); } return true; } }