再現方法:
何が起こるか:「ロット番号フィールドが空です」
予想される内容:ロット番号は「12345」である必要があります。
この問題を確認できます。
これを文書化するために、FirefoxからmassRemoveStock
、正しく表示されていれば、ロット番号は転送されていないようです。 したがって、プロジェクトの実行時に実装する必要があります([在庫から部品を削除]をクリックしたときに表示されます。
こんにちは! この問題はbountysourceで見たので、コードを調べました。
バグを再現することができました。 http://partkeepr.local/api/project_run_parts/1
を調べると、 lotNumber
がプロジェクト内の部分に設定されているが、トップレベルの部分には設定されていないことがわかりました。 これに基づくと、 lotNumber
値が消えるのではなく、表示の問題だと思います。実際、 lotNumber
はsrc/PartKeepr/PartBundle/Controller/PartController.php
massRemoveStockAction
内にコピーされます。
次の修正はどのように見えますか? https://github.com/partkeepr/PartKeepr/pull/1153
あなたのPRがこの問題を完全に修正するという確認を得るのは素晴らしいことです!
変更を実装しようとしましたが、効果がないようです。 変更を実装し、/ setupページを再実行しただけです。 コンポーザーコマンドも実行する必要がありますか?
この変更を適用するには、フロントエンドのJavaScriptファイルのキャッシュを削除する必要があると思います。 それらを削除してからセットアップを再実行しましたが、後でこれらのコマンドの方がうまくいく可能性があることがわかりましたhttps://wiki.partkeepr.org/wiki/Running_PartKeepr_from_GIT#Console_commands
@ ed-commits私はこの環境に完全に慣れていないので、愚かな質問をしてすみません。 しかし、フロントエンドのJavaScriptキャッシュを削除するということは、 rm -rf app/cache/*
コマンドを実行することを意味しますか? セットアップを実行する前にこれを試しましたが、プロジェクトの実行にロット番号を含めることができません。 複製できるように、パッチの検証に使用した正確な手順を教えていただけますか?
私はそれをしました、多分rm -rf web/js/compiled
とrm -rf web/js/packages/extjs6
も試してみてください。 その後、セットアップを再実行します。 その後、変更が適用されます。
@ ed-commits私もこれを試しましたが、残念ながら、この変更によって違いが生じることはわかりません。 他の誰かがこれが問題を解決することを確認できますか?
#1153でこの問題が修正されたことを確認できました。 しばらくするとどこかのキャッシュがリセットされたようです。 ただし、コンパイル済みおよびextjs6を削除することはお勧めしません。 システム全体がブリックされ、ロードページでスタックし、セットアップページは空白のままになります。 修正がマスターにマージされると、この問題は解決できます。
編集:わかりました。プロジェクトが変更されると、プロジェクトの実行のロット番号が変更されることがわかりました([編集]-> [プロジェクト]の下)。 これは正しくありません。 プロジェクトの実行後にロット番号を変更できないようにする必要があります。 したがって、それが理にかなっている場合は、プロジェクトに直接リンクしないでください。
問題は確かに大量除去アクションのどこかにあると思います
ここ: https :
むしろ、 $removal->lotNumber
フィールドが空であること。 つまり、jsonリクエストのどこかでより具体的に
https://github.com/partkeepr/PartKeepr/blob/e39c5f87f9ad44c7b7d4ffb521178f492761320d/src/PartKeepr/PartBundle/Controller/PartController.php#L33
私が推測するものはここのどこかに設定されています:
https://github.com/partkeepr/PartKeepr/blob/7dd3ef8f2395097b3659bbe0587eac70b6ff7671/src/PartKeepr/FrontendBundle/Resources/public/js/Components/Project/ProjectReportResultGrid.js#L357
万が一の場合に備えて、
プロジェクトにパーツをインポートするときに、[プロジェクトを保存]ボタンに何らかのロジックの問題があることに気付きました。
すべてのプロセス(CSVファイルの読み取り、[インポートの実行]をクリック)が正常に完了し、パーツのリストがプロジェクトに追加されると、テーブルProjectPartは正しく実行されます。インポートウィンドウを閉じても、引き続き正しいですが、[ [プロジェクトを保存]ボタンボタンを押すと、変更が解除/元に戻されます(?)
このページの最後に、ユーザーがこれを回避する方法が説明されています
https://readthedocs.web.cern.ch/display/PARTK/07a+-+Creating+Projects+and+BOM+Imports
この号の冒頭での「プロジェクトの保存」の言及と説明されている動作は、私が説明したものと似ているようです。
よろしく
親愛なるJoarGjersundとed-commits
http://localhost/web/app_dev.phpを実行したときに正しく理解できた場合
https://readthedocs.web.cern.ch/display/PARTK/Setup+for+Debug+and+Verbose+mode
キャッシュは気にせず、実行するのは直接行われます。
よろしく
最も参考になるコメント
こんにちは! この問題はbountysourceで見たので、コードを調べました。
バグを再現することができました。
http://partkeepr.local/api/project_run_parts/1
を調べると、lotNumber
がプロジェクト内の部分に設定されているが、トップレベルの部分には設定されていないことがわかりました。 これに基づくと、lotNumber
値が消えるのではなく、表示の問題だと思います。実際、lotNumber
はsrc/PartKeepr/PartBundle/Controller/PartController.php
massRemoveStockAction
内にコピーされます。次の修正はどのように見えますか? https://github.com/partkeepr/PartKeepr/pull/1153