Skip to content

[FIX] deltatech_picking_transit: setup la instalare, guard transfer secund, fix compute/copy - #2629

Open
VoicuStefan2001 wants to merge 1 commit into
18.0from
18.0-fix-deltatech_picking_transit
Open

[FIX] deltatech_picking_transit: setup la instalare, guard transfer secund, fix compute/copy#2629
VoicuStefan2001 wants to merge 1 commit into
18.0from
18.0-fix-deltatech_picking_transit

Conversation

@VoicuStefan2001

Copy link
Copy Markdown
Collaborator

Context

Îmbunătățiri și corecții pentru fluxul de transfer intern în 2 pași prin locația
de tranzit (deltatech_picking_transit), plus configurare automată la instalare.

Ce s-a schimbat

Setup la instalare (hooks.py, post_init_hook)

  • Creează o locație de tranzit per companie.
  • Pe fiecare depozit creează două tipuri de operație: livrare 2 pași (cu
    transfer automat bifat) și recepție 2 pași, legate la stocul principal al
    depozitului și la locația de tranzit.
  • Rulează doar la instalare, niciodată la update → bazele care folosesc deja
    modulul nu sunt afectate (idempotent: sare peste tipurile deja existente).

Corecții de flux (models/stock_picking.py, views/stock_picking_views.xml)

  • Al doilea transfer se poate crea manual doar după validarea primului
    (marfa chiar în tranzit). Butonul „Create Transfer" e ascuns până la
    state == 'done', cu guard defensiv în open_transfer_wizard.
  • Al doilea transfer moștenește cantitatea efectiv trimisă în tranzit
    (move.quantity), deci funcționează și când operatorul completează doar
    „Cantitate" și lasă „Necesar" pe 0.
  • is_transit_transfer și sub_location_existent: fix pe recordset multiplu
    (eliminat singleton error), iar efectul de blocare (action_toggle_is_locked)
    mutat dintr-un compute într-un @api.onchange dedicat.
  • copy_move_lines: copiere în batch a liniilor de mișcare.

Include și commit-ul anterior de pe branch (fix sudo la crearea celui de-al
doilea transfer — tichet 8970).

Testare

Verificat funcțional pe baze de test curate (instalare + rulare scenarii, apoi șterse):

  • Compute pe recordset multiplu: [True, False] — fără singleton error.
  • Guard: crearea transferului secund înainte de validare este blocată.
  • Doar Cantitate (Necesar=0): al doilea transfer preia corect cantitatea făcută (manual și automat).
  • End-to-end (instalare → setup hook pe 2 depozite → operare): livrare WH →
    tranzit → recepție DEP2; solduri finale WH=70, Tranzit=0, DEP2=30. ✅

Note / riscuri

  • Hook-ul rulează doar la instalare (comportament dorit). Un client care are deja
    modulul instalat nu primește configurarea automată la simplu update.
  • De portat pe Odoo 19 (PR pereche va fi legat ulterior).

🤖 Generated with Claude Code

…ecund, fix compute/copy

- post_init_hook (doar la instalare): creeaza locatia de tranzit per companie
  si, pe fiecare depozit, tipurile de operatie 2 pasi livrare (cu transfer
  automat) si receptie, legate la stocul principal si la locatia de tranzit.
  Nu ruleaza la update -> clientii existenti nu sunt afectati.
- Al doilea transfer se poate crea manual doar dupa validarea primului (marfa
  chiar in tranzit); butonul e ascuns pana la state == 'done'.
- Al doilea transfer mosteneste cantitatea efectiv trimisa in tranzit, deci
  functioneaza si cand operatorul completeaza doar "Cantitate", nu si "Necesar".
- Fix compute is_transit_transfer / sub_location_existent pe recordset multiplu
  (fara singleton error), separat efectul de blocare intr-un onchange dedicat.
- Batch la copy_move_lines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 53.84615% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.84%. Comparing base (3064cd9) to head (c22cd60).
⚠️ Report is 1 commits behind head on 18.0.

Files with missing lines Patch % Lines
deltatech_picking_transit/models/stock_picking.py 20.00% 16 Missing ⚠️
deltatech_picking_transit/hooks.py 88.88% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             18.0    #2629   +/-   ##
=======================================
  Coverage   72.84%   72.84%           
=======================================
  Files        1248     1249    +1     
  Lines       20970    20997   +27     
  Branches     2919     2924    +5     
=======================================
+ Hits        15276    15296   +20     
- Misses       4854     4859    +5     
- Partials      840      842    +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@VoicuStefan2001

Copy link
Copy Markdown
Collaborator Author

Port pe Odoo 19: #2630

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant