Пример #1
0
 /**
  * 入力確定
  * 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);
     }
 }