Compare commits
10 Commits
d662328903
...
844d509834
Author | SHA1 | Date | |
---|---|---|---|
844d509834 | |||
f458bb19c5 | |||
76d43a81c8 | |||
b3d5bf05a9 | |||
f0ec35f463 | |||
326b1dcfc5 | |||
b6b036e06d | |||
e7ac329d24 | |||
648d941893 | |||
59dc825bf7 |
@ -281,7 +281,7 @@ class Account extends Model implements IDs
|
||||
DB::raw('SUM(amount) AS payments'),
|
||||
DB::raw('SUM(fees_amt) AS payment_fees'),
|
||||
])
|
||||
->join('payment_items',['payment_items.payment_id'=>'payments.id'])
|
||||
->leftjoin('payment_items',['payment_items.payment_id'=>'payments.id'])
|
||||
->where('payments.active',TRUE)
|
||||
->where('payment_items.active',TRUE)
|
||||
->groupBy(['payment_items.invoice_id'])
|
||||
@ -299,6 +299,7 @@ class Account extends Model implements IDs
|
||||
->leftjoin('invoice_item_taxes',['invoice_item_taxes.invoice_item_id'=>'invoice_items.id'])
|
||||
->rightjoin('invoices',['invoices.id'=>'invoice_items.invoice_id'])
|
||||
->where('invoice_items.active',TRUE)
|
||||
->where('invoice_item_taxes.active',TRUE)
|
||||
->where('invoices.active',TRUE)
|
||||
->groupBy(['invoice_items.invoice_id']),
|
||||
),'p')
|
||||
|
@ -47,6 +47,7 @@ return [
|
||||
'password' => env('MAIL_PASSWORD'),
|
||||
'timeout' => null,
|
||||
'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url(env('APP_URL', 'http://localhost'), PHP_URL_HOST)),
|
||||
'verify_peer' => false,
|
||||
],
|
||||
|
||||
'ses' => [
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
<div class="card-body">
|
||||
@if(($list=$o->invoiceSummaryDue()->get())->count())
|
||||
@include('theme.backend.adminlte.invoice.widget.due')
|
||||
@include('theme.backend.adminlte.invoice.widget.due',['type'=>'account'])
|
||||
|
||||
@else
|
||||
<p>No invoice due</p>
|
||||
|
@ -96,7 +96,7 @@
|
||||
@if($o==$user)
|
||||
@canany('reseller','wholesaler')
|
||||
<div class="tab-pane" id="tab-reseller" role="tabpanel">
|
||||
@include('theme.backend.adminlte.r.home.widget.home')
|
||||
@include('theme.backend.adminlte.widget.admin.reseller')
|
||||
</div>
|
||||
@endcanany
|
||||
@endif
|
||||
|
@ -0,0 +1,58 @@
|
||||
<!-- Show outstanding invoices -->
|
||||
<table class="table table-bordered w-100" id="invoices_credit_{{$type}}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Account</th>
|
||||
<th>#</th>
|
||||
<th>Due</th>
|
||||
<th class="text-right">Items</th>
|
||||
<th class="text-right">Discounts</th>
|
||||
<th class="text-right">Total</th>
|
||||
<th class="text-right">Payments</th>
|
||||
<th class="text-right">Balance</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($list as $oo)
|
||||
<tr>
|
||||
<td>{{ $oo->account->name }}</td>
|
||||
<td><a href="{{ url('u/invoice',$oo->id) }}">{{ $oo->lid }}</a></td>
|
||||
<td>{{ $oo->due_at->format('Y-m-d') }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_item+$oo->_tax,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_discount,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_total,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_payment,2) }}</td>
|
||||
<td class="text-right">${{ number_format($oo->_balance,2) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@section('page-styles')
|
||||
@css(datatables,bootstrap4|rowgroup)
|
||||
@append
|
||||
|
||||
@section('page-scripts')
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
|
||||
<script type="text/javascript">
|
||||
@if($list->count())
|
||||
$(document).ready(function() {
|
||||
$('#invoices_credit_{{$type}}').DataTable({
|
||||
// If we have more than 1 account id, order by account
|
||||
order: [[0,'asc'],[2,'asc'],[1,'desc']],
|
||||
rowGroup: {
|
||||
dataSrc: 0,
|
||||
},
|
||||
columnDefs: [
|
||||
{
|
||||
targets: [0],
|
||||
visible: false,
|
||||
}
|
||||
],
|
||||
});
|
||||
});
|
||||
@endif
|
||||
</script>
|
||||
@append
|
@ -1,4 +1,3 @@
|
||||
<!-- $o=App\Models\User -->
|
||||
<!-- Show outstanding invoices for all clients -->
|
||||
<div class="card card-warning">
|
||||
<div class="card-header">
|
||||
@ -7,7 +6,7 @@
|
||||
|
||||
<div class="card-body">
|
||||
@if(($list=\App\Models\Account::InvoicesDue())->count())
|
||||
@include('theme.backend.adminlte.invoice.widget.due')
|
||||
@include('theme.backend.adminlte.invoice.widget.due',['type'=>'all'])
|
||||
|
||||
@else
|
||||
<p>No invoice due</p>
|
@ -1,6 +1,6 @@
|
||||
<!-- $o = Account::class -->
|
||||
<!-- $list = Collection[Invoice::class] -->
|
||||
<!-- Show outstanding invoices -->
|
||||
<table class="table table-bordered w-100" id="invoices_due_{{ $o->id }}">
|
||||
<table class="table table-bordered w-100" id="invoices_due_{{$type}}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Account</th>
|
||||
@ -12,8 +12,8 @@
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($list as $oo)
|
||||
<tr @if ($oo->due_at->isPast()) class="table-danger" @endif>
|
||||
@foreach($list as $oo)
|
||||
<tr @if($oo->due_at->isPast()) class="table-danger" @endif>
|
||||
<td>{{ $oo->account->name }}</td>
|
||||
<td><a href="{{ url('u/invoice',$oo->id) }}">{{ $oo->lid }}</a></td>
|
||||
<td>{{ $oo->due_at->format('Y-m-d') }}</td>
|
||||
@ -32,9 +32,9 @@
|
||||
@js(datatables,bootstrap4|rowgroup)
|
||||
|
||||
<script type="text/javascript">
|
||||
@if ($list->count())
|
||||
@if($list->count())
|
||||
$(document).ready(function() {
|
||||
$('#invoices_due_{{ $o->id }}').DataTable({
|
||||
$('#invoices_due_{{$type}}').DataTable({
|
||||
// If we have more than 1 account id, order by account
|
||||
order: [[0,'asc'],[2,'asc'],[1,'desc']],
|
||||
rowGroup: {
|
||||
|
@ -1,11 +0,0 @@
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
@include('theme.backend.adminlte.r.account.widgets.list')
|
||||
</div>
|
||||
|
||||
<div class="col-8">
|
||||
@include('theme.backend.adminlte.r.service.widget.movement')
|
||||
|
||||
@include('theme.backend.adminlte.r.invoice.widgets.due')
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,24 @@
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
@include('theme.backend.adminlte.account.widget.admin.list')
|
||||
</div>
|
||||
|
||||
<div class="col-8">
|
||||
@include('theme.backend.adminlte.service.widget.admin.movement')
|
||||
|
||||
@include('theme.backend.adminlte.invoice.widget.admin.due')
|
||||
|
||||
@can('wholesaler')
|
||||
<!-- Show outstanding invoices for all clients -->
|
||||
<div class="card card-secondary">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title">Invoices In Credit</h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@include('theme.backend.adminlte.invoice.widget.admin.credit',['list'=>\App\Models\Account::InvoicesCredit(),'type'=>'account'])
|
||||
</div>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
@ -1,8 +1,10 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Foundation\Inspiring;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Facades\Schedule;
|
||||
|
||||
//Artisan::command('inspire', function () {
|
||||
// $this->comment(Inspiring::quote());
|
||||
//})->purpose('Display an inspiring quote')->hourly();
|
||||
use App\Jobs\BroadbandTraffic;
|
||||
use App\Models\Supplier;
|
||||
|
||||
Schedule::job(new BroadbandTraffic(Supplier::find(1)))
|
||||
->timezone('Australia/Melbourne')
|
||||
->dailyAt('10:00');
|
Loading…
Reference in New Issue
Block a user