ec-cube icon indicating copy to clipboard operation
ec-cube copied to clipboard

商品CSVに削除済みの商品規格が含まれる #4190

Open ysk1to opened this issue 5 years ago • 6 comments

概要(Overview・Refs Issue)

#4190 商品CSVに削除済みの商品規格が含まれる

方針(Policy)

削除した商品規格を商品CSVに含めない。

テスト(Test)

#4190 の再現手順(Procedure)にて削除済み商品規格が商品CSVに含まれないことを確認。

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

  • マイナーバージョンでは、機能・プラグイン・デザインテンプレート互換性を損なう変更は原則取り込みません。
  • [ ] 既存機能の仕様変更
  • [ ] フックポイントの呼び出しタイミングの変更
  • [ ] フックポイントのパラメータの削除・データ型の変更
  • [ ] twigファイルに渡しているパラメータの削除・データ型の変更
  • [ ] Serviceクラスの公開関数の、引数の削除・データ型の変更
  • [ ] 入出力ファイル(CSVなど)のフォーマット変更

レビュワー確認項目

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

ysk1to avatar Jun 28 '19 02:06 ysk1to

@yusukeito58 ありがとうございます。 4系から「規格の削除」は、「有効・無効を切り替える」という扱いに変わっています。 なので、無効のものも出力されるのですが、現状で困っているオペレーションなどを教えていただけないでしょうか?

kazumiiiiiiiiiii avatar Jul 02 '19 07:07 kazumiiiiiiiiiii

@kazumiiiiiiiiiii ご確認頂きありがとうございます。 困っていることとして間違って登録した商品規格がCSVに残り続ける点です。

運用では登録済みの商品情報を更新する際、

  1. 商品CSVをダウンロード
  2. CSVを更新したい情報に編集
  3. アップロード という手順で更新作業を行います(セール等で一括変更することが多い)

その際に削除(無効に)したはずの商品規格がCSVに混じっていると、場合によっては更新作業の際に混乱するケースがあります。

また、商品規格のステータスとしては下記3パターンになる認識ですが、

  1. 未登録
  2. 登録済み(無効)
  3. 登録済み(有効)

管理画面上では1と2が同じ扱い(非表示)で3だけが表示され、CSV上では2・3が表示されることに違和感を感じる部分もあります。そのため、CSVの出力結果を管理画面の表示に合わせる方向でPRを出させて頂きました。

ysk1to avatar Jul 02 '19 09:07 ysk1to

@yusukeito58 ご確認ありがとうございます。

運用上でのお困りの点は承知しました。 実際に無効状態の件数が多いと、作業上混乱が発生することがあるかと思います。

ただし、現行の仕様を利用されている方もいるので、CSVのダウンロード時に「無効」状態のデータを「含む・含まない」ように制御を入れることではいかがでしょうか?

kazumiiiiiiiiiii avatar Jul 09 '19 04:07 kazumiiiiiiiiiii

@kazumiiiiiiiiiii ご確認ありがとうございます。

ただし、現行の仕様を利用されている方もいるので、CSVのダウンロード時に「無効」状態のデータを「含む・含まない」ように制御を入れることではいかがでしょうか?

すでに現行の仕様で利用されているということであれば、ご提示頂いた内容で問題ございません。

ysk1to avatar Jul 09 '19 06:07 ysk1to

@kazumiiiiiiiiiii @chihiro-adachi 4.0.2だと「規格の初期化」をしても、dtb_product_classにレコードが残っているので規格がCSV出力されていますね。

  • 規格の初期化をしても残ってしまうのは不具合では?
  • 規格のチェックボックスが、状態によって「規格の追加」と「規格の表示/非表示の切り替え」の2つの意味合いを持っているので、なんか混乱する挙動になってる。

いろんな正解があるとは思うので、意図している外部仕様を整理してもらえるとわかりやすいなと思いました。

ryo-endo avatar Aug 19 '19 08:08 ryo-endo

@yusukeito58

すでに利用中のユーザへの影響も考え、CSVの出力項目の条件は変えず、CSV出力の出力項目に商品規格(product_category)の 表示/非表示(visible) を出力させる方法が良いかと思いました。

規格の初期化をしても残ってしまうのは不具合では? 規格のチェックボックスが、状態によって「規格の追加」と「規格の表示/非表示の切り替え」の2つの意味合いを持っているので、なんか混乱する挙動になってる。

現状の仕様として、商品規格(product_category)が受注(dtb_order_item)に紐づいているので商品規格(product_category)を削除できません。 そのため現状の仕様に合わせて誤解のないように商品規格(product_category)の表示を修正する方針がいいと思いました。

okazy avatar Mar 02 '20 01:03 okazy

以下2点の修正で、問題はだいぶ起こりづらくなるのではないかと思いますので、こちらはクローズさせていただきます。

  • https://github.com/EC-CUBE/ec-cube/pull/5853 で不要な規格が残らなくなる
  • https://github.com/EC-CUBE/ec-cube/pull/5875 で規格の表示・非表示がCSV上でも判別できるようになる

chihiro-adachi avatar Jan 16 '23 09:01 chihiro-adachi