Support exporting expenses

This commit is contained in:
Hillel Coren 2016-12-05 20:35:01 +02:00
parent 880f903c8f
commit 2d0effda63
5 changed files with 58 additions and 3 deletions

View File

@ -13,6 +13,7 @@ use App\Models\Credit;
use App\Models\Task;
use App\Models\Invoice;
use App\Models\Payment;
use App\Models\Expense;
use App\Models\Vendor;
use App\Models\VendorContact;
@ -212,6 +213,13 @@ class ExportController extends BaseController
->get();
}
if ($request->input('include') === 'all' || $request->input('expenses')) {
$data['expenses'] = Expense::scope()
->with('user', 'vendor.vendor_contacts', 'client.contacts', 'expense_category')
->withArchived()
->get();
}
if ($request->input('include') === 'all' || $request->input('vendors')) {
$data['vendors'] = Vendor::scope()
->with('user', 'vendor_contacts', 'country')

View File

@ -24,4 +24,14 @@ class ExpensePresenter extends EntityPresenter
return Utils::fromSqlDate($this->entity->expense_date);
}
public function amount()
{
return Utils::formatMoney($this->entity->amount, $this->entity->expense_currency_id);
}
public function category()
{
return $this->entity->expense_category ? $this->entity->expense_category->name : '';
}
}

View File

@ -68,17 +68,20 @@
<div class="form-group entity-types">
<label class="control-label col-lg-4 col-sm-4"></label>
<div class="col-lg-3 col-sm-2">
<div class="col-lg-2 col-sm-2">
@include('partials/checkbox', ['field' => 'clients'])
@include('partials/checkbox', ['field' => 'contacts'])
@include('partials/checkbox', ['field' => 'credits'])
@include('partials/checkbox', ['field' => 'tasks'])
@include('partials/checkbox', ['field' => 'invoices'])
</div>
<div class="col-lg-3 col-sm-3">
<div class="col-lg-2 col-sm-2">
@include('partials/checkbox', ['field' => 'invoices'])
@include('partials/checkbox', ['field' => 'quotes'])
@include('partials/checkbox', ['field' => 'recurring'])
@include('partials/checkbox', ['field' => 'payments'])
</div>
<div class="col-lg-3 col-sm-3">
@include('partials/checkbox', ['field' => 'expenses'])
@include('partials/checkbox', ['field' => 'vendors'])
@include('partials/checkbox', ['field' => 'vendor_contacts'])
</div>

View File

@ -45,6 +45,11 @@
@include('export.payments')
@endif
@if (isset($expenses) && $expenses && count($expenses))
<tr><td>{{ strtoupper(trans('texts.expenses')) }}</td></tr>
@include('export.expenses')
@endif
@if (isset($vendors) && $vendors && count($vendors))
<tr><td>{{ strtoupper(trans('texts.vendors')) }}</td></tr>
@include('export.vendors')

View File

@ -0,0 +1,29 @@
<tr>
<td>{{ trans('texts.vendor') }}</td>
<td>{{ trans('texts.client') }}</td>
@if ($multiUser)
<td>{{ trans('texts.user') }}</td>
@endif
<td>{{ trans('texts.expense_date') }}</td>
<td>{{ trans('texts.amount') }}</td>
<td>{{ trans('texts.category') }}</td>
<td>{{ trans('texts.public_notes') }}</td>
<td>{{ trans('texts.private_notes') }}</td>
</tr>
@foreach ($expenses as $expense)
<tr>
<td>{{ $expense->vendor ? $expense->vendor->getDisplayName() : '' }}</td>
<td>{{ $expense->client ? $expense->client->getDisplayName() : '' }}</td>
@if ($multiUser)
<td>{{ $expense->user->getDisplayName() }}</td>
@endif
<td>{{ $expense->present()->expense_date }}</td>
<td>{{ $expense->present()->amount }}</td>
<td>{{ $expense->present()->category }}</td>
<td>{{ $expense->public_notes }}</td>
<td>{{ $expense->private_notes }}</td>
</tr>
@endforeach
<tr><td></td></tr>