Skip to content

[7003][ADD] product_engineering_info: Engineering tab and Product Group Code - #27

Open
nobuQuartile wants to merge 5 commits into
16.0from
7003-add-product_engineering_field
Open

[7003][ADD] product_engineering_info: Engineering tab and Product Group Code#27
nobuQuartile wants to merge 5 commits into
16.0from
7003-add-product_engineering_field

Conversation

@nobuQuartile

@nobuQuartile nobuQuartile commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

QT7003

What

Add a new module product_engineering_info to consolidate spreadsheet-managed engineering data onto products.

  • Engineering tab on the product form with:
    • Product Group Code
    • Successor P/N (product reference)
    • BOM Link (URL to the engineering BOM file, separate from Odoo BoMs)
    • Technical Notes
    • Compatible P/N (product references — substitutes when out of stock)
  • Active Flag on the General Information tab (whether the part is still to be ordered; distinct from Odoo's archive flag).
  • Product Group Code classification model, managed under Inventory > Configuration > Products.

Why

Move the customer's spreadsheet-based product/engineering management into Odoo as the master, per task-7003.

Test

  • Installs on 16.0.
  • pre-commit run -a clean for the module.

@nobuQuartile

Copy link
Copy Markdown
Contributor Author

Add ja.po

Translation notes

Translations are referenced from existing Odoo translations where available (odoo/product, odoo/stock).

The following terms have no reference and are translated independently:

msgid msgstr
Active Flag 有効フラグ
BOM Link BOMリンク
Code コード
Compatible P/N 互換 P/N
Engineering エンジニアリング
ID ID
Link to the engineering BOM file (separate from Odoo BoMs). エンジニアリングBOMファイルへのリンク(Odooの部品表とは別)。
Part that supersedes this one. この部品を置き換える後継部品。
Parts that may be used as substitutes when out of stock. 在庫切れ時に代替として使用できる部品。
Product Group Code プロダクトグループコード
Product Group Codes プロダクトグループコード
Successor P/N 後継 P/N
Technical Notes 技術メモ
The Product Group Code must be unique. プロダクトグループコードは一意である必要があります。

@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from 5c775a1 to 31989ad Compare July 16, 2026 07:59
@nobuQuartile

Copy link
Copy Markdown
Contributor Author

Update: refined product.group.code and restored missing test files.

  • Removed the code field from product.group.code; the model now has just name (+ active).
  • The unique SQL constraint is now on name (name_uniq) instead of code.
  • Dropped the obsolete Code entry from i18n/ja.po.
  • Re-added the tests/ package (was missing from the initial push).

Installs and tests pass on 16.0 (--test-enable); pre-commit clean.

@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch 3 times, most recently from 35e978f to 77808b5 Compare July 17, 2026 01:57

@yostashiro yostashiro left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@nobuQuartile product_engineering_info may make a better name, reflecting the business capability?

@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from 77808b5 to bf73444 Compare July 17, 2026 04:40
@nobuQuartile nobuQuartile changed the title [7003][ADD] product_engineering_field: Engineering tab and Product Group Code [7003][ADD] product_engineering_info: Engineering tab and Product Group Code Jul 17, 2026
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch 3 times, most recently from 7b6d173 to 4c242b5 Compare July 23, 2026 06:50
@nobuQuartile
nobuQuartile marked this pull request as ready for review July 23, 2026 06:51
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from 4c242b5 to 99df40b Compare July 23, 2026 07:56
Comment thread product_engineering_info/readme/DESCRIPTION.md Outdated
Introduce a module to consolidate spreadsheet-managed engineering data on
products: an Engineering tab (Product Group Code, Successor P/N, BOM Link,
Technical Notes, Compatible P/N), an Active Flag on the General Information
tab, and a Product Group Code classification model. Includes ja.po.

task-7003
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from 002b472 to 2c49dae Compare July 24, 2026 01:48
Comment thread product_engineering_info/models/product_template.py Outdated
Comment thread product_engineering_info/views/product_group_code_views.xml Outdated
Comment thread product_engineering_info/views/product_group_code_views.xml
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from b4107d2 to 6e20741 Compare July 27, 2026 04:55
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from 6e20741 to 52a2eba Compare July 27, 2026 06:45
Comment thread product_engineering_info/models/product_template.py Outdated
Comment thread product_engineering_info/views/product_template_views.xml Outdated
Comment thread product_engineering_info/readme/DESCRIPTION.md
Comment on lines +9 to +11
Product group codes are a simple design classification (e.g. sheet
metal, circuit board), managed under *Inventory > Configuration >
Products*.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Move to CONFIGURE.md.

Comment on lines +11 to +12
"summary": "Add an Engineering tab with engineering fields and a "
"Product Group Code classification to products.",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Better to add after name attribute.

@AungKoKoLin1997 AungKoKoLin1997 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review: LGTM

Comment thread product_engineering_info/models/product_template.py
Comment thread product_engineering_info/__manifest__.py Outdated
Comment thread product_engineering_info/models/product_template.py Outdated
Comment thread product_engineering_info/views/product_template_views.xml Outdated
Comment thread product_engineering_info/models/product_template.py
@nobuQuartile
nobuQuartile marked this pull request as draft July 30, 2026 05:35
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch 5 times, most recently from 3408356 to 5f5fcef Compare July 31, 2026 04:19
@nobuQuartile
nobuQuartile marked this pull request as ready for review July 31, 2026 04:19
@nobuQuartile

Copy link
Copy Markdown
Contributor Author

@yostashiro
Could you continue your review?

…oup Code

fixup! [ADD] product_engineering_info: Engineering tab and Product Group Code

[IMP] product_engineering_info: use typed BOM fields

Replace the free-text BOM author, approver, status and approval date
fields with proper types so the data is structured and validated:
author/approver become res.partner Many2one (renamed with the _id
suffix per convention), status becomes a Selection with the eight
lifecycle states, and approval date becomes a Date.

fixup! [ADD] product_engineering_info: Engineering tab and Product Group Code

fixup! [ADD] product_engineering_info: Engineering tab and Product Group Code
@nobuQuartile
nobuQuartile force-pushed the 7003-add-product_engineering_field branch from 5f5fcef to ef00a4e Compare July 31, 2026 08:21
@nobuQuartile

Copy link
Copy Markdown
Contributor Author

@AungKoKoLin1997
Could you take the review from Yoshi-san and re-review this PR?

@AungKoKoLin1997 AungKoKoLin1997 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Minor point.

"res.partner",
string="BOM Author",
)
bom_status = fields.Selection(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't it have required if there is bom_link or default attribute?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@AungKoKoLin1997
Thank you for your review.

I don't think it's necessary to force this field as required.
If there are cases where the field is required operationally and gets left blank by mistake, it would be fine to change it to a required field at that point.

@nobuQuartile

Copy link
Copy Markdown
Contributor Author

@smorita7749
Could you continue the review?

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.

4 participants