mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-22 01:22:16 +00:00
- Invoice listing in frontend
This commit is contained in:
@@ -3,9 +3,16 @@
|
||||
namespace App\Http\Controllers\Oasis;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Auth;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ClientController extends Controller
|
||||
{
|
||||
//
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return response(Auth::user()->clients, 200);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,25 @@
|
||||
namespace App\Http\Controllers\Oasis;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Resources\Oasis\OasisInvoiceCollection;
|
||||
use Auth;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class InvoiceController extends Controller
|
||||
{
|
||||
//
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function get_all_regular_invoices()
|
||||
{
|
||||
return response(new OasisInvoiceCollection(Auth::user()->regularInvoices), 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function get_all_advance_invoices()
|
||||
{
|
||||
return response(new OasisInvoiceCollection(Auth::user()->advanceInvoices), 200);
|
||||
}
|
||||
}
|
||||
|
||||
21
app/Http/Resources/Oasis/OasisInvoiceCollection.php
Normal file
21
app/Http/Resources/Oasis/OasisInvoiceCollection.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Oasis;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class OasisInvoiceCollection extends ResourceCollection
|
||||
{
|
||||
public $collects = OasisInvoiceResource::class;
|
||||
|
||||
/**
|
||||
* Transform the resource collection into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Support\Collection
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return $this->collection;
|
||||
}
|
||||
}
|
||||
28
app/Http/Resources/Oasis/OasisInvoiceResource.php
Normal file
28
app/Http/Resources/Oasis/OasisInvoiceResource.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Resources\Oasis;
|
||||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class OasisInvoiceResource extends JsonResource
|
||||
{
|
||||
/**
|
||||
* Transform the resource into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'name' => $this->client['name'] . ' ' . format_to_currency($this->total_net, $this->currency),
|
||||
'invoiceNumber' => $this->invoice_number,
|
||||
'total' => format_to_currency($this->total_net, $this->currency),
|
||||
'file_url' => '',
|
||||
'clientName' => $this->client['name'],
|
||||
'mimetype' => 'pdf',
|
||||
'created_at' => format_date($this->created_at, '%d. %B. %Y'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -70,4 +70,15 @@ function invoice_total_tax($invoice, $format = false)
|
||||
}
|
||||
|
||||
return $total;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $value
|
||||
* @param $currency
|
||||
* @param string $locale
|
||||
* @return string
|
||||
*/
|
||||
function format_to_currency($value, $currency, $locale = 'cs')
|
||||
{
|
||||
return Cashier::formatAmount(($value * 100), $currency, $locale);
|
||||
}
|
||||
Reference in New Issue
Block a user