Add ownership type dropdown to JO form. #696

This commit is contained in:
Korina Cordero 2022-08-15 08:28:23 +00:00
parent 837a3a2ec5
commit a4338c8f61
3 changed files with 84 additions and 6 deletions

View file

@ -415,6 +415,13 @@ class JobOrder
*/
protected $emergency_type;
// new ownership type
/**
* @ORM\ManyToOne(targetEntity="OwnershipType", inversedBy="job_orders")
* @ORM\JoinColumn(name="ownership_type_id", referencedColumnName="id", nullable=true)
*/
protected $ownership_type;
public function __construct()
{
$this->date_create = new DateTime();
@ -1182,4 +1189,14 @@ class JobOrder
return $this->emergency_type;
}
public function setOwnershipType(OwnershipType $ownership_type = null)
{
$this->ownership_type = $ownership_type;
return $this;
}
public function getOwnershipType()
{
return $this->ownership_type;
}
}

View file

@ -27,6 +27,7 @@ use App\Entity\Warranty;
use App\Entity\Customer;
use App\Entity\CustomerTag;
use App\Entity\EmergencyType;
use App\Entity\OwnershipType;
use App\Ramcar\InvoiceCriteria;
use App\Ramcar\ServiceType;
@ -445,6 +446,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
// TODO: check status before saving since JO might already
// have a status that needs to be retained
@ -483,7 +488,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setInitialConcernNotes($initial_concern_notes)
->setCallerClassification($caller_class)
->setGender($gender)
->setEmergencyType($etype);
->setEmergencyType($etype)
->setOwnershipType($owner_type);
// check if user is null, meaning call to create came from API
if ($user != null)
@ -700,6 +706,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
if (empty($error_array))
{
// get current user
@ -733,7 +743,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setInitialConcernNotes($initial_concern_notes)
->setCallerClassification($caller_class)
->setGender($gender)
->setEmergencyType($etype);
->setEmergencyType($etype)
->setOwnershipType($owner_type);
// did they change invoice?
$invoice_items = $req->request->get('invoice_items', []);
@ -901,6 +912,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
if (empty($error_array))
{
// coordinates
@ -931,7 +946,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender)
->setCallerClassification($caller_class)
->setEmergencyType($etype);
->setEmergencyType($etype)
->setOwnershipType($owner_type);
// validate
$errors = $this->validator->validate($obj);
@ -1045,6 +1061,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
// get current user
$user = $this->security->getUser();
@ -1077,7 +1097,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setInitialConcernNotes($initial_concern_notes)
->setCallerClassification($caller_class)
->setGender($gender)
->setEmergencyType($etype);
->setEmergencyType($etype)
->setOwnershipType($owner_type);
if ($user != null)
{
@ -1180,6 +1201,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
if (empty($error_array)) {
// coordinates
$point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));
@ -1206,7 +1231,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender)
->setCallerClassification($caller_class)
->setEmergencyType($etype);
->setEmergencyType($etype)
->setOwnershipType($owner_type);
// validate
$errors = $this->validator->validate($obj);
@ -1429,6 +1455,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
// get previously assigned hub, if any
$old_hub = $obj->getHub();
@ -1486,6 +1516,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setGender($gender)
->setCallerClassification($caller_class)
->setEmergencyType($etype)
->setOwnershipType($owner_type)
->clearRider();
if ($user != null)
@ -1704,6 +1735,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$etype_id = $req->request->get('emergency_type', 0);
$etype = $em->getRepository(EmergencyType::class)->find($etype_id);
// get ownership type if any
$ownertype_id = $req->request->get('ownership_type', 0);
$owner_type = $em->getRepository(OwnershipType::class)->find($ownertype_id);
if (empty($error_array)) {
// rider mqtt event
// NOTE: need to send this before saving because rider will be cleared
@ -1755,7 +1790,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender)
->setCallerClassification($caller_class)
->setEmergencyType($etype);
->setEmergencyType($etype)
->setOwnershipType($owner_type);
if ($user != null)
{
@ -3254,6 +3290,15 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
}
$params['emergency_types'] = $emergency_types;
// list of ownership types
$owner_types = $em->getRepository(OwnershipType::class)->findBy([]);
$ownership_types = [];
foreach ($owner_types as $ownership_type)
{
$ownership_types[$ownership_type->getID()] = $ownership_type->getName();
}
$params['ownership_types'] = $ownership_types;
// list of hubs
$hubs = $em->getRepository(Hub::class)->findBy([], ['name' => 'ASC']);
$fac_hubs = [];

View file

@ -517,6 +517,22 @@
</select>
<div class="form-control-feedback hide" data-field="source_of_awareness"></div>
</div>
<div class="col-lg-6">
<label for="ownership_type" data-field="ownership_type"> Ownership Type </label>
<select class="form-control m-input" id="ownership-type" name="ownership_type">
<option value=""></option>
{% for id, label in ownership_types %}
{% if obj.getOwnershipType %}
<option value="{{ id }}"{{ obj.getOwnershipType.getID == id ? ' selected' }}>{{ label }}</option>
{% else %}
<option value="{{ id }}">{{ label }}</option>
{% endif %}
{% endfor %}
</select>
<div class="form-control-feedback hide" data-field="ownership_type"></div>
</div>
</div>
<div class="form-group m-form__group row">
<div class="col-lg-6">
<label for="remarks" data-field="remarks"> Remarks </label>
<textarea class="form-control m-input" id="remarks" rows="6" name="remarks">{{ obj.getRemarks }}</textarea>