fix(configurator): proper column widths via arch + show blanket SO checkbox

Root cause for column widths: Odoo 19's column_width_hook.js dynamically
sets inline widths on every cell at render time, overriding any CSS
width on td/th selectors. Confirmed by reading the hook source on
entech: 'A width can also be hardcoded in the arch (width="60px").'

Fix: set width='Npx' as an ARCH ATTRIBUTE on each <field> in the line
list:
- Part Number 230px, Line Job # 80px, Thickness 100px, Mask 55px,
  Bake 120px, Qty 55px, Price 80px, Subtotal 90px, Action stack 60px
- Specification + Internal Notes get NO width → take remaining flex
  space (responsive: layout adapts to viewport)

Root cause for missing checkbox: my SCSS underline-style override
selected ALL .o_field_widget input including type=checkbox, rendering
checkboxes as 30px-tall full-width transparent text inputs.

Fix: exclude type=checkbox/radio/file from the underline rule, and
add explicit rendering for type=checkbox (18px square, accent-coloured)
inside .o_fp_xpr_cell. The Blanket Sales Order checkbox + the inline
Block partial shipments checkbox are now both visible.
This commit is contained in:
gsinghpal
2026-05-26 22:48:59 -04:00
parent 15e25ca50b
commit faffdca592
2 changed files with 38 additions and 50 deletions

View File

@@ -223,6 +223,7 @@
<field name="part_catalog_id"
string="Part Number"
widget="fp_express_part_cell"
width="230px"
context="{'default_partner_id': parent.partner_id, 'default_revision': 'A'}"
domain="[('partner_id', '=', parent.partner_id), ('is_latest_revision', '=', True)]"
options="{'no_quick_create': True}"/>
@@ -236,29 +237,34 @@
options="{'no_quick_create': False, 'color_field': 'state_color'}"
domain="[('part_id', '=', part_catalog_id)]"
column_invisible="1"/>
<!-- Specification + Internal Notes: NO width attr, let them grow with available space -->
<field name="line_description" string="Specification (Customer-Facing)"/>
<field name="customer_line_ref" string="Line Job #" placeholder="ABC"/>
<field name="thickness_range" string="Thickness" placeholder=".0005-.0010"/>
<field name="masking_enabled" string="Mask" widget="boolean_toggle"/>
<field name="customer_line_ref" string="Line Job #" placeholder="ABC" width="80px"/>
<field name="thickness_range" string="Thickness" placeholder=".0005-.0010" width="100px"/>
<field name="masking_enabled" string="Mask" widget="boolean_toggle" width="55px"/>
<!-- Bake pill — click to edit -->
<field name="bake_instructions"
string="Bake"
widget="fp_express_bake_pill"/>
widget="fp_express_bake_pill"
width="120px"/>
<field name="internal_description" string="Internal Notes" optional="show"/>
<field name="quantity" string="Qty"/>
<field name="quantity" string="Qty" width="55px"/>
<field name="unit_price"
string="Price"
widget="monetary"
options="{'currency_field': 'currency_id'}"/>
options="{'currency_field': 'currency_id'}"
width="80px"/>
<field name="line_subtotal"
string="Subtotal"
widget="monetary"
options="{'currency_field': 'currency_id'}"
sum="Total"/>
sum="Total"
width="90px"/>
<!-- Stacked DWG / OPEN buttons in ONE column -->
<field name="action_btns_anchor"
string=" "
widget="fp_express_action_btns"/>
widget="fp_express_action_btns"
width="60px"/>
<field name="process_variant_id"
string="Process / Recipe"
options="{'no_quick_create': True}"