Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

商品画像削除時、他の商品画像が参照するファイルは削除しないよう変更 #4767

Merged
merged 2 commits into from
Nov 16, 2020

Conversation

izayoi256
Copy link
Contributor

@izayoi256 izayoi256 commented Nov 12, 2020

概要(Overview・Refs Issue)

#4752 の内、ファイル削除に関する処理の見直し。

方針(Policy)

ProductImageエンティティを削除後、同ファイル名のProductImageが存在しない場合のみファイルを削除。

テスト(Test)

ユニットテストを追加。

マイナーバージョン互換性保持のための制限事項チェックリスト

  • 既存機能の仕様変更
  • フックポイントの呼び出しタイミングの変更
  • フックポイントのパラメータの削除・データ型の変更
  • twigファイルに渡しているパラメータの削除・データ型の変更
  • Serviceクラスの公開関数の、引数の削除・データ型の変更
  • 入出力ファイル(CSVなど)のフォーマット変更

レビュワー確認項目

  • 動作確認
  • コードレビュー
  • E2E/Unit テスト確認(テストの追加・変更が必要かどうか)
  • 互換性が保持されているか
  • セキュリティ上の問題がないか

@okazy okazy added the improvement 機能改善 label Nov 12, 2020
@okazy okazy added this to the 4.0.x milestone Nov 12, 2020
@okazy
Copy link
Contributor

okazy commented Nov 13, 2020

@izayoi256

プルリクありがとうございます!
動作は確認できていないのですが、商品自体の削除時も画像の削除が行われていますので、対策が必要かと思いました。

// 画像ファイルの削除(commit後に削除させる)
foreach ($deleteImages as $deleteImage) {
try {
$fs = new Filesystem();
$fs->remove($this->eccubeConfig['eccube_save_image_dir'].'/'.$deleteImage);
} catch (\Exception $e) {
// エラーが発生しても無視する
}
}

@izayoi256
Copy link
Contributor Author

@okazy
ありがとうございます。そちらも併せて対応しました。

Copy link
Contributor

@okazy okazy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ソースコード問題ありません。
以下動作確認して重複登録画像が削除されないことを確認しました。

  • 商品画像削除
  • 商品自体の削除
  • CSVのフラグでの商品削除
  • CSVで画像Pathを除外(既存の仕様)

@okazy okazy modified the milestones: 4.0.x, 4.0.6 Nov 13, 2020
@okazy okazy merged commit 40a16bb into EC-CUBE:4.0 Nov 16, 2020
@okazy
Copy link
Contributor

okazy commented Nov 16, 2020

ありがとうございます!マージしました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants