Update codebase to save phone number of PIC aside from saving their id
This commit is contained in:
@@ -55,7 +55,7 @@ class TetapanController extends Controller
|
||||
$settings = array_combine($key, $values);
|
||||
|
||||
$days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
||||
$operasi_users = User::where('cawangan', 'operasi')->get(['id', 'name']);
|
||||
$operasi_users = User::where('cawangan', 'operasi')->get(['id', 'name', 'no_telefon']);
|
||||
|
||||
return view('tetapan.unsold-commodity-notifications', compact('api_url', 'auth_user', 'settings', 'operasi_users', 'days'));
|
||||
}
|
||||
|
||||
@@ -74,22 +74,29 @@
|
||||
@php
|
||||
$array = json_decode($settings['pic_' .strtolower($day)]);
|
||||
@endphp
|
||||
@foreach($array as $id)
|
||||
@foreach($array as $pic)
|
||||
<div class="ml-3 flex mb-3">
|
||||
<select name="pic_{{ strtolower($day) }}[]" class="form-select w-full block px-3 py-2 mt-1 text-base leading-6 text-gray-700 bg-white border border-gray-300 rounded-md focus:outline-none focus:ring focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm sm:leading-5">
|
||||
<select
|
||||
name="pic_{{ strtolower($day) }}[]"
|
||||
class="select-staff-operasi form-select w-full block px-3 py-2 mt-1 text-base leading-6 text-gray-700 bg-white border border-gray-300 rounded-md focus:outline-none focus:ring focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm sm:leading-5"
|
||||
@php
|
||||
$pic_id = isset($pic->id) ? $pic->id : '';
|
||||
@endphp
|
||||
data-telefon-no-selected="{{ $operasi_users->where('id', $pic_id)->first()->no_telefon ?? '' }}"
|
||||
>
|
||||
<option value="">Select an option</option>
|
||||
@foreach($operasi_users as $user)
|
||||
<option value="{{ $user->id }}" {{ $user->id == $id ? 'selected' : '' }}>{{ $user->name }}</option>
|
||||
<option value="{{ $user->id }}" {{ $user->id == $pic_id ? 'selected' : '' }} data-telefon-no="{{ $user->no_telefon }}">{{ $user->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@if($loop->index === 0)
|
||||
<button class="add-pic-button flex items-center px-4 font-semibold text-white bg-blue-500 rounded hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50 ml-3">
|
||||
+
|
||||
</button>
|
||||
<button class="add-pic-button flex items-center px-4 font-semibold text-white bg-blue-500 rounded hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50 ml-3">
|
||||
+
|
||||
</button>
|
||||
@else
|
||||
<button class="remove-pic-button flex items-center px-4 font-semibold text-white bg-red-500 rounded hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50 ml-3">
|
||||
-
|
||||
</button>
|
||||
<button class="remove-pic-button flex items-center px-4 font-semibold text-white bg-red-500 rounded hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50 ml-3">
|
||||
-
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -160,7 +167,18 @@
|
||||
|
||||
let extractUserId = function(pic_array) {
|
||||
return pic_array.reduce((accumulator, nextItem) => {
|
||||
accumulator.push(nextItem.value);
|
||||
|
||||
let data_object = {
|
||||
'id': nextItem.value,
|
||||
'no_telefon': nextItem.dataset.telefonNoSelected,
|
||||
};
|
||||
|
||||
|
||||
if(data_object.id !== ''){
|
||||
accumulator.push(data_object);
|
||||
return accumulator;
|
||||
}
|
||||
|
||||
return accumulator;
|
||||
}, []);
|
||||
};
|
||||
@@ -180,8 +198,6 @@
|
||||
'pic_saturday': extractUserId(pic_saturday),
|
||||
};
|
||||
|
||||
|
||||
|
||||
if (status.checked) {
|
||||
|
||||
let checkEmpty = x => x.trim() === '';
|
||||
@@ -325,4 +341,16 @@
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
let select_staff_operasi = document.querySelectorAll('select.select-staff-operasi')
|
||||
|
||||
select_staff_operasi.forEach(x => {
|
||||
x.addEventListener('input', function(select_element) {
|
||||
const selectedOption = this.options[this.selectedIndex];
|
||||
select_element.target.dataset.telefonNoSelected = selectedOption.dataset.telefonNo;
|
||||
})
|
||||
})
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
Reference in New Issue
Block a user