「削除済みリソースを消去」のバグ

質問全般・改善要望
返信する
takyam
メンバー
メンバー
記事: 12
登録日時: 2010年2月22日(月) 15:40

「削除済みリソースを消去」のバグ

投稿記事 by takyam »

いつもお世話になってます。

機能上のバグ(?)をひとつ発見しましたので、既知の問題かもしれませんがご報告です。

■概要
「削除状態親リソース+非削除状態子リソース」の状態で「削除済みリソースを消去」を実行すると、
親リソースのレコードは削除されるが、子リソースのレコードは残ってしまう。
また、これにより管理画面左側のツリーにも表示されず、
「検索」などからIDで検索して編集画面を開こうとしても「親リソースがない」という事で開けない。
さらに、http://exampl.com/53 のように、残された子リソースのIDでアクセスすると閲覧はできてしまう。

■再現手順(※IDは適当です)
1. 親リソース(ID:10)を作成
2. 親リソース(ID:10)の子リソースとして子リソース(ID:11)を作成
3. 親リソース(ID:10)を削除(親子ともに削除j状態に)
4. 子リソース(ID:11)を削除取消(子のみ非削除状態に)
5. 「削除済みリソースを消去」を実行
→結果
ID:10のレコードは物理削除、ID:11のレコードは残る

■問題発生時の対応
DBを操作してレコードを直接削除する
ex) DELETE FROM modx_site_content where id = 11;


可能であれば、削除済みの親が物理削除される際には、
合わせて子も物理削除するか、
子のparentフィールドの値を0にするなど処理していただけると助かります。

よろしくお願いします。
返信する