Se agrega rut al sistema

parent 026f61b6
Pipeline #674 failed with stages
...@@ -81,6 +81,9 @@ class ServiceController extends Controller ...@@ -81,6 +81,9 @@ class ServiceController extends Controller
'email_required' => 'nullable', 'email_required' => 'nullable',
'ask_phone' => 'required', 'ask_phone' => 'required',
'phone_required' => 'nullable', 'phone_required' => 'nullable',
'ask_rut' => 'required',
'rut_required' => 'nullable',
]); ]);
DB::beginTransaction(); DB::beginTransaction();
try { try {
...@@ -152,6 +155,9 @@ class ServiceController extends Controller ...@@ -152,6 +155,9 @@ class ServiceController extends Controller
'email_required' => 'nullable', 'email_required' => 'nullable',
'ask_phone' => 'required', 'ask_phone' => 'required',
'phone_required' => 'nullable', 'phone_required' => 'nullable',
'ask_rut' => 'required',
'rut_required' => 'nullable',
]); ]);
DB::beginTransaction(); DB::beginTransaction();
try { try {
......
...@@ -51,6 +51,10 @@ class TokenController extends Controller ...@@ -51,6 +51,10 @@ class TokenController extends Controller
'phone' => [Rule::requiredIf(function () use ($request, $service) { 'phone' => [Rule::requiredIf(function () use ($request, $service) {
return $request->with_details && ($service->email_required == 1); return $request->with_details && ($service->email_required == 1);
})], })],
'rut' => [Rule::requiredIf(function () use ($request, $service) {
return $request->with_details && ($service->rut_required == 1);
})],
]); ]);
$queue = $this->tokenRepository->createToken($service, $request->all(), $request->with_details ? true : false); $queue = $this->tokenRepository->createToken($service, $request->all(), $request->with_details ? true : false);
......
...@@ -10,7 +10,7 @@ class Queue extends Model ...@@ -10,7 +10,7 @@ class Queue extends Model
{ {
use HasFactory; use HasFactory;
protected $fillable = [ protected $fillable = [
'service_id','number','called','letter','reference_no','phone','email','name','position' 'service_id','number','called','letter','reference_no','phone','email','name','position', 'rut'
]; ];
protected $appends = ['formated_date','token_number']; protected $appends = ['formated_date','token_number'];
......
...@@ -9,7 +9,7 @@ class Service extends Model ...@@ -9,7 +9,7 @@ class Service extends Model
{ {
use HasFactory; use HasFactory;
protected $fillable = [ protected $fillable = [
'name','letter','start_number','status','sms_enabled','optin_message_enabled','call_message_enabled','noshow_message_enabled','completed_message_enabled','optin_message_format','call_message_format','noshow_message_format','completed_message_format','ask_name','name_required','ask_email','email_required','ask_phone','phone_required','status_message_enabled','status_message_format','status_message_positions' 'name','letter','start_number','status','sms_enabled','optin_message_enabled','call_message_enabled','noshow_message_enabled','completed_message_enabled','optin_message_format','call_message_format','noshow_message_format','completed_message_format','ask_name','name_required','ask_email','email_required','ask_phone','phone_required','status_message_enabled','status_message_format','status_message_positions, ask_rut, rut_required'
]; ];
......
...@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Storage; ...@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\Storage;
class Setting extends Model class Setting extends Model
{ {
protected $fillable = [ protected $fillable = [
'language_id', 'name', 'address', 'email', 'phone', 'location', 'display_notification', 'display_font_size', 'display_font_color', 'logo', 'timezone', 'sms_url', 'sms_enabled', 'installed' 'language_id', 'name', 'address', 'email', 'phone', 'location', 'display_notification', 'display_font_size', 'display_font_color', 'logo', 'timezone', 'sms_url', 'sms_enabled', 'installed','rut'
]; ];
protected $appends = ['logo_url']; protected $appends = ['logo_url'];
......
...@@ -47,6 +47,9 @@ class ServiceRepository ...@@ -47,6 +47,9 @@ class ServiceRepository
'name_required' => $data['ask_name'] == 1 ? $data['name_required'] : false, 'name_required' => $data['ask_name'] == 1 ? $data['name_required'] : false,
'ask_email' => $data['ask_email'], 'ask_email' => $data['ask_email'],
'email_required' => $data['ask_email'] == 1 ? $data['email_required'] : false, 'email_required' => $data['ask_email'] == 1 ? $data['email_required'] : false,
'ask_rut' => $data['ask_rut'],
'rut_required' => $data['ask_rut'] == 1 ? $data['rut_required'] : false
]); ]);
return $service; return $service;
} }
...@@ -75,6 +78,8 @@ class ServiceRepository ...@@ -75,6 +78,8 @@ class ServiceRepository
$service->email_required = ($data['ask_email'] == 1) ? $data['email_required'] : false; $service->email_required = ($data['ask_email'] == 1) ? $data['email_required'] : false;
$service->ask_phone = $data['ask_phone']; $service->ask_phone = $data['ask_phone'];
$service->phone_required = ($data['ask_phone'] == 1) ? $data['phone_required'] : false; $service->phone_required = ($data['ask_phone'] == 1) ? $data['phone_required'] : false;
$service->ask_rut = $data['ask_rut'];
$service->rut_required = ($data['ask_rut'] == 1) ? $data['rut_required'] : false;
$service->save(); $service->save();
return $service; return $service;
} }
......
...@@ -25,6 +25,7 @@ class TokenRepository ...@@ -25,6 +25,7 @@ class TokenRepository
'name' => ($is_details && $service->ask_name == 1) ? $data['name'] : null, 'name' => ($is_details && $service->ask_name == 1) ? $data['name'] : null,
'email' => ($is_details && $service->ask_email == 1) ? $data['email'] : null, 'email' => ($is_details && $service->ask_email == 1) ? $data['email'] : null,
'phone' => ($is_details && $service->ask_phone == 1) ? $data['phone'] : null, 'phone' => ($is_details && $service->ask_phone == 1) ? $data['phone'] : null,
'rut' => ($is_details && $service->ask_rut == 1) ? $data['rut'] : null,
'position' => $this->customerWaiting($service) + 1 'position' => $this->customerWaiting($service) + 1
]); ]);
return $queue; return $queue;
......
...@@ -70,6 +70,8 @@ return [ ...@@ -70,6 +70,8 @@ return [
'Email is required' => 'Email is required', 'Email is required' => 'Email is required',
'Ask Phone For Token' => 'Ask Phone For Token', 'Ask Phone For Token' => 'Ask Phone For Token',
'Phone is required' => 'Phone is required', 'Phone is required' => 'Phone is required',
'Ask Rut For Token' => 'Ask Rut For Token',
'Rut is required' => 'Rut is required',
'Optin Message' => 'Optin Message', 'Optin Message' => 'Optin Message',
'Optin Message Format' => 'Optin Message Format', 'Optin Message Format' => 'Optin Message Format',
'Call Message' => 'Call Message', 'Call Message' => 'Call Message',
...@@ -157,6 +159,7 @@ return [ ...@@ -157,6 +159,7 @@ return [
'email' => 'Email', 'email' => 'Email',
'address' => 'Address', 'address' => 'Address',
'phone' => 'Phone', 'phone' => 'Phone',
'rut' => 'Rut',
'location' => 'Location', 'location' => 'Location',
'timezone' => 'Time Zone', 'timezone' => 'Time Zone',
'logo' => 'Logo', 'logo' => 'Logo',
......
...@@ -70,6 +70,8 @@ return [ ...@@ -70,6 +70,8 @@ return [
'Email is required' => 'correo electronico es requerido', 'Email is required' => 'correo electronico es requerido',
'Ask Phone For Token' => 'Pedir token al teléfono', 'Ask Phone For Token' => 'Pedir token al teléfono',
'Phone is required' => 'Se requiere teléfono', 'Phone is required' => 'Se requiere teléfono',
'Ask Rut For Token' => 'Pedir token al rut',
'Rut is required' => 'Se requiere rut',
'Optin Message' => 'Mensaje de suscripción', 'Optin Message' => 'Mensaje de suscripción',
'Optin Message Format' => 'Formato de mensaje de opción', 'Optin Message Format' => 'Formato de mensaje de opción',
'Call Message' => 'Mensaje de llamada', 'Call Message' => 'Mensaje de llamada',
...@@ -158,6 +160,7 @@ return [ ...@@ -158,6 +160,7 @@ return [
'name' => 'Nombre', 'name' => 'Nombre',
'email' => 'Correo electrónico', 'email' => 'Correo electrónico',
'address' => 'Habla a', 'address' => 'Habla a',
'rut' => 'Rut',
'phone' => 'Teléfono', 'phone' => 'Teléfono',
'location' => 'Ubicación', 'location' => 'Ubicación',
'timezone' => 'Zona horaria', 'timezone' => 'Zona horaria',
......
...@@ -57,7 +57,13 @@ ...@@ -57,7 +57,13 @@
<input id="email" name="email" type="email" value="" data-error=".email"> <input id="email" name="email" type="email" value="" data-error=".email">
<label for="email">{{__('messages.settings.email')}}</label> <label for="email">{{__('messages.settings.email')}}</label>
<div class="email"> <div class="email">
</div>
</div>
<div class="input-field col s4" id="rut_tab">
<input id="rut" name="rut" type="text" value="" data-error=".rut">
<label for="rut">{{__('messages.settings.rut')}}</label>
<div class="rut">
</div> </div>
</div> </div>
</div> </div>
...@@ -82,13 +88,16 @@ ...@@ -82,13 +88,16 @@
var service; var service;
function queueDept(value) { function queueDept(value) {
if (value.ask_email == 1 || value.ask_name == 1 || value.ask_phone == 1) { if (value.ask_email == 1 || value.ask_name == 1 || value.ask_phone == 1 || value.ask_rut == 1) {
if (value.ask_email == 1) $('#email_tab').show(); if (value.ask_email == 1) $('#email_tab').show();
else $('#email_tab').hide(); else $('#email_tab').hide();
if (value.ask_name == 1) $('#name_tab').show(); if (value.ask_name == 1) $('#name_tab').show();
else $('#name_tab').hide(); else $('#name_tab').hide();
if (value.ask_phone == 1) $('#phone_tab').show(); if (value.ask_phone == 1) $('#phone_tab').show();
else $('#phone_tab').hide() else $('#phone_tab').hide()
if (value.ask_rut == 1) $('#rut_tab').show();
else $('#rut_tab').hide();
service = value; service = value;
$('#modal_button').removeAttr('disabled'); $('#modal_button').removeAttr('disabled');
$('#modal1').modal('open'); $('#modal1').modal('open');
...@@ -122,6 +131,11 @@ ...@@ -122,6 +131,11 @@
}, },
number: true number: true
}, },
rut: {
required: function(element) {
return service.rut_required == "1";
},
},
}, },
errorElement: 'div', errorElement: 'div',
errorPlacement: function(error, element) { errorPlacement: function(error, element) {
...@@ -140,6 +154,7 @@ ...@@ -140,6 +154,7 @@
name: $('#name').val(), name: $('#name').val(),
email: $('#email').val(), email: $('#email').val(),
phone: $('#phone').val(), phone: $('#phone').val(),
rut: $('#rut').val(),
with_details: true with_details: true
} }
createToken(data); createToken(data);
...@@ -159,6 +174,7 @@ ...@@ -159,6 +174,7 @@
$('#phone').val(null); $('#phone').val(null);
$('#email').val(null); $('#email').val(null);
$('#name').val(null); $('#name').val(null);
$('#rut').val(null);
let html = ` let html = `
<p style="font-size: 15px; font-weight: bold; margin-top:-15px;">` + response.settings.name + `,` + response.settings.location + ` <p style="font-size: 15px; font-weight: bold; margin-top:-15px;">` + response.settings.name + `,` + response.settings.location + `
</p> </p>
...@@ -175,7 +191,7 @@ ...@@ -175,7 +191,7 @@
$('#printarea').html(html); $('#printarea').html(html);
$('body').addClass('loaded'); $('body').addClass('loaded');
window.print(); window.print();
} else if (response.status_code == 422 && response.errors && (response.errors['name'] || response.errors['email'] || response.errors['phone'])) { } else if (response.status_code == 422 && response.errors && (response.errors['name'] || response.errors['email'] || response.errors['phone'] || response.errors['rut'])) {
$('#modal_button').removeAttr('disabled'); $('#modal_button').removeAttr('disabled');
if (response.errors['name'] && response.errors['name'][0]) { if (response.errors['name'] && response.errors['name'][0]) {
$('.name').html('<span class="text-danger errbk">' + response.errors['name'][0] + '</span>') $('.name').html('<span class="text-danger errbk">' + response.errors['name'][0] + '</span>')
...@@ -186,12 +202,16 @@ ...@@ -186,12 +202,16 @@
if (response.errors['phone'] && response.errors['phone'][0]) { if (response.errors['phone'] && response.errors['phone'][0]) {
$('.phone').html('<span class="text-danger errbk">' + response.errors['phone'][0] + '</span>') $('.phone').html('<span class="text-danger errbk">' + response.errors['phone'][0] + '</span>')
} }
if (response.errors['rut'] && response.errors['rut'][0]) {
$('.rut').html('<span class="text-danger errbk">' + response.errors['rut'][0] + '</span>')
}
$('body').addClass('loaded'); $('body').addClass('loaded');
} else { } else {
$('#modal1').modal('close'); $('#modal1').modal('close');
$('#phone').val(null); $('#phone').val(null);
$('#email').val(null); $('#email').val(null);
$('#name').val(null); $('#name').val(null);
$('#rut').val(null);
$('body').addClass('loaded'); $('body').addClass('loaded');
M.toast({ M.toast({
html: 'something went wrong', html: 'something went wrong',
......
...@@ -131,6 +131,30 @@ ...@@ -131,6 +131,30 @@
@endif @endif
</div> </div>
</div> </div>
<div class="input-field col s3">
<select name="ask_rut" id="ask_rut" data-error=".ask_rut" onchange="enableRequired()">
<option value="0" selected>No</option>
<option value="1">Yes</option>
</select>
<label>{{__('messages.service_page.Ask Rut For Token')}}</label>
<div class="ask_rut">
@if ($errors->has('ask_rut'))
<span class="text-danger errbk">{{ $errors->first('ask_rut') }}</span>
@endif
</div>
</div>
<div class="input-field col s3">
<select name="rut_required" id="rut_required" data-error=".rut_required">
<option value="0" selected>No</option>
<option value="1">Yes</option>
</select>
<label>{{__('messages.service_page.Rut is required')}}</label>
<div class="rut_required">
@if ($errors->has('rut_required'))
<span class="text-danger errbk">{{ $errors->first('rut_required') }}</span>
@endif
</div>
</div>
@if($settings->sms_enabled) @if($settings->sms_enabled)
<div class="input-field col s6"> <div class="input-field col s6">
<select name="sms" id="sms" data-error=".sms" onchange="changeSMS()"> <select name="sms" id="sms" data-error=".sms" onchange="changeSMS()">
...@@ -449,6 +473,12 @@ ...@@ -449,6 +473,12 @@
$('#email_required').val(0); $('#email_required').val(0);
$('#email_required').prop('disabled', true); $('#email_required').prop('disabled', true);
} }
if($('#ask_rut').val() == 1){
$('#rut_required').prop('disabled', false);
}else{
$('#rut_required').val(0);
$('#rut_required').prop('disabled', true);
}
if ($('#ask_phone').val() == 1) { if ($('#ask_phone').val() == 1) {
$('#phone_required,#sms').prop('disabled', false); $('#phone_required,#sms').prop('disabled', false);
} else { } else {
......
...@@ -131,6 +131,34 @@ ...@@ -131,6 +131,34 @@
@endif @endif
</div> </div>
</div> </div>
<!---
Se añade configuracion de rut
!-->
<div class="input-field col s3">
<select name="ask_rut" id="ask_rut" data-error=".ask_rut" onchange="enableRequired()">
<option value="0" @if($service->ask_rut==0) selected @endif>No</option>
<option value="1" @if($service->ask_rut==1) selected @endif>Yes</option>
</select>
<label>{{__('messages.service_page.Ask Rut For Token')}}</label>
<div class="ask_rut">
@if ($errors->has('ask_rut'))
<span class="text-danger errbk">{{ $errors->first('ask_rut') }}</span>
@endif
</div>
</div>
<div class="input-field col s3">
<select name="rut_required" id="rut_required" data-error=".rut_required">
<option value="0" @if($service->rut_required==0) selected @endif>No</option>
<option value="1" @if($service->rut_required==1) selected @endif>Yes</option>
</select>
<label>{{__('messages.service_page.Rut is required')}}</label>
<div class="rut_required">
@if ($errors->has('rut_required'))
<span class="text-danger errbk">{{ $errors->first('rut_required') }}</span>
@endif
</div>
</div>
@if($settings->sms_enabled) @if($settings->sms_enabled)
<div class="input-field col s6"> <div class="input-field col s6">
<select name="sms" id="sms" data-error=".sms" onchange="changeSMS()"> <select name="sms" id="sms" data-error=".sms" onchange="changeSMS()">
...@@ -453,6 +481,12 @@ ...@@ -453,6 +481,12 @@
$('#email_required').val(0); $('#email_required').val(0);
$('#email_required').prop('disabled', true); $('#email_required').prop('disabled', true);
} }
if($('#ask_rut').val() == 1){
$('#rut_required').prop('disabled', false);
}else{
$('#rut_required').val(0);
$('#rut_required').prop('disabled', true);
}
if ($('#ask_phone').val() == 1) { if ($('#ask_phone').val() == 1) {
$('#phone_required,#sms').prop('disabled', false); $('#phone_required,#sms').prop('disabled', false);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment