Bug(バグ) #3492
完了PickHomeLayoutForm クラスで返り値が void となるメソッドを返り値に指定している
0%
説明
概要¶
PickHomeLayoutForm クラスで返り値が void となるメソッドを返り値に指定している
下記 73 行目では $snsConfig (SnsConfig クラス)の save() の返り値を用いているが,これは opDoctrineRecord クラスの save() となり,これは return を使ってないので void となる.
apps/pc_backend/modules/design/lib/PickHomeLayoutForm.class.php 56 57 public function save() 58 { ... 64 $snsConfig = Doctrine::getTable('SnsConfig')->retrieveByName($this->layoutName); 65 if (!$snsConfig) 66 { 67 $snsConfig = new SnsConfig(); 68 $snsConfig->setName($this->layoutName); 69 } 70 $value = $this->choices[$this->values['layout']]; 71 $snsConfig->setValue($value); 72 73 return (bool)$snsConfig->save(); 74 }
lib/util/opDoctrineRecord.class.php 56 public function save(Doctrine_Connection $conn = null) 57 { 58 if (is_null($conn)) 59 { 60 $conn = opDoctrineQuery::chooseConnection(true); 61 } 62 63 parent::save($conn); 64 }
Akihiro KOBAYASHI さんが約10年前に更新
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Akihiro KOBAYASHI にセット
- 3.8 で発生するか を Unknown (未調査) から Yes (はい) に変更
Akihiro KOBAYASHI さんが約10年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
プルリクエストしました
https://github.com/openpne/OpenPNE3/pull/197
apps/pc_backend/modules/design/lib/PickHomeLayoutForm.class.php内
$snsConfig->save();はvoidなのでreturn (bool)$snsConfig->save();を$snsConfig->save()に変更しました。
Akihiro KOBAYASHI さんが約10年前に更新
- 対象バージョン を OpenPNE 3.9.0-old にセット
プルリクエスト先変更のため
https://github.com/openpne/OpenPNE3/pull/197 を一旦クローズ、
新たに https://github.com/openpne/OpenPNE3/pull/226 を追加
isao sano さんが約9年前に更新
- 関連している Backport(バックポート) #3865: PickHomeLayoutForm クラスで返り値が void となるメソッドを返り値に指定している を追加
isao sano さんが約9年前に更新
- 関連している Backport(バックポート) #3866: PickHomeLayoutForm クラスで返り値が void となるメソッドを返り値に指定している を追加
Rimpei Ogawa さんがほぼ9年前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
返り値を void とするなら(修正前も void だったわけですが)、
PickHomeLayoutForm::save() の返り値を使用しようとしているコードも修正する必要があります。
以下の部分
# apps/pc_backend/modules/design/actions/actions.class.php $this->form = new PickHomeLayoutForm(array(), $option); if ($request->isMethod(sfRequest::POST)) { $this->form->bind($request->getParameter('pick_home_layout')); $this->redirectIf($this->form->save(), 'design/layout?type='.$type); }
Chiharu Nakajima さんがほぼ9年前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
- 担当者 を Chiharu Nakajima にセット
プルリクエストしました。
https://github.com/openpne/OpenPNE3/pull/289
○修正内容について
save()が正常終了した場合にtrueを返すようにすることで、下記コードのredirectIfの結果、リダイレクトする用に修正(save()でfalseが戻り値となった場合は修正前と同じくリダイレクトしない)。
# apps/pc_backend/modules/design/actions/actions.class.php $this->form = new PickHomeLayoutForm(array(), $option); if ($request->isMethod(sfRequest::POST)) { $this->form->bind($request->getParameter('pick_home_layout')); $this->redirectIf($this->form->save(), 'design/layout?type='.$type); }
Rimpei Ogawa さんがほぼ9年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更