changes
This commit is contained in:
@@ -248,6 +248,9 @@ class FpJob(models.Model):
|
||||
"Job %s is in state '%s' - only draft jobs can be confirmed."
|
||||
) % (job.name, job.state))
|
||||
job.state = 'confirmed'
|
||||
# Step auto-promote happens in the fusion_plating_jobs override
|
||||
# AFTER _generate_steps_from_recipe runs — at this point step_ids
|
||||
# is empty for any newly-confirmed job.
|
||||
return True
|
||||
|
||||
def action_cancel(self):
|
||||
|
||||
@@ -132,6 +132,12 @@ class FpJobStep(models.Model):
|
||||
related='recipe_node_id.customer_visible',
|
||||
store=True,
|
||||
)
|
||||
requires_predecessor_done = fields.Boolean(
|
||||
related='recipe_node_id.requires_predecessor_done',
|
||||
store=True,
|
||||
help='If True, button_start blocks until every earlier-sequence '
|
||||
'step in this job is done/skipped/cancelled.',
|
||||
)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Cost rollup (Task 1.6)
|
||||
|
||||
@@ -170,6 +170,16 @@ class FpProcessNode(models.Model):
|
||||
default=False,
|
||||
help='Quality hold point — requires operator sign-off.',
|
||||
)
|
||||
requires_predecessor_done = fields.Boolean(
|
||||
string='Requires Predecessor Done',
|
||||
default=False,
|
||||
help='If checked, this step cannot start until ALL earlier-'
|
||||
'sequence steps in the job are done / skipped / cancelled. '
|
||||
'Use for serial-required operations (e.g. Plating must '
|
||||
'follow Acid Etch with no time gap — passivation layer '
|
||||
'forms in seconds). Leaving unchecked allows parallel '
|
||||
'work across tanks (the default).',
|
||||
)
|
||||
opt_in_out = fields.Selection(
|
||||
[
|
||||
('disabled', 'Required'),
|
||||
|
||||
Reference in New Issue
Block a user