プロジェクト

全般

プロフィール

Bug(バグ) #1959

pc_backend のフォームからデータ作成したときに500エラーとなる

Shinichi Urabe約13年前に追加. 約13年前に更新.

ステータス:
Pending Review(レビュー待ち)
優先度:
Normal(通常)
担当者:
開始日:
2011-03-19
期日:
進捗率:

50%

3.6 で発生するか:
3.8 で発生するか:
Unknown (未調査)

説明

内容

管理画面のフォームならなんでもいいので、データの投稿をする
すると、sfUser::getMemberId() が呼べないとエラーになる

原因

添付の画像を参照

スクリーンショット(2011-03-19_17.03.16).png 表示 (116 KB) Shinichi Urabe, 2011-03-19 17:04

履歴

#1 Naoya Tozuka約13年前に更新

原因

  • opIdCallPlugin を入れたことにより、pc_backend を含む全てのフォームで form.save イベント発生時に IdCallUtil::processFormPostSave() が呼ばれる
  • しかし、processFormPostSave() では pc_backend での動作を考慮せずにメンバーIDを取得しようとしてエラーが発生

パッチリリースまでの応急処置


diff --git a/lib/util/IdCallUtil.class.php b/lib/util/IdCallUtil.class.php
index 3321184..e6308bd 100644
--- a/lib/util/IdCallUtil.class.php
+++ b/lib/util/IdCallUtil.class.php
@@ -257,6 +257,11 @@ class IdCallUtil

   public function processFormPostSave($event)
   {
+    if ('pc_backend' == sfConfig::get('sf_app'))
+    {
+      return true;
+    }
+
     $form = $event->getSubject();
     $author = sfContext::getInstance()->getUser()->getMember()->getName();
     $i18n = sfContext::getInstance()->getI18N();

#2 Shinichi Urabe約13年前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 担当者Shinichi Urabe にセット
  • 進捗率0 から 50 に変更

他の形式にエクスポート: Atom PDF