feat(jobs): persist deadlines + planned start + notes on fp.job
Tier 2 of the SO->fp.job persistence audit. Four operational metadata fields mirrored from sale.order: - x_fc_internal_deadline (Date) - shop's internal target finish date, ahead of the customer-facing deadline. Kept separate from date_deadline (which scheduling code may adjust). - x_fc_planned_start_date (Date) - customer-quoted planned start date. Kept separate from date_planned_start (Datetime, capacity-adjusted). - x_fc_internal_note (Text) - shop-internal notes from the order. - x_fc_external_note (Text) - customer-facing notes, printed on traveller / BoL / cert. All four populate at SO confirm via _fp_auto_create_job, and surface on sale.order.line as stored related fields for per-line visibility. fp.job form view gets a Notes group alongside the Customer References group from Tier 1. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -332,6 +332,22 @@ class SaleOrder(models.Model):
|
||||
if 'x_fc_rush_order' in self._fields:
|
||||
vals['x_fc_rush_order'] = bool(self.x_fc_rush_order)
|
||||
|
||||
# Scheduling targets — mirror the SO's customer-facing dates.
|
||||
if 'x_fc_internal_deadline' in self._fields \
|
||||
and self.x_fc_internal_deadline:
|
||||
vals['x_fc_internal_deadline'] = self.x_fc_internal_deadline
|
||||
if 'x_fc_planned_start_date' in self._fields \
|
||||
and self.x_fc_planned_start_date:
|
||||
vals['x_fc_planned_start_date'] = self.x_fc_planned_start_date
|
||||
|
||||
# Operational notes — mirror so the shop has them on the WO.
|
||||
if 'x_fc_internal_note' in self._fields \
|
||||
and self.x_fc_internal_note:
|
||||
vals['x_fc_internal_note'] = self.x_fc_internal_note
|
||||
if 'x_fc_external_note' in self._fields \
|
||||
and self.x_fc_external_note:
|
||||
vals['x_fc_external_note'] = self.x_fc_external_note
|
||||
|
||||
# Customer spec / facility / manager — copy from SO if present
|
||||
if 'x_fc_customer_spec_id' in self._fields and self.x_fc_customer_spec_id:
|
||||
vals['customer_spec_id'] = self.x_fc_customer_spec_id.id
|
||||
|
||||
Reference in New Issue
Block a user