diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php
index 3753931a..282532cc 100644
--- a/src/Controller/JobOrderController.php
+++ b/src/Controller/JobOrderController.php
@@ -153,6 +153,7 @@ class JobOrderController extends BaseController
'set_map_coordinate' => true,
'preset_vehicle' => false,
'ticket_table' => true,
+ 'cancel_button' => true,
];
}
@@ -167,12 +168,14 @@ class JobOrderController extends BaseController
$params['ftags']['set_map_coordinate'] = false;
$params['ftags']['invoice_edit'] = true;
$params['ftags']['ticket_table'] = false;
+ $params['ftags']['cancel_button'] = false;
break;
case 'create_vehicle':
$params['ftags']['set_map_coordinate'] = false;
$params['ftags']['invoice_edit'] = true;
$params['ftags']['preset_vehicle'] = true;
$params['ftags']['ticket_table'] = false;
+ $params['ftags']['cancel_button'] = false;
break;
case 'open_edit':
$params['ftags']['invoice_edit'] = true;
diff --git a/src/Entity/JobOrder.php b/src/Entity/JobOrder.php
index ce2f3a85..f1baa42d 100644
--- a/src/Entity/JobOrder.php
+++ b/src/Entity/JobOrder.php
@@ -613,4 +613,9 @@ class JobOrder
{
return !$this->isClosed();
}
+
+ public function isCancelled()
+ {
+ return $this->status == JOStatus::CANCELLED;
+ }
}
diff --git a/templates/job-order/form.html.twig b/templates/job-order/form.html.twig
index a3871963..5b430d10 100644
--- a/templates/job-order/form.html.twig
+++ b/templates/job-order/form.html.twig
@@ -779,7 +779,7 @@
{% if mode != 'update-all' %}
{% endif %}
- {% if mode != 'create' and mode != 'create_vehicle' and is_granted('joborder.cancel') and obj.isOpen %}
+ {% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
Cancel Job Order
{% endif %}
{% if mode != 'create' %}