Merge branch '546-additional-fields' into 'master'
Resolve "Additional fields" Closes #546 See merge request jankstudio/resq!640
This commit is contained in:
commit
12f622de04
5 changed files with 122 additions and 43 deletions
|
|
@ -195,7 +195,12 @@ class Customer
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="boolean", options={"default":false})
|
* @ORM\Column(type="boolean", options={"default":false})
|
||||||
*/
|
*/
|
||||||
protected $flag_promo_marketing_research;
|
protected $flag_research_sms;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="boolean", options={"default":false})
|
||||||
|
*/
|
||||||
|
protected $flag_research_email;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
|
|
@ -227,7 +232,8 @@ class Customer
|
||||||
$this->flag_promo_email = false;
|
$this->flag_promo_email = false;
|
||||||
$this->flag_promo_sms = false;
|
$this->flag_promo_sms = false;
|
||||||
$this->flag_dpa_consent = false;
|
$this->flag_dpa_consent = false;
|
||||||
$this->flag_promo_marketing_research = false;
|
$this->flag_research_sms = false;
|
||||||
|
$this->flag_research_email = false;
|
||||||
|
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
}
|
}
|
||||||
|
|
@ -562,14 +568,25 @@ class Customer
|
||||||
return $this->flag_dpa_consent;
|
return $this->flag_dpa_consent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setPromoMarketingResearch($flag_promo_marketing_research = true)
|
public function setResearchSms($flag_research_sms = true)
|
||||||
{
|
{
|
||||||
$this->flag_promo_marketing_research = $flag_promo_marketing_research;
|
$this->flag_research_sms = $flag_research_sms;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isPromoMarketingResearch()
|
public function isResearchSms()
|
||||||
{
|
{
|
||||||
return $this->flag_promo_marketing_research;
|
return $this->flag_research_sms;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setResearchEmail($flag_research_email = true)
|
||||||
|
{
|
||||||
|
$this->flag_research_email = $flag_research_email;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isResearchEmail()
|
||||||
|
{
|
||||||
|
return $this->flag_research_email;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -539,7 +539,8 @@ class ResqCustomerHandler implements CustomerHandlerInterface
|
||||||
'flag_dpa_consent' => $customer->isDpaConsent(),
|
'flag_dpa_consent' => $customer->isDpaConsent(),
|
||||||
'flag_promo_sms' => $customer->isPromoSms(),
|
'flag_promo_sms' => $customer->isPromoSms(),
|
||||||
'flag_promo_email' => $customer->isPromoEmail(),
|
'flag_promo_email' => $customer->isPromoEmail(),
|
||||||
'flag_promo_marketing_research' => $customer->isPromoMarketingResearch(),
|
'flag_research_sms' => $customer->isResearchSms(),
|
||||||
|
'flag_research_email' => $customer->isResearchEmail(),
|
||||||
],
|
],
|
||||||
'vehicle' => [
|
'vehicle' => [
|
||||||
'id' => $vehicle->getID(),
|
'id' => $vehicle->getID(),
|
||||||
|
|
@ -601,7 +602,8 @@ class ResqCustomerHandler implements CustomerHandlerInterface
|
||||||
->setPromoSms($req->request->get('flag_promo_sms', false))
|
->setPromoSms($req->request->get('flag_promo_sms', false))
|
||||||
->setPromoEmail($req->request->get('flag_promo_email', false))
|
->setPromoEmail($req->request->get('flag_promo_email', false))
|
||||||
->setDpaConsent($is_dpa_checked)
|
->setDpaConsent($is_dpa_checked)
|
||||||
->setPromoMarketingResearch($req->request->get('flag_promo_marketing_research', false));
|
->setResearchSms($req->request->get('flag_research_sms', false))
|
||||||
|
->setResearchEmail($req->request->get('flag_research_email', false));
|
||||||
|
|
||||||
// phone numbers
|
// phone numbers
|
||||||
$obj->setPhoneMobile($req->request->get('phone_mobile'))
|
$obj->setPhoneMobile($req->request->get('phone_mobile'))
|
||||||
|
|
|
||||||
|
|
@ -320,6 +320,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
|
||||||
$customer->setEmail($req->request->get('customer_email'))
|
$customer->setEmail($req->request->get('customer_email'))
|
||||||
->setPromoSms($req->request->get('flag_promo_sms', false))
|
->setPromoSms($req->request->get('flag_promo_sms', false))
|
||||||
->setPromoEmail($req->request->get('flag_promo_email', false))
|
->setPromoEmail($req->request->get('flag_promo_email', false))
|
||||||
|
->setResearchSms($req->request->get('flag_research_sms', false))
|
||||||
|
->setResearchEmail($req->request->get('flag_research_email', false))
|
||||||
->setDpaConsent($is_dpa_checked);
|
->setDpaConsent($is_dpa_checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,15 +119,30 @@
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="form-control-feedback hide" data-field="flag_promo_email"></div>
|
<div class="form-control-feedback hide" data-field="flag_promo_email"></div>
|
||||||
</label>
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<div class="col-lg-12 form-group-inner">
|
||||||
|
<label data-field="source">Marketing Research</label>
|
||||||
|
<div class="m-checkbox-list">
|
||||||
<label class="m-checkbox">
|
<label class="m-checkbox">
|
||||||
<input type="checkbox" name="flag_promo_marketing_research" value="1"{{ obj.isPromoMarketingResearch ? ' checked' }} >
|
<input type="checkbox" name="flag_research_sms" value="1"{{ obj.isResearchSms ? ' checked' }} >
|
||||||
Marketing Research
|
SMS
|
||||||
<span></span>
|
<span></span>
|
||||||
<div class="form-control-feedback hide" data-field="flag_promo_marketing_research"></div>
|
<div class="form-control-feedback hide" data-field="flag_research_sms"></div>
|
||||||
|
</label>
|
||||||
|
<label class="m-checkbox">
|
||||||
|
<input type="checkbox" name="flag_research_email" value="1"{{ obj.isResearchEmail ? ' checked' }} >
|
||||||
|
Email
|
||||||
|
<span></span>
|
||||||
|
<div class="form-control-feedback hide" data-field="flag_research_email"></div>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
{% if is_granted('customer.dpa') %}
|
{% if is_granted('customer.dpa') %}
|
||||||
<input type="checkbox" name="flag_dpa_consent" id="flag-dpa_consent" value="1"{{ obj.isDpaConsent ? ' checked' }} >
|
<input type="checkbox" name="flag_dpa_consent" id="flag-dpa_consent" value="1"{{ obj.isDpaConsent ? ' checked' }} >
|
||||||
|
|
@ -135,9 +150,7 @@
|
||||||
<div class="form-control-feedback hide" data-field="flag_dpa_consent"></div>
|
<div class="form-control-feedback hide" data-field="flag_dpa_consent"></div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-lg-4">
|
||||||
<div class="form-group m-form__group row">
|
|
||||||
<div class="col-lg-12">
|
|
||||||
<span class="m-switch m-switch--icon block-switch">
|
<span class="m-switch m-switch--icon block-switch">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" name="flag_active" id="flag_active" value="1"{{ obj.isActive() ? ' checked' }}>
|
<input type="checkbox" name="flag_active" id="flag_active" value="1"{{ obj.isActive() ? ' checked' }}>
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,53 @@
|
||||||
<div class="form-control-feedback hide" data-field="customer_customer_notes"></div>
|
<div class="form-control-feedback hide" data-field="customer_customer_notes"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
<div class="col-lg-12 form-group-inner">
|
||||||
|
<label>Email Address</label>
|
||||||
|
<input type="text" name="customer_email" id="customer-email" class="form-control m-input" value="{{ obj.getCustomer ? obj.getCustomer.getEmail|default('') }}" data-vehicle-field="1" >
|
||||||
|
<div class="form-control-feedback hide" data-field="customer_email"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group m-form__group row">
|
||||||
|
<div class="col-lg-3">
|
||||||
|
<div class="col-lg-12 form-group-inner">
|
||||||
|
<label data-field="source">Marketing Promo</label>
|
||||||
|
<div class="m-checkbox-list">
|
||||||
|
<label class="m-checkbox">
|
||||||
|
<input type="checkbox" name="flag_promo_sms" id="flag-promo-sms" value="1"{{ obj.getCustomer ? obj.getCustomer.isPromoSms ? ' checked' }} >
|
||||||
|
SMS
|
||||||
|
<span></span>
|
||||||
|
<div class="form-control-feedback hide" data-field="flag_promo_sms"></div>
|
||||||
|
</label>
|
||||||
|
<label class="m-checkbox">
|
||||||
|
<input type="checkbox" name="flag_promo_email" id="flag-promo-email" value="1"{{ obj.getCustomer ? obj.getCustomer.isPromoEmail ? ' checked' }} >
|
||||||
|
Email
|
||||||
|
<span></span>
|
||||||
|
<div class="form-control-feedback hide" data-field="flag_promo_email"></div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-3">
|
||||||
|
<div class="col-lg-12 form-group-inner">
|
||||||
|
<label data-field="source">Marketing Research</label>
|
||||||
|
<div class="m-checkbox-list">
|
||||||
|
<label class="m-checkbox">
|
||||||
|
<input type="checkbox" name="flag_research_sms" id="flag-research-sms" value="1"{{ obj.getCustomer ? obj.getCustomer.isResearchSms ? ' checked' }} >
|
||||||
|
SMS
|
||||||
|
<span></span>
|
||||||
|
<div class="form-control-feedback hide" data-field="flag_research_sms"></div>
|
||||||
|
</label>
|
||||||
|
<label class="m-checkbox">
|
||||||
|
<input type="checkbox" name="flag_research_email" id="flag-research-email" "value="1"{{ obj.getCustomer ? obj.getCustomer.isResearchEmail ? ' checked' }} >
|
||||||
|
Email
|
||||||
|
<span></span>
|
||||||
|
<div class="form-control-feedback hide" data-field="flag_research_email"></div>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-3">
|
||||||
{% if is_granted('customer.dpa') %}
|
{% if is_granted('customer.dpa') %}
|
||||||
<input type="checkbox" name="flag_dpa_consent" id="flag-dpa-consent" value="1"{{ obj.getCustomer ? obj.getCustomer.isDpaConsent ? ' checked' }} i>
|
<input type="checkbox" name="flag_dpa_consent" id="flag-dpa-consent" value="1"{{ obj.getCustomer ? obj.getCustomer.isDpaConsent ? ' checked' }} i>
|
||||||
<label class="switch-label">With DPA Consent</label>
|
<label class="switch-label">With DPA Consent</label>
|
||||||
|
|
@ -219,6 +266,15 @@
|
||||||
<input type="text" name="warranty_expiration" id="warranty-expiration" class="form-control m-input" value="{{ obj.getCustomerVehicle.getCurrentBattery|default(false) ? obj.getCustomerVehicle.getWarrantyExpiration|date("d M Y") : '' }}" data-vehicle-field="1" disabled>
|
<input type="text" name="warranty_expiration" id="warranty-expiration" class="form-control m-input" value="{{ obj.getCustomerVehicle.getCurrentBattery|default(false) ? obj.getCustomerVehicle.getWarrantyExpiration|date("d M Y") : '' }}" data-vehicle-field="1" disabled>
|
||||||
<div class="form-control-feedback hide" data-field="warranty_expiration"></div>
|
<div class="form-control-feedback hide" data-field="warranty_expiration"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-g-3">
|
||||||
|
<span class="m-switch m-switch--icon block-switch">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" name="flag_motolite_battery" id="flag-motolite-battery" value="1" disabled>
|
||||||
|
<label class="switch-label">This vehicle is using a Motolite battery</label>
|
||||||
|
<span></span>
|
||||||
|
</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
{% if obj.getCustomerVehicle %}
|
{% if obj.getCustomerVehicle %}
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<div><label> </label></div>
|
<div><label> </label></div>
|
||||||
|
|
@ -353,7 +409,7 @@
|
||||||
<br>
|
<br>
|
||||||
<div class="col-lg-12 form-group-inner">
|
<div class="col-lg-12 form-group-inner">
|
||||||
<label data-field="delivery_instructions">Delivery Instructions</label>
|
<label data-field="delivery_instructions">Delivery Instructions</label>
|
||||||
<textarea name="delivery_instructions" class="form-control m-input" rows="4">{{ obj.getDeliveryInstructions }}</textarea>
|
<textarea name="delivery_instructions" class="form-control m-input" rows="7">{{ obj.getDeliveryInstructions }}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
@ -375,34 +431,6 @@
|
||||||
<div class="form-control-feedback hide" data-field="date_transaction"></div>
|
<div class="form-control-feedback hide" data-field="date_transaction"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="form-group m-form__group row">
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="col-lg-12 form-group-inner">
|
|
||||||
<label data-field="source">Marketing Promo</label>
|
|
||||||
<div class="m-checkbox-list">
|
|
||||||
<label class="m-checkbox">
|
|
||||||
<input type="checkbox" name="flag_promo_sms" id="flag-promo-sms" value="1"{{ obj.getCustomer ? obj.getCustomer.isPromoSms ? ' checked' }} >
|
|
||||||
SMS
|
|
||||||
<span></span>
|
|
||||||
<div class="form-control-feedback hide" data-field="flag_promo_sms"></div>
|
|
||||||
</label>
|
|
||||||
<label class="m-checkbox">
|
|
||||||
<input type="checkbox" name="flag_promo_email" id="flag-promo-email" value="1"{{ obj.getCustomer ? obj.getCustomer.isPromoEmail ? ' checked' }} >
|
|
||||||
Email
|
|
||||||
<span></span>
|
|
||||||
<div class="form-control-feedback hide" data-field="flag_promo_email"></div>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<div class="col-lg-12 form-group-inner">
|
|
||||||
<label>Email Address</label>
|
|
||||||
<input type="text" name="customer_email" id="customer-email" class="form-control m-input" value="{{ obj.getCustomer ? obj.getCustomer.getEmail|default('') }}" data-vehicle-field="1" >
|
|
||||||
<div class="form-control-feedback hide" data-field="customer_email"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!--
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
|
|
@ -1175,6 +1203,8 @@ $(function() {
|
||||||
$("#flag-dpa-consent").prop("disabled", true);
|
$("#flag-dpa-consent").prop("disabled", true);
|
||||||
$("#flag-promo-sms").prop("disabled", true);
|
$("#flag-promo-sms").prop("disabled", true);
|
||||||
$("#flag-promo-email").prop("disabled", true);
|
$("#flag-promo-email").prop("disabled", true);
|
||||||
|
$("#flag-research-sms").prop("disabled", true);
|
||||||
|
$("#flag-research-email").prop("disabled", true);
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
$("#row-form").submit(function(e) {
|
$("#row-form").submit(function(e) {
|
||||||
|
|
@ -1329,11 +1359,21 @@ $(function() {
|
||||||
$("#flag-dpa-consent").prop("checked", true);
|
$("#flag-dpa-consent").prop("checked", true);
|
||||||
}
|
}
|
||||||
if (vdata.customer.flag_promo_sms === true) {
|
if (vdata.customer.flag_promo_sms === true) {
|
||||||
|
console.log('promo_sms is true');
|
||||||
$("#flag-promo-sms").prop("checked", true);
|
$("#flag-promo-sms").prop("checked", true);
|
||||||
}
|
}
|
||||||
if (vdata.customer.flag_promo_email === true) {
|
if (vdata.customer.flag_promo_email === true) {
|
||||||
|
console.log('promo_email is true');
|
||||||
$("#flag-promo-email").prop("checked", true);
|
$("#flag-promo-email").prop("checked", true);
|
||||||
}
|
}
|
||||||
|
if (vdata.customer.flag_research_sms === true) {
|
||||||
|
console.log('research_sms is true');
|
||||||
|
$("#flag-research-sms").prop("checked", true);
|
||||||
|
}
|
||||||
|
if (vdata.customer.flag_research_email === true) {
|
||||||
|
console.log('research_email is true');
|
||||||
|
$("#flag-research-email").prop("checked", true);
|
||||||
|
}
|
||||||
|
|
||||||
// set hidden customer id
|
// set hidden customer id
|
||||||
$("#cid").val(vdata.customer.id);
|
$("#cid").val(vdata.customer.id);
|
||||||
|
|
@ -1342,6 +1382,7 @@ $(function() {
|
||||||
$("#current-battery").val(vdata.battery.mfg_name + " " + vdata.battery.model_name + " " + vdata.battery.size_name + " (" + vdata.battery.prod_code + ")");
|
$("#current-battery").val(vdata.battery.mfg_name + " " + vdata.battery.model_name + " " + vdata.battery.size_name + " (" + vdata.battery.prod_code + ")");
|
||||||
$("#warranty-code").val(vdata.battery.warranty_code);
|
$("#warranty-code").val(vdata.battery.warranty_code);
|
||||||
$("#warranty-expiration").val(vdata.battery.warranty_expiration);
|
$("#warranty-expiration").val(vdata.battery.warranty_expiration);
|
||||||
|
$("#flag-motolite-battery").prop("checked", true);
|
||||||
} else {
|
} else {
|
||||||
$("#current-battery, #warranty-code, #warranty-expiration").val("No current battery").css('color', '#f4516c');
|
$("#current-battery, #warranty-code, #warranty-expiration").val("No current battery").css('color', '#f4516c');
|
||||||
}
|
}
|
||||||
|
|
@ -1374,9 +1415,13 @@ $(function() {
|
||||||
function resetVehicleFields() {
|
function resetVehicleFields() {
|
||||||
$("[data-vehicle-field='1']").val("").css('color', '').prop('placeholder', 'Select a vehicle first');
|
$("[data-vehicle-field='1']").val("").css('color', '').prop('placeholder', 'Select a vehicle first');
|
||||||
|
|
||||||
|
console.log('resetting fields');
|
||||||
|
|
||||||
$("#flag-dpa-consent").prop("checked", false);
|
$("#flag-dpa-consent").prop("checked", false);
|
||||||
$("#flag-promo-sms").prop("checked", false);
|
$("#flag-promo-sms").prop("checked", false);
|
||||||
$("#flag-promo-email").prop("checked", false);
|
$("#flag-promo-email").prop("checked", false);
|
||||||
|
$("#flag-research-sms").prop("checked", false);
|
||||||
|
$("#flag-research-email").prop("checked", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// datepicker
|
// datepicker
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue