プロジェクト

全般

プロフィール

Enhancement(機能追加・改善) #933

Notify Doctrine_Event as symfony's one (Doctrineのイベントをsymfonyのイベントとして通知する)

Eitarow Fukamachi約14年前に追加. ほぼ14年前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
対象バージョン:
開始日:
2010-04-06
期日:
進捗率:

100%


説明

内容

Doctrineのモデルが変更されたときなど、Doctrine_Eventが発生したときにsymfonyのイベントを通知することで、OpenPNEのコードからフックできるようにする。


関連するチケット

関連している OpenPNE 3 - Enhancement(機能追加・改善) #2916: op_doctrine.pre_save 等のnotifyイベントで、発生元のモデルオブジェクトを受信側で取得できるようにする Fixed(完了) 2012-04-04

関係しているリビジョン

リビジョン 058e6edc (差分)
Eitarow Fukamachiほぼ14年前に追加

added opDoctrineEventNotifier for notify Doctrine_Event as sfEvent (refs #933)

リビジョン 63dfc961 (差分)
Kousuke Ebiharaほぼ14年前に追加

changed opDoctrineEventNotifier::notify() to do nothing if there is no an available instance of the sfContext (fixes #933)

履歴

#1 Eitarow Fukamachi約14年前に更新

  • 進捗率30 から 90 に変更

#2 Eitarow Fukamachi約14年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更

#3 Eitarow Fukamachi約14年前に更新

  • 題名Doctrineのイベントをsymfonyのイベントとして通知する から Notify Doctrine_Event as symfony's one (Doctrineのイベントをsymfonyのイベントとして通知する) に変更

#4 Eitarow Fukamachi約14年前に更新

  • 対象バージョンOpenPNE 3.4.3 から OpenPNE 3.5.2 に変更

#5 Kousuke Ebiharaほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更
  • 対象バージョンOpenPNE 3.5.2 から OpenPNE 3.5.3 に変更
  • 進捗率90 から 0 に変更

http://redmine.openpne.jp/projects/op3/wiki/Ticket_Workflow_%28ja%29#Pending-Review%EF%BC%88%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E5%BE%85%E3%81%A1%EF%BC%89

Pending Review(レビュー待ち)¶

開発者がチケットの対応を完了し、レビューを依頼していることを示すステータスです。

このステータスにする際は、「git://github.com/openpne/OpenPNE3.git の master もしくはリリースブランチにコードがマージされている」「チケットに関連するコミットが紐づけられているか、記載されている」という条件を満たしていなければなければなりません。条件を満たしていない場合、レビューを行うことができず、「Rejected(差し戻し)」となる場合があります。

#6 Kousuke Ebiharaほぼ14年前に更新

  • 対象バージョンOpenPNE 3.5.3 から OpenPNE 3.6beta1 に変更

#7 Kousuke Ebiharaほぼ14年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

#8 Shogo Kawaharaほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

openpne:install 時に以下のエラーメッセージが表示されます。

The "default" context does not exist.

以下のような修正が必要かと思われます。(案

diff --git a/lib/util/opDoctrineEventNotifier.class.php b/lib/util/opDoctrineEventNotifier.class.php
index 12b3e66..00ff5e1 100644
--- a/lib/util/opDoctrineEventNotifier.class.php
+++ b/lib/util/opDoctrineEventNotifier.class.php
@@ -19,8 +19,11 @@ class opDoctrineEventNotifier extends Doctrine_Record_Listener
 {
   private static function notify($when, $action, $doctrineEvent)
   {
-    $dispatcher = sfContext::getInstance()->getEventDispatcher();
-    $dispatcher->notify(new sfEvent(null, sprintf('op_doctrine.%s_%s_%s', $when, $action, get_class($doctrineEvent->getInvoker()))));
+    if (sfContext::hasInstance())
+    {
+      $dispatcher = sfContext::getInstance()->getEventDispatcher();
+      $dispatcher->notify(new sfEvent(null, sprintf('op_doctrine.%s_%s_%s', $when, $action, get_class($doctrineEvent->getInvoker()))));
+    }
   }

   public function preSave(Doctrine_Event $event)

#9 Kousuke Ebiharaほぼ14年前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

更新履歴 63dfc9619b974314d085eb2388361d330de7d04b で適用されました。

#10 Shogo Kawaharaほぼ14年前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#11 Kousuke Ebiharaほぼ14年前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

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