Bug(バグ) #3492
完了
PickHomeLayoutForm クラスで返り値が void となるメソッドを返り値に指定している
Yuya Watanabe さんがほぼ11年前に追加.
7年以上前に更新.
説明
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 }
関連するチケット
2 (0件未完了 — 2件完了)
- ステータス を New(新規) から Accepted(着手) に変更
- 担当者 を Akihiro KOBAYASHI にセット
- 3.8 で発生するか を Unknown (未調査) から Yes (はい) に変更
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
- 対象バージョン を OpenPNE 3.9.0-old にセット
- 担当者 を削除 (
Akihiro KOBAYASHI)
- ステータス を 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);
}
- ステータス を 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);
}
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
- ステータス を Pending Testing(テスト待ち) から Won't fix(対応せず) に変更
- 対象バージョン を OpenPNE 3.9.0-old から OpenPNE 3.9.0 に変更
- 進捗率 を 70 から 0 に変更
OpenPNE 3.8.18 にて対応済みであったため、対応せずとします。
他の形式にエクスポート: Atom
PDF