Merge Invoice and Bill into Document
This commit is contained in:
13
modules/BC21/Abstracts/DocumentModel.php
Normal file
13
modules/BC21/Abstracts/DocumentModel.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Abstracts;
|
||||
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
abstract class DocumentModel extends Document
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillCancelled.php
Normal file
13
modules/BC21/Events/Purchase/BillCancelled.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentCancelled;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentCancelled
|
||||
*/
|
||||
class BillCancelled extends DocumentCancelled
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillCreated.php
Normal file
13
modules/BC21/Events/Purchase/BillCreated.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentCreated;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class BillCreated extends DocumentCreated
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillCreating.php
Normal file
13
modules/BC21/Events/Purchase/BillCreating.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentCreating;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentCreating
|
||||
*/
|
||||
class BillCreating extends DocumentCreating
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillReceived.php
Normal file
13
modules/BC21/Events/Purchase/BillReceived.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentReceived;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentReceived
|
||||
*/
|
||||
class BillReceived extends DocumentReceived
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillRecurring.php
Normal file
13
modules/BC21/Events/Purchase/BillRecurring.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentRecurring;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentRecurring
|
||||
*/
|
||||
class BillRecurring extends DocumentRecurring
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillReminded.php
Normal file
13
modules/BC21/Events/Purchase/BillReminded.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentReminded;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentReminded
|
||||
*/
|
||||
class BillReminded extends DocumentReminded
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillUpdated.php
Normal file
13
modules/BC21/Events/Purchase/BillUpdated.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentUpdated;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentUpdated
|
||||
*/
|
||||
class BillUpdated extends DocumentUpdated
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Purchase/BillUpdating.php
Normal file
13
modules/BC21/Events/Purchase/BillUpdating.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Purchase;
|
||||
|
||||
use App\Events\Document\DocumentUpdating;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentUpdating
|
||||
*/
|
||||
class BillUpdating extends DocumentUpdating
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceCancelled.php
Normal file
13
modules/BC21/Events/Sale/InvoiceCancelled.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentCancelled;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentCancelled
|
||||
*/
|
||||
class InvoiceCancelled extends DocumentCancelled
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceCreated.php
Normal file
13
modules/BC21/Events/Sale/InvoiceCreated.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentCreated;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentCreated
|
||||
*/
|
||||
class InvoiceCreated extends DocumentCreated
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceCreating.php
Normal file
13
modules/BC21/Events/Sale/InvoiceCreating.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentCreating;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentCreating
|
||||
*/
|
||||
class InvoiceCreating extends DocumentCreating
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoicePrinting.php
Normal file
13
modules/BC21/Events/Sale/InvoicePrinting.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentPrinting;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentPrinting
|
||||
*/
|
||||
class InvoicePrinting extends DocumentPrinting
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceRecurring.php
Normal file
13
modules/BC21/Events/Sale/InvoiceRecurring.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentRecurring;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentRecurring
|
||||
*/
|
||||
class InvoiceRecurring extends DocumentRecurring
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceReminded.php
Normal file
13
modules/BC21/Events/Sale/InvoiceReminded.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentReminded;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentReminded
|
||||
*/
|
||||
class InvoiceReminded extends DocumentReminded
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceSent.php
Normal file
13
modules/BC21/Events/Sale/InvoiceSent.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentSent;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentSent
|
||||
*/
|
||||
class InvoiceSent extends DocumentSent
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceUpdated.php
Normal file
13
modules/BC21/Events/Sale/InvoiceUpdated.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentUpdated;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentUpdated
|
||||
*/
|
||||
class InvoiceUpdated extends DocumentUpdated
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceUpdating.php
Normal file
13
modules/BC21/Events/Sale/InvoiceUpdating.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentUpdating;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentUpdating
|
||||
*/
|
||||
class InvoiceUpdating extends DocumentUpdating
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Events/Sale/InvoiceViewed.php
Normal file
13
modules/BC21/Events/Sale/InvoiceViewed.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
use App\Events\Document\DocumentViewed;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentViewed
|
||||
*/
|
||||
class InvoiceViewed extends DocumentViewed
|
||||
{
|
||||
}
|
||||
7
modules/BC21/Events/Sale/PaymentReceived.php
Normal file
7
modules/BC21/Events/Sale/PaymentReceived.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events\Sale;
|
||||
|
||||
class PaymentReceived extends \App\Events\Document\PaymentReceived
|
||||
{
|
||||
}
|
||||
18
modules/BC21/Exports/Purchases/Bills.php
Normal file
18
modules/BC21/Exports/Purchases/Bills.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\Purchases;
|
||||
|
||||
use App\Exports\Document\Documents;
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class Bills extends Documents
|
||||
{
|
||||
public function __construct($ids = null, string $type = '')
|
||||
{
|
||||
parent::__construct($ids, Document::BILL_TYPE);
|
||||
}
|
||||
}
|
||||
18
modules/BC21/Exports/Sales/Invoices.php
Normal file
18
modules/BC21/Exports/Sales/Invoices.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Exports\Sales;
|
||||
|
||||
use App\Exports\Document\Documents;
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class Invoices extends Documents
|
||||
{
|
||||
public function __construct($ids = null, string $type = '')
|
||||
{
|
||||
parent::__construct($ids, Document::INVOICE_TYPE);
|
||||
}
|
||||
}
|
||||
85
modules/BC21/Http/Controllers/Api/Purchases/Bills.php
Normal file
85
modules/BC21/Http/Controllers/Api/Purchases/Bills.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Purchases;
|
||||
|
||||
use App\Abstracts\Http\ApiController;
|
||||
use App\Http\Requests\Document\Document as Request;
|
||||
use App\Jobs\Document\CreateDocument;
|
||||
use App\Jobs\Document\DeleteDocument;
|
||||
use App\Jobs\Document\UpdateDocument;
|
||||
use App\Models\Document\Document;
|
||||
use App\Transformers\Purchase\Bill as Transformer;
|
||||
|
||||
class Bills extends ApiController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$bills = Document::bill()->with('contact', 'histories', 'items', 'transactions')->collect(['issued_at'=> 'desc']);
|
||||
|
||||
return $this->response->paginator($bills, new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param Document $document
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function show(Document $document)
|
||||
{
|
||||
return $this->response->item($document, new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param $request
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$bill = $this->dispatch(new CreateDocument($request));
|
||||
|
||||
return $this->response->created(route('api.bills.show', $bill->id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param $document
|
||||
* @param $request
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function update(Document $document, Request $request)
|
||||
{
|
||||
$document = $this->dispatch(new UpdateDocument($document, $request));
|
||||
|
||||
return $this->item($document->fresh(), new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param Document $document
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function destroy(Document $document)
|
||||
{
|
||||
try {
|
||||
$this->dispatch(new DeleteDocument($document));
|
||||
|
||||
return $this->response->noContent();
|
||||
} catch(\Exception $e) {
|
||||
$this->response->errorUnauthorized($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Sales;
|
||||
|
||||
use App\Http\Requests\Banking\Transaction as Request;
|
||||
use App\Jobs\Banking\CreateBankingDocumentTransaction;
|
||||
use App\Jobs\Banking\DeleteTransaction;
|
||||
use App\Models\Banking\Transaction;
|
||||
use App\Models\Document\Document;
|
||||
use App\Transformers\Banking\Transaction as Transformer;
|
||||
use Dingo\Api\Routing\Helpers;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
|
||||
class InvoiceTransactions extends BaseController
|
||||
{
|
||||
use Helpers, AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @param $invoice_id
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function index($invoice_id)
|
||||
{
|
||||
$transactions = Transaction::document($invoice_id)->get();
|
||||
|
||||
return $this->response->collection($transactions, new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param $invoice_id
|
||||
* @param $id
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function show($invoice_id, $id)
|
||||
{
|
||||
$transaction = Transaction::document($invoice_id)->find($id);
|
||||
|
||||
return $this->response->item($transaction, new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param $invoice_id
|
||||
* @param $request
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function store($invoice_id, Request $request)
|
||||
{
|
||||
$invoice = Document::find($invoice_id);
|
||||
|
||||
$transaction = $this->dispatch(new CreateBankingDocumentTransaction($invoice, $request));
|
||||
|
||||
return $this->response->created(url('api/invoices/' . $invoice_id . '/transactions/' . $transaction->id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param $invoice_id
|
||||
* @param $id
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function destroy($invoice_id, $id)
|
||||
{
|
||||
$transaction = Transaction::document($invoice_id)->find($id);
|
||||
|
||||
$this->dispatch(new DeleteTransaction($transaction));
|
||||
|
||||
return $this->response->noContent();
|
||||
}
|
||||
}
|
||||
91
modules/BC21/Http/Controllers/Api/Sales/Invoices.php
Normal file
91
modules/BC21/Http/Controllers/Api/Sales/Invoices.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api\Sales;
|
||||
|
||||
use App\Abstracts\Http\ApiController;
|
||||
use App\Http\Requests\Document\Document as Request;
|
||||
use App\Jobs\Document\CreateDocument;
|
||||
use App\Jobs\Document\DeleteDocument;
|
||||
use App\Jobs\Document\UpdateDocument;
|
||||
use App\Models\Document\Document;
|
||||
use App\Transformers\Sale\Invoice as Transformer;
|
||||
|
||||
class Invoices extends ApiController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$invoices = Document::invoice()->with('contact', 'histories', 'items', 'transactions')->collect(['issued_at'=> 'desc']);
|
||||
|
||||
return $this->response->paginator($invoices, new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param $id
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
// Check if we're querying by id or number
|
||||
if (is_numeric($id)) {
|
||||
$invoice = Document::find($id);
|
||||
} else {
|
||||
$invoice = Document::where('document_number', $id)->first();
|
||||
}
|
||||
|
||||
return $this->response->item($invoice, new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param $request
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$invoice = $this->dispatch(new CreateDocument($request));
|
||||
|
||||
return $this->response->created(route('api.invoices.show', $invoice->id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param $document
|
||||
* @param $request
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function update(Document $document, Request $request)
|
||||
{
|
||||
$document = $this->dispatch(new UpdateDocument($document, $request));
|
||||
|
||||
return $this->response->item($document->fresh(), new Transformer());
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param Document $document
|
||||
*
|
||||
* @return \Dingo\Api\Http\Response
|
||||
*/
|
||||
public function destroy(Document $document)
|
||||
{
|
||||
try {
|
||||
$this->dispatch(new DeleteDocument($document));
|
||||
|
||||
return $this->response->noContent();
|
||||
} catch(\Exception $e) {
|
||||
$this->response->errorUnauthorized($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
42
modules/BC21/Http/Requests/Purchase/Bill.php
Normal file
42
modules/BC21/Http/Requests/Purchase/Bill.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Purchase;
|
||||
|
||||
use App\Http\Requests\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class Bill extends Document
|
||||
{
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document::rules()
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['bill_number'] = $rules['document_number'];
|
||||
$rules['billed_at'] = $rules['issued_at'];
|
||||
|
||||
unset($rules['document_number'], $rules['issued_at']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document::withValidator()
|
||||
*/
|
||||
public function withValidator($validator)
|
||||
{
|
||||
parent::withValidator($validator);
|
||||
|
||||
if ($validator->errors()->count()) {
|
||||
$this->request->set('billed_at', $this->request->get('issued_at'));
|
||||
$this->request->remove('issued_at');
|
||||
}
|
||||
}
|
||||
}
|
||||
13
modules/BC21/Http/Requests/Purchase/BillAddItem.php
Normal file
13
modules/BC21/Http/Requests/Purchase/BillAddItem.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Purchase;
|
||||
|
||||
use App\Http\Requests\Document\DocumentAddItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentAddItem
|
||||
*/
|
||||
class BillAddItem extends DocumentAddItem
|
||||
{
|
||||
}
|
||||
23
modules/BC21/Http/Requests/Purchase/BillHistory.php
Normal file
23
modules/BC21/Http/Requests/Purchase/BillHistory.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Purchase;
|
||||
|
||||
use App\Http\Requests\Document\DocumentHistory;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentHistory
|
||||
*/
|
||||
class BillHistory extends DocumentHistory
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['bill_id'] = $rules['document_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
23
modules/BC21/Http/Requests/Purchase/BillItem.php
Normal file
23
modules/BC21/Http/Requests/Purchase/BillItem.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Purchase;
|
||||
|
||||
use App\Http\Requests\Document\DocumentItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItem
|
||||
*/
|
||||
class BillItem extends DocumentItem
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['bill_id'] = $rules['document_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
24
modules/BC21/Http/Requests/Purchase/BillItemTax.php
Normal file
24
modules/BC21/Http/Requests/Purchase/BillItemTax.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Purchase;
|
||||
|
||||
use App\Http\Requests\Document\DocumentItemTax;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItemTax
|
||||
*/
|
||||
class BillItemTax extends DocumentItemTax
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['bill_id'] = $rules['document_id'];
|
||||
$rules['bill_item_id'] = $rules['document_item_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['document_item_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
23
modules/BC21/Http/Requests/Purchase/BillTotal.php
Normal file
23
modules/BC21/Http/Requests/Purchase/BillTotal.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Purchase;
|
||||
|
||||
use App\Http\Requests\Document\DocumentTotal;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentTotal
|
||||
*/
|
||||
class BillTotal extends DocumentTotal
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['bill_id'] = $rules['document_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
42
modules/BC21/Http/Requests/Sale/Invoice.php
Normal file
42
modules/BC21/Http/Requests/Sale/Invoice.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Sale;
|
||||
|
||||
use App\Http\Requests\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class Invoice extends Document
|
||||
{
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document::rules()
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['invoice_number'] = $rules['document_number'];
|
||||
$rules['invoiced_at'] = $rules['issued_at'];
|
||||
|
||||
unset($rules['document_number'], $rules['issued_at']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document::withValidator()
|
||||
*/
|
||||
public function withValidator($validator)
|
||||
{
|
||||
parent::withValidator($validator);
|
||||
|
||||
if ($validator->errors()->count()) {
|
||||
$this->request->set('invoiced_at', $this->request->get('issued_at'));
|
||||
$this->request->remove('issued_at');
|
||||
}
|
||||
}
|
||||
}
|
||||
13
modules/BC21/Http/Requests/Sale/InvoiceAddItem.php
Normal file
13
modules/BC21/Http/Requests/Sale/InvoiceAddItem.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Sale;
|
||||
|
||||
use App\Http\Requests\Document\DocumentAddItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentAddItem
|
||||
*/
|
||||
class InvoiceAddItem extends DocumentAddItem
|
||||
{
|
||||
}
|
||||
23
modules/BC21/Http/Requests/Sale/InvoiceHistory.php
Normal file
23
modules/BC21/Http/Requests/Sale/InvoiceHistory.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Sale;
|
||||
|
||||
use App\Http\Requests\Document\DocumentHistory;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentHistory
|
||||
*/
|
||||
class InvoiceHistory extends DocumentHistory
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['invoice_id'] = $rules['document_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
23
modules/BC21/Http/Requests/Sale/InvoiceItem.php
Normal file
23
modules/BC21/Http/Requests/Sale/InvoiceItem.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Sale;
|
||||
|
||||
use App\Http\Requests\Document\DocumentItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItem
|
||||
*/
|
||||
class InvoiceItem extends DocumentItem
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['invoice_id'] = $rules['document_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
24
modules/BC21/Http/Requests/Sale/InvoiceItemTax.php
Normal file
24
modules/BC21/Http/Requests/Sale/InvoiceItemTax.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Sale;
|
||||
|
||||
use App\Http\Requests\Document\DocumentItemTax;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItemTax
|
||||
*/
|
||||
class InvoiceItemTax extends DocumentItemTax
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['invoice_id'] = $rules['document_id'];
|
||||
$rules['invoice_item_id'] = $rules['document_item_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['document_item_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
23
modules/BC21/Http/Requests/Sale/InvoiceTotal.php
Normal file
23
modules/BC21/Http/Requests/Sale/InvoiceTotal.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Sale;
|
||||
|
||||
use App\Http\Requests\Document\DocumentTotal;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentTotal
|
||||
*/
|
||||
class InvoiceTotal extends DocumentTotal
|
||||
{
|
||||
public function rules()
|
||||
{
|
||||
$rules = parent::rules();
|
||||
|
||||
$rules['invoice_id'] = $rules['document_id'];
|
||||
|
||||
unset($rules['document_id'], $rules['type']);
|
||||
|
||||
return $rules;
|
||||
}
|
||||
}
|
||||
18
modules/BC21/Imports/Purchases/Bills.php
Normal file
18
modules/BC21/Imports/Purchases/Bills.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Imports\Purchases;
|
||||
|
||||
use App\Imports\Document\Documents;
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents
|
||||
*/
|
||||
class Bills extends Documents
|
||||
{
|
||||
public function __construct(string $type = '')
|
||||
{
|
||||
parent::__construct(Document::BILL_TYPE);
|
||||
}
|
||||
}
|
||||
18
modules/BC21/Imports/Sales/Invoices.php
Normal file
18
modules/BC21/Imports/Sales/Invoices.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Imports\Sales;
|
||||
|
||||
use App\Imports\Document\Documents;
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents
|
||||
*/
|
||||
class Invoices extends Documents
|
||||
{
|
||||
public function __construct(string $type = '')
|
||||
{
|
||||
parent::__construct(Document::INVOICE_TYPE);
|
||||
}
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/CancelBill.php
Normal file
13
modules/BC21/Jobs/Purchase/CancelBill.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\CancelDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CancelDocument
|
||||
*/
|
||||
class CancelBill extends CancelDocument
|
||||
{
|
||||
}
|
||||
36
modules/BC21/Jobs/Purchase/CreateBill.php
Normal file
36
modules/BC21/Jobs/Purchase/CreateBill.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Abstracts\Http\FormRequest;
|
||||
use App\Jobs\Document\CreateDocument;
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocument
|
||||
*/
|
||||
class CreateBill extends CreateDocument
|
||||
{
|
||||
protected $bill;
|
||||
|
||||
protected $request;
|
||||
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param FormRequest $request
|
||||
*/
|
||||
public function __construct($request)
|
||||
{
|
||||
$request->merge(
|
||||
[
|
||||
'type' => Document::BILL_TYPE,
|
||||
'document_number' => $request->get('bill_number'),
|
||||
'issued_at' => $request->get('billed_at'),
|
||||
]
|
||||
);
|
||||
|
||||
parent::__construct($request);
|
||||
}
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/CreateBillHistory.php
Normal file
13
modules/BC21/Jobs/Purchase/CreateBillHistory.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\CreateDocumentHistory;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocumentHistory
|
||||
*/
|
||||
class CreateBillHistory extends CreateDocumentHistory
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/CreateBillItem.php
Normal file
13
modules/BC21/Jobs/Purchase/CreateBillItem.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\CreateDocumentItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocumentItem
|
||||
*/
|
||||
class CreateBillItem extends CreateDocumentItem
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/CreateBillItemsAndTotals.php
Normal file
13
modules/BC21/Jobs/Purchase/CreateBillItemsAndTotals.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\CreateDocumentItemsAndTotals;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocumentItemsAndTotals
|
||||
*/
|
||||
class CreateBillItemsAndTotals extends CreateDocumentItemsAndTotals
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/DeleteBill.php
Normal file
13
modules/BC21/Jobs/Purchase/DeleteBill.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\DeleteDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DeleteDocument
|
||||
*/
|
||||
class DeleteBill extends DeleteDocument
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/DuplicateBill.php
Normal file
13
modules/BC21/Jobs/Purchase/DuplicateBill.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\DuplicateDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DuplicateDocument
|
||||
*/
|
||||
class DuplicateBill extends DuplicateDocument
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Purchase/UpdateBill.php
Normal file
13
modules/BC21/Jobs/Purchase/UpdateBill.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Purchase;
|
||||
|
||||
use App\Jobs\Document\UpdateDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see UpdateDocument
|
||||
*/
|
||||
class UpdateBill extends UpdateDocument
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/CancelInvoice.php
Normal file
13
modules/BC21/Jobs/Sale/CancelInvoice.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\CancelDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CancelDocument
|
||||
*/
|
||||
class CancelInvoice extends CancelDocument
|
||||
{
|
||||
}
|
||||
32
modules/BC21/Jobs/Sale/CreateInvoice.php
Normal file
32
modules/BC21/Jobs/Sale/CreateInvoice.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Abstracts\Http\FormRequest;
|
||||
use App\Jobs\Document\CreateDocument;
|
||||
use App\Models\Document\Document;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocument
|
||||
*/
|
||||
class CreateInvoice extends CreateDocument
|
||||
{
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*
|
||||
* @param FormRequest $request
|
||||
*/
|
||||
public function __construct($request)
|
||||
{
|
||||
$request->merge(
|
||||
[
|
||||
'type' => Document::INVOICE_TYPE,
|
||||
'document_number' => $request->get('invoice_number'),
|
||||
'issued_at' => $request->get('invoiced_at'),
|
||||
]
|
||||
);
|
||||
|
||||
parent::__construct($request);
|
||||
}
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/CreateInvoiceHistory.php
Normal file
13
modules/BC21/Jobs/Sale/CreateInvoiceHistory.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\CreateDocumentHistory;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocumentHistory
|
||||
*/
|
||||
class CreateInvoiceHistory extends CreateDocumentHistory
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/CreateInvoiceItem.php
Normal file
13
modules/BC21/Jobs/Sale/CreateInvoiceItem.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\CreateDocumentItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocumentItem
|
||||
*/
|
||||
class CreateInvoiceItem extends CreateDocumentItem
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/CreateInvoiceItemsAndTotals.php
Normal file
13
modules/BC21/Jobs/Sale/CreateInvoiceItemsAndTotals.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\CreateDocumentItemsAndTotals;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see CreateDocumentItemsAndTotals
|
||||
*/
|
||||
class CreateInvoiceItemsAndTotals extends CreateDocumentItemsAndTotals
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/DeleteInvoice.php
Normal file
13
modules/BC21/Jobs/Sale/DeleteInvoice.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\DeleteDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DeleteDocument
|
||||
*/
|
||||
class DeleteInvoice extends DeleteDocument
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/DuplicateInvoice.php
Normal file
13
modules/BC21/Jobs/Sale/DuplicateInvoice.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\DuplicateDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DuplicateDocument
|
||||
*/
|
||||
class DuplicateInvoice extends DuplicateDocument
|
||||
{
|
||||
}
|
||||
13
modules/BC21/Jobs/Sale/UpdateInvoice.php
Normal file
13
modules/BC21/Jobs/Sale/UpdateInvoice.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Sale;
|
||||
|
||||
use App\Jobs\Document\UpdateDocument;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see UpdateDocument
|
||||
*/
|
||||
class UpdateInvoice extends UpdateDocument
|
||||
{
|
||||
}
|
||||
38
modules/BC21/Models/Purchase/Bill.php
Normal file
38
modules/BC21/Models/Purchase/Bill.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Purchase;
|
||||
|
||||
use App\Models\Document\Document;
|
||||
use App\Scopes\ReplaceDeprecatedColumns;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class Bill extends Document
|
||||
{
|
||||
protected static function booted()
|
||||
{
|
||||
static::addGlobalScope(new ReplaceDeprecatedColumns);
|
||||
}
|
||||
|
||||
public function getBillNumberAttribute($value)
|
||||
{
|
||||
return $this->document_number;
|
||||
}
|
||||
|
||||
public function setBillNumberAttribute($value)
|
||||
{
|
||||
$this->attributes['document_number'] = $value;
|
||||
}
|
||||
|
||||
public function getBilledAtAttribute($value)
|
||||
{
|
||||
return $this->issued_at;
|
||||
}
|
||||
|
||||
public function setBilledAtAttribute($value)
|
||||
{
|
||||
$this->attributes['issued_at'] = $value;
|
||||
}
|
||||
}
|
||||
22
modules/BC21/Models/Purchase/BillHistory.php
Normal file
22
modules/BC21/Models/Purchase/BillHistory.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentHistory;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentHistory
|
||||
*/
|
||||
class BillHistory extends DocumentHistory
|
||||
{
|
||||
public function getBillIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setBillIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
}
|
||||
22
modules/BC21/Models/Purchase/BillItem.php
Normal file
22
modules/BC21/Models/Purchase/BillItem.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItem
|
||||
*/
|
||||
class BillItem extends DocumentItem
|
||||
{
|
||||
public function getBillIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setBillIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
}
|
||||
32
modules/BC21/Models/Purchase/BillItemTax.php
Normal file
32
modules/BC21/Models/Purchase/BillItemTax.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentItemTax;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItemTax
|
||||
*/
|
||||
class BillItemTax extends DocumentItemTax
|
||||
{
|
||||
public function getBillIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setBillIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
|
||||
public function getBillItemIdAttribute($value)
|
||||
{
|
||||
return $this->document_item_id;
|
||||
}
|
||||
|
||||
public function setBillItemIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_item_id'] = $value;
|
||||
}
|
||||
}
|
||||
22
modules/BC21/Models/Purchase/BillTotal.php
Normal file
22
modules/BC21/Models/Purchase/BillTotal.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentTotal;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentTotal
|
||||
*/
|
||||
class BillTotal extends DocumentTotal
|
||||
{
|
||||
public function getBillIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setBillIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
}
|
||||
38
modules/BC21/Models/Sale/Invoice.php
Normal file
38
modules/BC21/Models/Sale/Invoice.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Sale;
|
||||
|
||||
use App\Models\Document\Document;
|
||||
use App\Scopes\ReplaceDeprecatedColumns;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Document
|
||||
*/
|
||||
class Invoice extends Document
|
||||
{
|
||||
protected static function booted()
|
||||
{
|
||||
static::addGlobalScope(new ReplaceDeprecatedColumns);
|
||||
}
|
||||
|
||||
public function setInvoiceNumberAttribute($value)
|
||||
{
|
||||
$this->attributes['document_number'] = $value;
|
||||
}
|
||||
|
||||
public function getInvoiceNumberAttribute($value)
|
||||
{
|
||||
return $this->document_number;
|
||||
}
|
||||
|
||||
public function setInvoicedAtAttribute($value)
|
||||
{
|
||||
$this->attributes['issued_at'] = $value;
|
||||
}
|
||||
|
||||
public function getInvoicedAtAttribute($value)
|
||||
{
|
||||
return $this->issued_at;
|
||||
}
|
||||
}
|
||||
22
modules/BC21/Models/Sale/InvoiceHistory.php
Normal file
22
modules/BC21/Models/Sale/InvoiceHistory.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Sale;
|
||||
|
||||
use App\Models\Document\DocumentHistory;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentHistory
|
||||
*/
|
||||
class InvoiceHistory extends DocumentHistory
|
||||
{
|
||||
public function getInvoiceIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setInvoiceIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
}
|
||||
22
modules/BC21/Models/Sale/InvoiceItem.php
Normal file
22
modules/BC21/Models/Sale/InvoiceItem.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Sale;
|
||||
|
||||
use App\Models\Document\DocumentItem;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItem
|
||||
*/
|
||||
class InvoiceItem extends DocumentItem
|
||||
{
|
||||
public function getInvoiceIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setInvoiceIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
}
|
||||
32
modules/BC21/Models/Sale/InvoiceItemTax.php
Normal file
32
modules/BC21/Models/Sale/InvoiceItemTax.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Sale;
|
||||
|
||||
use App\Models\Document\DocumentItemTax;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentItemTax
|
||||
*/
|
||||
class InvoiceItemTax extends DocumentItemTax
|
||||
{
|
||||
public function getInvoiceIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setInvoiceIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
|
||||
public function getInvoiceItemIdAttribute($value)
|
||||
{
|
||||
return $this->document_item_id;
|
||||
}
|
||||
|
||||
public function setInvoiceItemIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_item_id'] = $value;
|
||||
}
|
||||
}
|
||||
22
modules/BC21/Models/Sale/InvoiceTotal.php
Normal file
22
modules/BC21/Models/Sale/InvoiceTotal.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Sale;
|
||||
|
||||
use App\Models\Document\DocumentTotal;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see DocumentTotal
|
||||
*/
|
||||
class InvoiceTotal extends DocumentTotal
|
||||
{
|
||||
public function getInvoiceIdAttribute($value)
|
||||
{
|
||||
return $this->document_id;
|
||||
}
|
||||
|
||||
public function setInvoiceIdAttribute($value)
|
||||
{
|
||||
$this->attributes['document_id'] = $value;
|
||||
}
|
||||
}
|
||||
55
modules/BC21/Providers/Main.php
Normal file
55
modules/BC21/Providers/Main.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\BC21\Providers;
|
||||
|
||||
use Illuminate\Support\ServiceProvider as Provider;
|
||||
|
||||
class Main extends Provider
|
||||
{
|
||||
/**
|
||||
* Boot the application events.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the service provider.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->loadRoutes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load routes.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function loadRoutes()
|
||||
{
|
||||
if (app()->routesAreCached()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$routes = ['api.php'];
|
||||
|
||||
foreach ($routes as $route) {
|
||||
$this->loadRoutesFrom(__DIR__ . '/../Routes/' . $route);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the services provided by the provider.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function provides()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
72
modules/BC21/Routes/api.php
Normal file
72
modules/BC21/Routes/api.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/**
|
||||
* 'api' prefix applied to all routes
|
||||
*
|
||||
* @see \App\Providers\Route::mapApiRoutes
|
||||
*/
|
||||
|
||||
$api = app('Dingo\Api\Routing\Router');
|
||||
|
||||
$api->version('v2', ['middleware' => ['api']], function($api) {
|
||||
$api->group(['namespace' => 'App\Http\Controllers\Api'], function($api) {
|
||||
// Companies
|
||||
$api->get('companies/{company}/owner', 'Common\Companies@owner')->name('companies.owner');
|
||||
$api->get('companies/{company}/enable', 'Common\Companies@enable')->name('companies.enable');
|
||||
$api->get('companies/{company}/disable', 'Common\Companies@disable')->name('companies.disable');
|
||||
$api->resource('companies', 'Common\Companies');
|
||||
|
||||
// Items
|
||||
$api->get('items/{item}/enable', 'Common\Items@enable')->name('items.enable');
|
||||
$api->get('items/{item}/disable', 'Common\Items@disable')->name('items.disable');
|
||||
$api->resource('items', 'Common\Items');
|
||||
|
||||
// Contacts
|
||||
$api->get('contacts/{contact}/enable', 'Common\Contacts@enable')->name('contacts.enable');
|
||||
$api->get('contacts/{contact}/disable', 'Common\Contacts@disable')->name('contacts.disable');
|
||||
$api->resource('contacts', 'Common\Contacts');
|
||||
|
||||
// Sales
|
||||
$api->resource('invoices', 'Sales\Invoices');
|
||||
$api->resource('invoices.transactions', 'Sales\InvoiceTransactions');
|
||||
|
||||
// Purchases
|
||||
$api->get('bills/{bill}/received', 'Purchases\Bills@received')->name('bills.received');
|
||||
$api->resource('bills', 'Purchases\Bills');
|
||||
|
||||
// Banking
|
||||
$api->get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable');
|
||||
$api->get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable');
|
||||
$api->resource('accounts', 'Banking\Accounts');
|
||||
$api->resource('reconciliations', 'Banking\Reconciliations');
|
||||
$api->resource('transactions', 'Banking\Transactions');
|
||||
$api->resource('transfers', 'Banking\Transfers');
|
||||
|
||||
// Reports
|
||||
$api->resource('reports', 'Common\Reports');
|
||||
|
||||
// Settings
|
||||
$api->get('categories/{category}/enable', 'Settings\Categories@enable')->name('categories.enable');
|
||||
$api->get('categories/{category}/disable', 'Settings\Categories@disable')->name('categories.disable');
|
||||
$api->resource('categories', 'Settings\Categories');
|
||||
$api->get('currencies/{currency}/enable', 'Settings\Currencies@enable')->name('currencies.enable');
|
||||
$api->get('currencies/{currency}/disable', 'Settings\Currencies@disable')->name('currencies.disable');
|
||||
$api->resource('currencies', 'Settings\Currencies');
|
||||
$api->resource('settings', 'Settings\Settings');
|
||||
$api->get('taxes/{tax}/enable', 'Settings\Taxes@enable')->name('taxes.enable');
|
||||
$api->get('taxes/{tax}/disable', 'Settings\Taxes@disable')->name('taxes.disable');
|
||||
$api->resource('taxes', 'Settings\Taxes');
|
||||
|
||||
// Common
|
||||
$api->resource('ping', 'Common\Ping');
|
||||
|
||||
// Auth
|
||||
$api->resource('permissions', 'Auth\Permissions');
|
||||
$api->resource('roles', 'Auth\Roles');
|
||||
$api->get('users/{user}/enable', 'Auth\Users@enable')->name('users.enable');
|
||||
$api->get('users/{user}/disable', 'Auth\Users@disable')->name('users.disable');
|
||||
$api->resource('users', 'Auth\Users');
|
||||
});
|
||||
});
|
||||
79
modules/BC21/Scopes/ReplaceDeprecatedColumns.php
Normal file
79
modules/BC21/Scopes/ReplaceDeprecatedColumns.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
namespace App\Scopes;
|
||||
|
||||
|
||||
use App\Models\Purchase\Bill;
|
||||
use App\Models\Sale\Invoice;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Scope;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
class ReplaceDeprecatedColumns implements Scope
|
||||
{
|
||||
/**
|
||||
* Apply the scope to a given Eloquent query builder.
|
||||
*
|
||||
* @param Builder $builder
|
||||
* @param Model $model
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function apply(Builder $builder, Model $model)
|
||||
{
|
||||
switch (get_class($model)) {
|
||||
case Invoice::class:
|
||||
$replacements = [
|
||||
'invoiced_at' => 'issued_at',
|
||||
'invoice_number' => 'document_number',
|
||||
];
|
||||
break;
|
||||
case Bill::class:
|
||||
$replacements = [
|
||||
'billed_at' => 'issued_at',
|
||||
'bill_number' => 'document_number',
|
||||
];
|
||||
break;
|
||||
}
|
||||
|
||||
if (false === isset($replacements)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$query = $builder->getQuery();
|
||||
|
||||
foreach ($replacements as $column => $replace) {
|
||||
if ($query->orders !== null) {
|
||||
$query->orders = $this->replaceColumn($query->orders, $column, $replace);
|
||||
}
|
||||
|
||||
if ($query->wheres !== null) {
|
||||
$query->wheres = $this->replaceColumn($query->wheres, $column, $replace);
|
||||
}
|
||||
|
||||
if ($query->havings !== null) {
|
||||
$query->havings = $this->replaceColumn($query->havings, $column, $replace);
|
||||
}
|
||||
|
||||
if ($query->unionOrders !== null) {
|
||||
$query->unionOrders = $this->replaceColumn($query->unionOrders, $column, $replace);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function replaceColumn(array $columns, string $column, string $replace): array
|
||||
{
|
||||
return Collection::make($columns)
|
||||
->transform(
|
||||
function ($item) use ($column, $replace) {
|
||||
if (isset($item['column']) && $item['column'] === $column) {
|
||||
$item['column'] = $replace;
|
||||
}
|
||||
|
||||
return $item;
|
||||
}
|
||||
)->values()->all();
|
||||
}
|
||||
}
|
||||
65
modules/BC21/Traits/Purchases.php
Normal file
65
modules/BC21/Traits/Purchases.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Traits;
|
||||
|
||||
use App\Models\Document\Document;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents
|
||||
*/
|
||||
trait Purchases
|
||||
{
|
||||
use Documents;
|
||||
/**
|
||||
* Generate next bill number
|
||||
*
|
||||
* @deprecated
|
||||
* @see Documents::getNextDocumentNumber()
|
||||
*/
|
||||
public function getNextBillNumber(): string
|
||||
{
|
||||
return $this->getNextDocumentNumber(Document::BILL_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase the next bill number
|
||||
*
|
||||
* @deprecated`1
|
||||
* @see Documents::increaseNextDocumentNumber()
|
||||
*/
|
||||
public function increaseNextBillNumber(): void
|
||||
{
|
||||
$this->increaseNextDocumentNumber(Document::BILL_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a collection bill statuses
|
||||
*
|
||||
* @deprecated
|
||||
* @see Documents::getBillStatuses()
|
||||
*/
|
||||
public function getBillStatuses(): Collection
|
||||
{
|
||||
return $this->getDocumentStatuses(Document::BILL_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents::getDocumentFileName()
|
||||
*/
|
||||
public function getBillFileName(Document $bill, string $separator = '-', string $extension = 'pdf'): string
|
||||
{
|
||||
return $this->getDocumentFileName($bill, $separator, $extension);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents::getSafeDocumentNumber()
|
||||
*/
|
||||
public function getSafeBillNumber(Document $bill, string $separator = '-'): string
|
||||
{
|
||||
return $this->getSafeDocumentNumber($bill, $separator);
|
||||
}
|
||||
}
|
||||
65
modules/BC21/Traits/Sales.php
Normal file
65
modules/BC21/Traits/Sales.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Traits;
|
||||
|
||||
use App\Models\Document\Document;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents
|
||||
*/
|
||||
trait Sales
|
||||
{
|
||||
use Documents;
|
||||
/**
|
||||
* Generate next invoice number
|
||||
*
|
||||
* @deprecated
|
||||
* @see Documents::getNextDocumentNumber()
|
||||
*/
|
||||
public function getNextInvoiceNumber(): string
|
||||
{
|
||||
return $this->getNextDocumentNumber(Document::INVOICE_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase the next invoice number
|
||||
*
|
||||
* @deprecated
|
||||
* @see Documents::increaseNextDocumentNumber()
|
||||
*/
|
||||
public function increaseNextInvoiceNumber(): void
|
||||
{
|
||||
$this->increaseNextDocumentNumber(Document::INVOICE_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a collection invoice statuses
|
||||
*
|
||||
* @deprecated
|
||||
* @see Documents::getInvoiceStatuses()
|
||||
*/
|
||||
public function getInvoiceStatuses(): Collection
|
||||
{
|
||||
return $this->getDocumentStatuses(Document::INVOICE_TYPE);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents::getDocumentFileName()
|
||||
*/
|
||||
public function getInvoiceFileName(Document $invoice, string $separator = '-', string $extension = 'pdf'): string
|
||||
{
|
||||
return $this->getDocumentFileName($invoice, $separator, $extension);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see Documents::getSafeDocumentNumber()
|
||||
*/
|
||||
public function getSafeInvoiceNumber(Document $invoice, string $separator = '-'): string
|
||||
{
|
||||
return $this->getSafeDocumentNumber($invoice, $separator);
|
||||
}
|
||||
}
|
||||
92
modules/BC21/Transformers/Purchase/Bill.php
Normal file
92
modules/BC21/Transformers/Purchase/Bill.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Purchase;
|
||||
|
||||
use App\Transformers\Banking\Transaction;
|
||||
use App\Transformers\Common\Contact;
|
||||
use App\Transformers\Setting\Currency;
|
||||
use App\Models\Document\Document as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class Bill extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $defaultIncludes = ['contact', 'currency', 'histories', 'items', 'transactions'];
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'bill_number' => $model->document_number,
|
||||
'order_number' => $model->order_number,
|
||||
'status' => $model->status,
|
||||
'billed_at' => $model->issued_at ? $model->issued_at->toIso8601String() : '',
|
||||
'due_at' => $model->due_at ? $model->due_at->toIso8601String() : '',
|
||||
'amount' => $model->amount,
|
||||
'currency_code' => $model->currency_code,
|
||||
'currency_rate' => $model->currency_rate,
|
||||
'contact_id' => $model->contact_id,
|
||||
'contact_name' => $model->contact_name,
|
||||
'contact_email' => $model->contact_email,
|
||||
'contact_tax_number' => $model->contact_tax_number,
|
||||
'contact_phone' => $model->contact_phone,
|
||||
'contact_address' => $model->contact_address,
|
||||
'notes' => $model->notes,
|
||||
'attachment' => $model->attachment,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Item
|
||||
*/
|
||||
public function includeContact(Model $model)
|
||||
{
|
||||
return $this->item($model->contact, new Contact());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Item
|
||||
*/
|
||||
public function includeCurrency(Model $model)
|
||||
{
|
||||
return $this->item($model->currency, new Currency());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Collection
|
||||
*/
|
||||
public function includeHistories(Model $model)
|
||||
{
|
||||
return $this->collection($model->histories, new BillHistories());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Collection
|
||||
*/
|
||||
public function includeItems(Model $model)
|
||||
{
|
||||
return $this->collection($model->items, new BillItems());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Collection
|
||||
*/
|
||||
public function includeTransactions(Model $model)
|
||||
{
|
||||
return $this->collection($model->transactions, new Transaction());
|
||||
}
|
||||
}
|
||||
27
modules/BC21/Transformers/Purchase/BillHistories.php
Normal file
27
modules/BC21/Transformers/Purchase/BillHistories.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentHistory as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class BillHistories extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'bill_id' => $model->bill_id,
|
||||
'status' => $model->status,
|
||||
'notify' => $model->notify,
|
||||
'description' => $model->description,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
}
|
||||
30
modules/BC21/Transformers/Purchase/BillItems.php
Normal file
30
modules/BC21/Transformers/Purchase/BillItems.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentItem as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class BillItems extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'bill_id' => $model->bill_id,
|
||||
'item_id' => $model->item_id,
|
||||
'name' => $model->name,
|
||||
'price' => $model->price,
|
||||
'total' => $model->total,
|
||||
'tax' => $model->tax,
|
||||
'tax_id' => $model->tax_id,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
}
|
||||
29
modules/BC21/Transformers/Purchase/BillTotals.php
Normal file
29
modules/BC21/Transformers/Purchase/BillTotals.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Purchase;
|
||||
|
||||
use App\Models\Document\DocumentTotal as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class BillTotals extends TransformerAbstract
|
||||
{
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'bill_id' => $model->bill_id,
|
||||
'code' => $model->code,
|
||||
'name' => $model->name,
|
||||
'amount' => $model->amount,
|
||||
'sort_order' => $model->sort_order,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
}
|
||||
92
modules/BC21/Transformers/Sale/Invoice.php
Normal file
92
modules/BC21/Transformers/Sale/Invoice.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Sale;
|
||||
|
||||
use App\Transformers\Banking\Transaction;
|
||||
use App\Transformers\Common\Contact;
|
||||
use App\Transformers\Setting\Currency;
|
||||
use App\Models\Document\Document as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class Invoice extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $defaultIncludes = ['contact', 'currency', 'histories', 'items', 'transactions'];
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'invoice_number' => $model->document_number,
|
||||
'order_number' => $model->order_number,
|
||||
'status' => $model->status,
|
||||
'invoiced_at' => $model->issued_at ? $model->issued_at->toIso8601String() : '',
|
||||
'due_at' => $model->due_at ? $model->due_at->toIso8601String() : '',
|
||||
'amount' => $model->amount,
|
||||
'currency_code' => $model->currency_code,
|
||||
'currency_rate' => $model->currency_rate,
|
||||
'contact_id' => $model->contact_id,
|
||||
'contact_name' => $model->contact_name,
|
||||
'contact_email' => $model->contact_email,
|
||||
'contact_tax_number' => $model->contact_tax_number,
|
||||
'contact_phone' => $model->contact_phone,
|
||||
'contact_address' => $model->contact_address,
|
||||
'notes' => $model->notes,
|
||||
'attachment' => $model->attachment,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Item
|
||||
*/
|
||||
public function includeContact(Model $model)
|
||||
{
|
||||
return $this->item($model->contact, new Contact());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Item
|
||||
*/
|
||||
public function includeCurrency(Model $model)
|
||||
{
|
||||
return $this->item($model->currency, new Currency());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Collection
|
||||
*/
|
||||
public function includeHistories(Model $model)
|
||||
{
|
||||
return $this->collection($model->histories, new InvoiceHistories());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Collection
|
||||
*/
|
||||
public function includeItems(Model $model)
|
||||
{
|
||||
return $this->collection($model->items, new InvoiceItems());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return \League\Fractal\Resource\Collection
|
||||
*/
|
||||
public function includeTransactions(Model $model)
|
||||
{
|
||||
return $this->collection($model->transactions, new Transaction());
|
||||
}
|
||||
}
|
||||
27
modules/BC21/Transformers/Sale/InvoiceHistories.php
Normal file
27
modules/BC21/Transformers/Sale/InvoiceHistories.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Sale;
|
||||
|
||||
use App\Models\Document\DocumentHistory as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class InvoiceHistories extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'invoice_id' => $model->invoice_id,
|
||||
'status' => $model->status,
|
||||
'notify' => $model->notify,
|
||||
'description' => $model->description,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
}
|
||||
30
modules/BC21/Transformers/Sale/InvoiceItems.php
Normal file
30
modules/BC21/Transformers/Sale/InvoiceItems.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Sale;
|
||||
|
||||
use App\Models\Document\DocumentItem as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class InvoiceItems extends TransformerAbstract
|
||||
{
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'invoice_id' => $model->invoice_id,
|
||||
'item_id' => $model->item_id,
|
||||
'name' => $model->name,
|
||||
'price' => $model->price,
|
||||
'total' => $model->total,
|
||||
'tax' => $model->tax,
|
||||
'tax_id' => $model->tax_id,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
}
|
||||
29
modules/BC21/Transformers/Sale/InvoiceTotals.php
Normal file
29
modules/BC21/Transformers/Sale/InvoiceTotals.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Transformers\Sale;
|
||||
|
||||
use App\Models\Document\DocumentTotal as Model;
|
||||
use League\Fractal\TransformerAbstract;
|
||||
|
||||
class InvoiceTotals extends TransformerAbstract
|
||||
{
|
||||
|
||||
/**
|
||||
* @param Model $model
|
||||
* @return array
|
||||
*/
|
||||
public function transform(Model $model)
|
||||
{
|
||||
return [
|
||||
'id' => $model->id,
|
||||
'company_id' => $model->company_id,
|
||||
'invoice_id' => $model->invoice_id,
|
||||
'code' => $model->code,
|
||||
'name' => $model->name,
|
||||
'amount' => $model->amount,
|
||||
'sort_order' => $model->sort_order,
|
||||
'created_at' => $model->created_at ? $model->created_at->toIso8601String() : '',
|
||||
'updated_at' => $model->updated_at ? $model->updated_at->toIso8601String() : '',
|
||||
];
|
||||
}
|
||||
}
|
||||
15
modules/BC21/module.json
Normal file
15
modules/BC21/module.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"alias": "bc21",
|
||||
"icon": "fa fa-cog",
|
||||
"version": "1.0.0",
|
||||
"active": 1,
|
||||
"providers": [
|
||||
"Modules\\BC21\\Providers\\Main"
|
||||
],
|
||||
"aliases": {},
|
||||
"files": [],
|
||||
"requires": [],
|
||||
"reports": [],
|
||||
"widgets": [],
|
||||
"settings": []
|
||||
}
|
||||
Reference in New Issue
Block a user