changes
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
{
|
||||
'name': 'Fusion Plating — Configurator',
|
||||
'version': '19.0.21.5.2',
|
||||
'version': '19.0.21.5.5',
|
||||
'category': 'Manufacturing/Plating',
|
||||
'summary': 'Quotation configurator with part catalog, coating configs, and formula-based pricing engine.',
|
||||
'description': """
|
||||
|
||||
@@ -111,6 +111,18 @@
|
||||
string="Job Groups"/>
|
||||
</button>
|
||||
</xpath>
|
||||
<!-- Surface Delivery Date (commitment_date) right after Order
|
||||
Date in the header info group. The standard view only
|
||||
shows it buried under the Delivery section in the Other
|
||||
Info tab — having it at the top keeps it visible without
|
||||
scrolling, since most operators are setting it on every
|
||||
order. The same field is also surfaced lower in our
|
||||
Plating tab Scheduling group as "Customer Deadline"; both
|
||||
reference the same field so edits sync. -->
|
||||
<xpath expr="//group[@name='order_details']/field[@name='payment_term_id']" position="before">
|
||||
<field name="commitment_date" string="Delivery Date"
|
||||
readonly="state in ('cancel',)"/>
|
||||
</xpath>
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Plating" name="plating_tab">
|
||||
<!-- Multi-part summary: read-only list of every order line
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
# Part of the Fusion Plating product family.
|
||||
|
||||
from datetime import timedelta
|
||||
from datetime import datetime, time, timedelta
|
||||
|
||||
from odoo import _, api, fields, models
|
||||
from odoo.exceptions import UserError
|
||||
@@ -530,7 +530,15 @@ class FpDirectOrderWizard(models.Model):
|
||||
'x_fc_customer_job_number': self.customer_job_number or False,
|
||||
'x_fc_planned_start_date': self.planned_start_date,
|
||||
'x_fc_internal_deadline': self.internal_deadline,
|
||||
'commitment_date': self.customer_deadline,
|
||||
# commitment_date is a Datetime; customer_deadline is a Date.
|
||||
# Assigning a bare Date stores midnight UTC, which renders as
|
||||
# the PREVIOUS day in any negative-UTC timezone (Eastern shifts
|
||||
# May 25 00:00 UTC → May 24 8pm). Combining with noon keeps
|
||||
# the date stable across all reasonable user timezones.
|
||||
'commitment_date': (
|
||||
datetime.combine(self.customer_deadline, time(12, 0))
|
||||
if self.customer_deadline else False
|
||||
),
|
||||
'x_fc_invoice_strategy': self.invoice_strategy,
|
||||
'x_fc_deposit_percent': self.deposit_percent,
|
||||
'x_fc_progress_initial_percent': self.progress_initial_percent,
|
||||
|
||||
@@ -95,7 +95,13 @@
|
||||
<group string="Scheduling">
|
||||
<field name="planned_start_date"/>
|
||||
<field name="internal_deadline"/>
|
||||
<field name="customer_deadline"/>
|
||||
<!-- Labelled "Delivery Date" here to match
|
||||
the SO header field of the same name —
|
||||
same field, same value, just consistent
|
||||
wording end-to-end. Backing field is
|
||||
still `customer_deadline` (wizard) →
|
||||
`commitment_date` (SO). -->
|
||||
<field name="customer_deadline" string="Delivery Date"/>
|
||||
<field name="is_blanket_order"/>
|
||||
<field name="block_partial_shipments"/>
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user