File: /var/www/vhost/disk-apps/teamdemo.sports-crowd.com/resources/views/academy/payments/list.blade.php
@extends('modules.head') @section('contenido')
<style>
/* Ensure that the demo table scrolls */
/* th, */
td {
white-space: nowrap;
}
div.dataTables_wrapper {
height: fit-content;
margin: 0px 10px 0px 10px;
}
.dataTables_scrollBody {
max-height: none !important;
}
.bold {
font-weight: bold;
}
.pending {
background-color: #F7CB73 !important;
}
</style>
<div class="box-header">
@if(!in_array(Auth::user()->rol->id, [14]))
<a class="btn btn-app btnReportProducts" data-toggle="modal" data-target="#edit_payments">
<i class="fa fa-cloud-upload"></i> {{ Lang::get('messages.academy_payments.titleEdit')}}
</a>
@endif
</div>
<h3>
<a class="ruta" class=""
href="{{ url('/academy_user') }}{{ '/' . $academyUser->type_academy }}">{{ Lang::get('messages.academy_users.title') }}
</a>
<span class="separador-ruta">|</span>
<a class="ruta" class=""
href="{{ url('/academy_user_payment/' . $academyUser->id) }}">{{ Lang::get('messages.academy_payments.title') }}
</a>
</h3>
<div class="box">
<div class="box-header">
<h3 class="box-title">{{ Lang::get('messages.academy_payments.title') }} ➜
{{ $academyUser->student_name . ' ' . $academyUser->student_last_name }}
</h3>
</div>
<!-- /.box-header -->
<div class="box-body table-responsive ">
<table id="example2" class="stripe row-border order-column" style="width:100%" role="grid" aria-describedby="example2_info">
<thead>
<tr role="row">
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_purchases.id')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag4')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag6')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag7')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag8')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag22')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag23')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag5')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag17-1')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag17-2')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag18-1')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag18-2')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag18-3')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag9-1')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag9-2')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag10')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag11')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_purchases.payment_method') }}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_purchases.gateway_payments')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag16')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag13')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_purchases.erp_identifier') }}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_purchases.erp_reference') }}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_purchases.sync_with_erp') }}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_payments.tag20')}}</th>
<th class="sorting" tabindex="0" aria-controls="example2" rowspan="1" colspan="1" aria-label="Browser: activate to sort column ascending">{{ Lang::get('messages.academy_users.tag41')}}</th>
</tr>
</thead>
</table>
</div>
<!-- /.box-body -->
</div>
@include('academy.payments.modal.edit_payments')
<script src="{{ asset('js/jQuery/jquery-2.2.3.min.js') }}"></script>
<script src="{{ asset('js/bootstrap/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('js/academy_user_payment.js') . '?v=' . time() }}"></script>
<script src="{{ asset('js/crud.js') . '?v=' . time() }}"></script>
<script src="{{ asset('js/util.js') . '?v=' . time() }}"></script>
<script type="text/javascript">
$(document).ready(function() {
let fixedColumns = false;
let isMobileDevice = /Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
if (!isMobileDevice) {
fixedColumns = {
left: 2,
right: 2
};
}
_table = $('#example2').DataTable({
responsive: true,
processing: true,
serverSide: true,
language: {
url: window.DATATABLES_LANGUAGE_URL,
},
scrollX: true,
scrollCollapse: true,
paging: true,
fixedColumns: fixedColumns,
ajax: '/academy_user_payment/list/{{$academyUser->id}}',
columns: [{
data: 'id',
name: 'id'
},
{
data: 'term_type',
name: 'term_type'
},
{
data: 'term',
name: 'term'
},
{
data: 'start_term',
name: 'start_term'
},
{
data: 'end_term',
name: 'end_term'
},
{
data: 'payment_activation',
name: 'payment_activation'
},
{
data: 'payment_due_date',
name: 'payment_due_date'
},
{
data: 'enrollment_academy_price',
render: function(data, type, row) {
return formatCurrency(row.enrollment_academy_price ?? row.monthly_academy_price);
},
name: 'enrollment_academy_price'
},
{
data: 'price_discount',
render: function(data, type, row) {
return formatCurrency(row.price_discount);
},
name: 'price_discount'
},
{
data: 'discount',
render: function(data, type, row) {
return row.discount + '%';
},
name: 'discount'
},
{
data: 'subtotal',
render: function(data, type, row) {
return formatCurrency(row.subtotal);
},
sClass: "bold",
name: 'subtotal'
},
{
data: 'service_charge',
render: function(data, type, row) {
return formatCurrency(row.service_charge);
},
sClass: "bold",
name: 'service_charge'
},
{
data: 'price',
render: function(data, type, row) {
return formatCurrency(row.price);
},
sClass: "bold",
name: 'price'
},
{
data: 'payment_transaction_id',
render: function(data, type, row) {
return row.payment_transaction && row.payment_transaction.reference ? row.payment_transaction.reference : '';
},
name: 'payment_transaction.reference'
},
{
data: 'payment_transaction_id',
render: function(data, type, row) {
return row.payment_transaction && row.payment_transaction.gateway_transaction_id ? row.payment_transaction.gateway_transaction_id : '';
},
name: 'payment_transaction.gateway_transaction_id'
},
{
data: 'state',
name: 'payment_transaction.state'
},
{
data: 'payment_transaction_id',
render: function(data, type, row) {
return row.payment_transaction ? row.payment_transaction.comment : '';
},
name: 'payment_transaction.comment'
},
{
data: 'payment_method',
name: 'payment_methods.name'
},
{
data: 'payment_transaction_id',
render: function(data, type, row) {
return row.payment_transaction && row.payment_transaction.gateway_payments ? row.payment_transaction.gateway_payments.name : '';
},
name: 'gateway_payments.name'
},
{
data: 'payment_transaction_id',
render: function(data, type, row, sData, oData, nTd) {
return row.payment_transaction && row.payment_transaction.support ? "<a href='" + row.payment_transaction.support + "' target='_blank'>Ver documento</a>" : '';
},
name: 'payment_transaction.support'
},
{
data: 'payment_date',
name: 'payment_transaction.payment_date'
},
{
data: 'erp_reference',
name: 'erp_reference'
},
{
data: 'erp_response',
name: 'erp_response'
},
{
data: 'sync_with_erp',
render: function(data, type, row) {
return row.sync_with_erp ? 'SI' : 'NO';
},
name: 'sync_with_erp'
},
{
data: 'active',
name: 'active'
},
{
data: 'actions',
name: 'actions'
},
],
"createdRow": function(row, data, dataIndex) {
if (data['pending']) {
$(row).addClass('pending');
}
}
});
var info =
'<i class="fa fa-info-circle" id="btn-info-busqueda"></i><div class="dropdown-menu" id="menuBusqueda" style="left: 50%; padding: 5px; background-color: #f9fb8f;"><p data-toggle="modal">Busqueda por Código, Nombre y Teléfono</p></div>';
$('#example2_filter').append(info);
$('#btn-info-busqueda').on('click', function() {
$('#menuBusqueda').toggle();
});
});
function clickValidatePay(id) {
swal(Lang.get("messagesClient.academy_payments.confirm_payment"), {
buttons: {
cancel: "No",
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
$('#loading').show();
var info = {
id: id,
state: 'CONFIRMED',
};
$.ajax({
url: "/academy_user_payment/validatePay",
type: "PUT",
contentType: "application/json",
headers: {
"X-CSRF-TOKEN": $(
'meta[name="csrf-token"]'
).attr("content"),
"Content-Type": "application/json",
},
data: JSON.stringify(info),
success: function(r) {
$('#loading').hide();
if (r.r) {
swal(r.m, {
icon: "success",
buttons: {
Ok: true,
},
}).then((val) => {
if (val == "Ok") {
localStorage.setItem("setPageTable", true);
var academyUserId = document.location.href.match(
/[0-9]+/)[0];
$(location).attr("href", "/academy_user_payment/" +
academyUserId);
}
});
} else {
swal("Error", r.m, "error");
}
},
error: function(e) {
$('#loading').hide();
swal("Error", Lang.get(
"messagesClient.academy_payments.error_confirm_payment"),
"error");
},
});
}
});
}
</script>
@endsection