/** * 入力確定 * 1.案件IDから変更前のDataObjectを取得 * 2.セッション変数に保存 * 3.表示 */ private function inputCommit(&$m, &$anken, $ankenId, $teikeiId) { $core =& $this->_core; // POSTから更新後のDataObject取得 $o =& $m->getTeikeiObject($anken, $_POST); if ($o == null) { throw new RequestParamsException(); } // 変更前のDataObjectを取得 $name = "old_teikei_{$ankenId}_{$teikeiId}"; $old =& $core->getSession($name); if ($old == null) { throw new RequestParamsException(); } // キーデータをコピー $o->getField('teikei_media_id')->setValue($old->getField('teikei_media_id')->getValue()); $o->getField('anken_id')->setValue(strval($old->getField('anken_id')->getValue())); ///////////////////////////////// // check // 同じ提携があるかチェック ///////////////////////////////// $count = 0; $mediaId = $o->getField('media_id')->getValue(); $oldMediaId = $old->getField('media_id')->getValue(); if ($mediaId != $oldMediaId) { $tableName = $old->getTableName(); $count = $m->getTeikeiMedieCount($tableName, $mediaId); } // 変更権限がない項目を元に戻す $o =& AuthManager::rollbackUnauthColumnForTeikeiMediaData($core, $o, $old); ///////////////////////////////// // 入力確認 ///////////////////////////////// $check =& $o->getChecker(); $check->checkAll(); if ($check->getErrorCount() == 0 && $count == 0) { ////////////////////////////// // セッション保存 ////////////////////////////// $name = "new_teikei_{$ankenId}_{$teikeiId}"; $core->setSession($name, $o); ////////////////////////////// // 確認ページへ移動 ////////////////////////////// $core->movePage("teikei_edit_conf.php?aid={$ankenId}&tmid={$teikeiId}"); } else { ////////////////////////////// // エラー表示 ////////////////////////////// if ($count != 0) { $this->_dataFrom['error_title'] = '入力が間違っています。'; $this->_dataFrom['error'] = '選択されているメディアは既に登録されています。'; } else { $this->_dataFrom['error_title'] = '入力が間違っています。'; $this->_dataFrom['error'] = $check->getErrorMessage(); } $m->setFormInputData($o); } }