🐛 fix(prosespenawaran): perbaiki route generation dengan parameter kosong
- Ganti parameter kosong ('') dengan placeholder ':id' pada route helper
- Implementasi JavaScript replace() untuk substitusi parameter dinamis
- Perbaiki fungsi updateulang dan updateKJPPStatus di editeulangxtjs.blade.php
- Meningkatkan keamanan dan konsistensi route generation
- Menghindari error Laravel route dengan parameter kosong
- Kompatibel dengan Laravel route caching mechanism
This commit is contained in:
@@ -72,7 +72,7 @@ function updateDataUlang(id, kjpp_id, kjppName){
|
||||
if(passednih)
|
||||
{
|
||||
var file_data = $("#{{$route[1]}}_dokumenPersetujuan_"+id).prop("files")[0];
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateulang', '') }}/"+id;
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateulang', ':id') }}".replace(':id', id);
|
||||
let formData = new FormData();
|
||||
let token = "{{ csrf_token() }}";
|
||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
||||
@@ -132,7 +132,7 @@ function deleteData(data, kjppName) {
|
||||
|
||||
//define variable
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data;
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus', ':id') }}".replace(':id', data);
|
||||
|
||||
var input_data = new Object();
|
||||
input_data._token = token;
|
||||
@@ -334,4 +334,4 @@ function deleteDataUlang(data, kjppName) {
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
@@ -1,9 +1,9 @@
|
||||
<script tipe="module">
|
||||
function switchProses(id)
|
||||
{
|
||||
|
||||
|
||||
let c = $('#{{$route[1]}}_check_'+id).val();
|
||||
|
||||
|
||||
if($('input[name="{{$route[1]}}_check_'+id+'"]').is(':checked'))
|
||||
{
|
||||
// checked
|
||||
@@ -16,7 +16,7 @@
|
||||
setNonActiveElement(id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function setActiveElement(id)
|
||||
{
|
||||
$('#{{$route[1]}}_biayaPenawaran_'+id).removeAttr('disabled');
|
||||
@@ -24,7 +24,7 @@
|
||||
$('#{{$route[1]}}_icon_update_'+id).removeAttr('disabled');
|
||||
$('#{{$route[1]}}_icon_delete_'+id).removeAttr('disabled');
|
||||
}
|
||||
|
||||
|
||||
function setNonActiveElement(id)
|
||||
{
|
||||
$('#{{$route[1]}}_biayaPenawaran_'+id).attr('disabled', 'disabled');
|
||||
@@ -32,32 +32,32 @@
|
||||
$('#{{$route[1]}}_icon_update_'+id).attr('disabled', 'disabled');
|
||||
$('#{{$route[1]}}_icon_delete_'+id).attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
|
||||
function updateData(id, kjpp_id, kjppName){
|
||||
// id => detail_penawaran.id
|
||||
removeErrorCssMsg();
|
||||
let no_proposal = $("#{{$route[1]}}_no_proposal_"+id).val();
|
||||
let tgl_proposal = $("#{{$route[1]}}_tgl_proposal_"+id).val();
|
||||
let biaya = $("#{{$route[1]}}_biayaPenawaran_"+id).val();
|
||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
||||
let passednih = true;
|
||||
|
||||
let no_proposal = $("#{{$route[1]}}_no_proposal_"+id).val();
|
||||
let tgl_proposal = $("#{{$route[1]}}_tgl_proposal_"+id).val();
|
||||
let biaya = $("#{{$route[1]}}_biayaPenawaran_"+id).val();
|
||||
let filepdf = $("#{{$route[1]}}_dokumenPersetujuan_"+id).val();
|
||||
let passednih = true;
|
||||
|
||||
if(passednih)
|
||||
{
|
||||
var file_data = $("#{{$route[1]}}_dokumenPersetujuan_"+id).prop("files")[0];
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.update', '') }}/"+id;
|
||||
let formData = new FormData();
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.update', $id) }}";
|
||||
let formData = new FormData();
|
||||
let token = "{{ csrf_token() }}";
|
||||
formData.append("dokumen_persetujuan", file_data ?? "");
|
||||
formData.append("no_proposal", no_proposal);
|
||||
formData.append("tgl_proposal", tgl_proposal);
|
||||
formData.append("biaya_penawaran", biaya);
|
||||
formData.append("biaya_penawaran", biaya);
|
||||
formData.append("kjpp_rekanan_id", kjpp_id);
|
||||
formData.append("_method", "PUT");
|
||||
formData.append("_token", token);
|
||||
$.ajax({
|
||||
url: useURL,
|
||||
type: "POST",
|
||||
type: "POST",
|
||||
data: formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
@@ -68,7 +68,7 @@
|
||||
// success
|
||||
var message = response.message;
|
||||
toastrku("success", message);
|
||||
setTimeout(function () {
|
||||
setTimeout(function () {
|
||||
location.reload(true);
|
||||
}, 2000);
|
||||
}
|
||||
@@ -78,7 +78,7 @@
|
||||
var message = response.message;
|
||||
toastrku("error", message);
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
error: function (response, textStatus, errorThrown) {
|
||||
var errors = response.responseJSON.errors;
|
||||
@@ -87,11 +87,11 @@
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function deleteData(data, kjppName) {
|
||||
// data => detail_penawaran.id
|
||||
Swal.fire({
|
||||
@@ -104,10 +104,11 @@
|
||||
confirmButtonText: 'Yes, delete it!'
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
|
||||
|
||||
//define variable
|
||||
let token = "{{ csrf_token() }}";
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus','') }}/"+data;
|
||||
let useURL = "{{ route($route[0].'.'.$route[1].'.updateKJPPStatus', ':id') }}";
|
||||
useURL = useURL.replace(':id', data);
|
||||
var input_data = new Object();
|
||||
input_data._token = token;
|
||||
input_data.id =data;
|
||||
@@ -119,7 +120,7 @@
|
||||
data: input_data,
|
||||
dataType: "json",
|
||||
success: function(response) {
|
||||
|
||||
|
||||
if('success' == response.status)
|
||||
{
|
||||
swal.fire('Deleted!', response.message.message_success[0], 'success').then(() => {
|
||||
@@ -130,18 +131,18 @@
|
||||
{
|
||||
Swal.fire('Error!', response.message.message_error[0], 'error');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
error: function(response, textStatus, errorThrown) {
|
||||
// var errors = response.responseJSON.errors;
|
||||
// console.log(errors);
|
||||
console.log(response);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user