Merge branch '454-resq-dropdown-of-reasons-for-customers-not-willing-to-wait' into '453-resq-july-30-release'

Resolve "Resq - dropdown of reasons for customers not willing to wait"

See merge request jankstudio/resq!529
This commit is contained in:
Korina Cordero 2020-08-04 03:35:45 +00:00
commit 7b8fe8c9e6
2 changed files with 42 additions and 29 deletions

View file

@ -37,6 +37,7 @@ use App\Ramcar\ModeOfPayment;
use App\Ramcar\TransactionOrigin;
use App\Ramcar\FacilitatedType;
use App\Ramcar\JORejectionReason;
use App\Ramcar\CustomerNotWaitReason;
use App\Service\InvoiceGeneratorInterface;
use App\Service\JobOrderHandlerInterface;
@ -326,9 +327,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
// TODO: check status before saving since JO might already
// have a status that needs to be retained
@ -361,7 +363,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setModeOfPayment($req->request->get('mode_of_payment'))
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
// check if user is null, meaning call to create came from API
if ($user != null)
@ -458,9 +460,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
if (empty($error_array))
{
@ -488,7 +491,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setModeOfPayment($req->request->get('mode_of_payment'))
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
// did they change invoice?
$invoice_items = $req->request->get('invoice_items', []);
@ -625,9 +628,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
if (empty($error_array))
{
@ -651,7 +655,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setHub($hub)
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
// validate
$errors = $this->validator->validate($obj);
@ -731,9 +735,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
// get current user
$user = $this->security->getUser();
@ -758,7 +763,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setRider($rider)
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
if ($user != null)
{
@ -827,9 +832,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
if (empty($error_array)) {
// coordinates
@ -848,7 +854,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setDeliveryAddress($req->request->get('delivery_address'))
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
// validate
$errors = $this->validator->validate($obj);
@ -1025,9 +1031,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
if (empty($error_array))
{
@ -1059,7 +1066,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->clearRider()
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
if ($user != null)
{
@ -1239,9 +1246,10 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
// check if customer is not willing to wait
$will_wait = $req->request->get('flag_will_wait');
$reason = $req->request->get('no_wait_reason');
if ((!($will_wait)) && (empty($reason)))
$error_array['no_wait_reason'] = 'Reason is needed.';
if ($will_wait)
$reason = '';
else
$reason = $req->request->get('no_wait_reason');
if (empty($error_array)) {
// rider mqtt event
@ -1272,7 +1280,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
->setRider($rider)
->setLandmark($req->request->get('landmark'))
->setWillingToWait($req->request->get('flag_will_wait', false))
->setReasonsNotWait($req->request->get('no_wait_reason'));
->setReasonsNotWait($reason);
if ($user != null)
{
@ -2544,6 +2552,7 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$params['facilitated_types'] = FacilitatedType::getCollection();
$params['facilitated_hubs'] = $fac_hubs;
$params['sources'] = TransactionOrigin::getCollection();
$params['no_wait_reasons'] = CustomerNotWaitReason::getCollection();
}
protected function initFormTags(&$params)

View file

@ -300,7 +300,11 @@
</div>
<div class="col-lg-6">
<label data-field="no_wait_reason">Reason Why Not Willing to Wait</label>
<input type="text" name="no_wait_reason" class="form-control m-input" value="{{ obj.getReasonsNotWait|default('') }}">
<select class="form-control m-input" id="no-wait-reason" name="no_wait_reason">
{% for key, class in no_wait_reasons %}
<option value="{{ key }}"{{ obj.getReasonsNotWait == key ? ' selected' }}>{{ class }}</option>
{% endfor %}
</select>
<div class="form-control-feedback hide" data-field="no_wait_reason"></div>
</div>
</div>