akaunting 3.0 (the last dance)
This commit is contained in:
52
app/View/Components/Widgets/Contact.php
Normal file
52
app/View/Components/Widgets/Contact.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Widgets;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class Contact extends Component
|
||||
{
|
||||
public $model;
|
||||
|
||||
public $contact;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
$model = false, $contact = false
|
||||
) {
|
||||
$this->model = ! empty($model) ? $model : user()->contact;
|
||||
$this->contact = ! empty($contact) ? $contact : $this->model;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the given full_name is the currently selected full_name.
|
||||
*
|
||||
* @param string $full_name
|
||||
* @return string
|
||||
*/
|
||||
public function shortName($full_name)
|
||||
{
|
||||
if (empty($full_name)) {
|
||||
return trans('general.na');
|
||||
}
|
||||
|
||||
$names = explode(' ', $full_name);
|
||||
|
||||
return strtoupper(substr($names[0], 0, 1) . substr(end($names), 0, 1));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.widgets.contact');
|
||||
}
|
||||
}
|
50
app/View/Components/Widgets/InvoiceHistory.php
Normal file
50
app/View/Components/Widgets/InvoiceHistory.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Widgets;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
|
||||
class InvoiceHistory extends Component
|
||||
{
|
||||
public $contact;
|
||||
|
||||
public $model;
|
||||
|
||||
public $invoices;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
$model = false, $invoices = false, $contact = false
|
||||
) {
|
||||
$this->contact = ! empty($contact) ? $contact : user()->contact;
|
||||
$this->model = $model;
|
||||
$this->invoices = $this->getPayment($model, $invoices);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.widgets.invoice_history');
|
||||
}
|
||||
|
||||
protected function getPayment($model, $invoices)
|
||||
{
|
||||
if (! empty($model)) {
|
||||
return $model;
|
||||
}
|
||||
|
||||
if (! empty($invoices)) {
|
||||
return $invoices;
|
||||
}
|
||||
|
||||
return $this->contact->invoices()->orderBy('created_at', 'desc')->limit(3)->get();
|
||||
}
|
||||
}
|
50
app/View/Components/Widgets/LastPayment.php
Normal file
50
app/View/Components/Widgets/LastPayment.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Widgets;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
|
||||
class LastPayment extends Component
|
||||
{
|
||||
public $contact;
|
||||
|
||||
public $model;
|
||||
|
||||
public $payment;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
$model = false, $payment = false, $contact = false
|
||||
) {
|
||||
$this->contact = ! empty($contact) ? $contact : user()->contact;
|
||||
$this->model = $model;
|
||||
$this->payment = $this->getPayment($model, $payment);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.widgets.last_payment');
|
||||
}
|
||||
|
||||
protected function getPayment($model, $payment)
|
||||
{
|
||||
if (! empty($model)) {
|
||||
return $model;
|
||||
}
|
||||
|
||||
if (! empty($payment)) {
|
||||
return $payment;
|
||||
}
|
||||
|
||||
return $this->contact->income_transactions()->orderBy('created_at', 'desc')->first();
|
||||
}
|
||||
}
|
50
app/View/Components/Widgets/LatestInvoices.php
Normal file
50
app/View/Components/Widgets/LatestInvoices.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Widgets;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
|
||||
class LatestInvoices extends Component
|
||||
{
|
||||
public $contact;
|
||||
|
||||
public $model;
|
||||
|
||||
public $invoices;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
$model = false, $invoices = false, $contact = false
|
||||
) {
|
||||
$this->contact = ! empty($contact) ? $contact : user()->contact;
|
||||
$this->model = $model;
|
||||
$this->invoices = $this->getInvoices($model, $invoices);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.widgets.latest_invoices');
|
||||
}
|
||||
|
||||
protected function getInvoices($model, $invoices)
|
||||
{
|
||||
if (! empty($model)) {
|
||||
return $model;
|
||||
}
|
||||
|
||||
if (! empty($invoices)) {
|
||||
return $invoices;
|
||||
}
|
||||
|
||||
return $this->contact->invoices()->orderBy('created_at', 'desc')->limit(3)->get();
|
||||
}
|
||||
}
|
32
app/View/Components/Widgets/OutstandingBalance.php
Normal file
32
app/View/Components/Widgets/OutstandingBalance.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Widgets;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class OutstandingBalance extends Component
|
||||
{
|
||||
public $contact;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
$contact = false
|
||||
) {
|
||||
$this->contact = ! empty($contact) ? $contact : user()->contact;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.widgets.outstanding_balance');
|
||||
}
|
||||
}
|
50
app/View/Components/Widgets/PaymentHistory.php
Normal file
50
app/View/Components/Widgets/PaymentHistory.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\View\Components\Widgets;
|
||||
|
||||
use App\Abstracts\View\Component;
|
||||
|
||||
class PaymentHistory extends Component
|
||||
{
|
||||
public $contact;
|
||||
|
||||
public $model;
|
||||
|
||||
public $payments;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
$model = false, $payments = false, $contact = false
|
||||
) {
|
||||
$this->contact = ! empty($contact) ? $contact : user()->contact;
|
||||
$this->model = $model;
|
||||
$this->payments = $this->getPayment($model, $payments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\View|string
|
||||
*/
|
||||
public function render()
|
||||
{
|
||||
return view('components.widgets.payment_history');
|
||||
}
|
||||
|
||||
protected function getPayment($model, $payment)
|
||||
{
|
||||
if (! empty($model)) {
|
||||
return $model;
|
||||
}
|
||||
|
||||
if (! empty($payment)) {
|
||||
return $payment;
|
||||
}
|
||||
|
||||
return $this->contact->income_transactions()->orderBy('created_at', 'desc')->limit(3)->get();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user