Add gender to job order. #672

This commit is contained in:
Korina Cordero 2022-05-31 06:33:19 +00:00
parent 9ac0c1613d
commit da20713f0f
4 changed files with 83 additions and 7 deletions

View file

@ -396,6 +396,12 @@ class JobOrder
*/
protected $initial_concern_notes;
// gender of caller
/**
* @ORM\Column(type="string", length=80, nullable=true)
*/
protected $gender;
public function __construct()
{
$this->date_create = new DateTime();
@ -1129,4 +1135,16 @@ class JobOrder
{
return $this->initial_concern_notes;
}
public function setGender($gender)
{
$this->gender = $gender;
return $this;
}
public function getGender()
{
return $this->gender;
}
}

16
src/Ramcar/Gender.php Normal file
View file

@ -0,0 +1,16 @@
<?php
namespace App\Ramcar;
class Gender extends NameValue
{
const MALE = 'male';
const FEMALE = 'female';
const UNKNOWN = 'unknown';
const COLLECTION = [
'male' => 'Male',
'female' => 'Female',
'unknown' => 'Unknown',
];
}

View file

@ -46,6 +46,7 @@ use App\Ramcar\HubCriteria;
use App\Ramcar\DeliveryStatus;
use App\Ramcar\SourceOfAwareness;
use App\Ramcar\InitialConcern;
use App\Ramcar\Gender;
use App\Service\InvoiceGeneratorInterface;
use App\Service\JobOrderHandlerInterface;
@ -410,6 +411,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
// TODO: check status before saving since JO might already
// have a status that needs to be retained
@ -445,7 +449,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes);
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender);
// check if user is null, meaning call to create came from API
if ($user != null)
@ -652,6 +657,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
if (empty($error_array))
{
// get current user
@ -682,7 +690,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes);
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender);
// did they change invoice?
$invoice_items = $req->request->get('invoice_items', []);
@ -840,6 +849,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
if (empty($error_array))
{
// coordinates
@ -867,7 +879,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes);
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender);
// validate
$errors = $this->validator->validate($obj);
@ -971,6 +984,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
// get current user
$user = $this->security->getUser();
@ -1000,7 +1016,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes);
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender);
if ($user != null)
{
@ -1093,6 +1110,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
if (empty($error_array)) {
// coordinates
$point = new Point($req->request->get('coord_lng'), $req->request->get('coord_lat'));
@ -1116,7 +1136,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setSourceOfAwareness($soa_type)
->setRemarks($remarks)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes);
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender);
// validate
$errors = $this->validator->validate($obj);
@ -1329,6 +1350,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
// get previously assigned hub, if any
$old_hub = $obj->getHub();
@ -1367,6 +1391,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setRemarks($remarks)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender)
->clearRider();
if ($user != null)
@ -1575,6 +1600,9 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// get initial concern notes if any
$initial_concern_notes = $req->request->get('initial_concern_notes', '');
// get gender if any
$gender = $req->request->get('gender');
if (empty($error_array)) {
// rider mqtt event
// NOTE: need to send this before saving because rider will be cleared
@ -1619,7 +1647,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setRemarks($remarks)
->setDeliveryStatus(DeliveryStatus::RIDER_ASSIGN)
->setInitialConcern($initial_concern)
->setInitialConcernNotes($initial_concern_notes);
->setInitialConcernNotes($initial_concern_notes)
->setGender($gender);
if ($user != null)
{
@ -3127,6 +3156,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$params['no_trade_in_reasons'] = NoTradeInReason::getCollection();
$params['soa_types'] = SourceOfAwareness::getCollection();
$params['initial_concern'] = InitialConcern::getCollection();
$params['genders'] = Gender::getCollection();
}
protected function initFormTags(&$params)

View file

@ -404,7 +404,7 @@
<div class="col-lg-6">
<label data-field="initial_concern">Initial Concern of Customer</label>
<select class="form-control m-input" id="initial-concern" name="initial_concern">
<option value="">Select an initial concern</option>
<option value=""></option>
{% for key, class in initial_concern %}
<option value="{{ key }}"{{ obj.getInitialConcern == key ? ' selected' }}>{{ class }}</option>
{% endfor %}
@ -468,6 +468,18 @@
</div>
</div>
</div>
<div class="form-group m-form__group row">
<div class="col-lg-6">
<label data-field="status">Gender of Caller</label>
<select class="form-control m-input" id="gender" name="gender">
<option value=""></option>
{% for key, gender in genders %}
<option value="{{ key }}"{{ key == obj.getGender ? ' selected' }}>{{ gender }}</option>
{% endfor %}
</select>
<div class="form-control-feedback hide" data-field="gender"></div>
</div>
</div>
<div class="form-group m-form__group row">
<div class="col-lg-6">
<label data-field="status">Source of Awareness</label>