2017-09-14 22:21:00 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\ViewComposers;
|
|
|
|
|
|
|
|
use Auth;
|
|
|
|
use App\Utilities\Updater;
|
|
|
|
use Illuminate\View\View;
|
2018-05-25 16:57:58 +03:00
|
|
|
use App\Traits\Modules;
|
2017-09-14 22:21:00 +03:00
|
|
|
|
|
|
|
class Header
|
|
|
|
{
|
2018-05-25 16:57:58 +03:00
|
|
|
use Modules;
|
|
|
|
|
2017-09-14 22:21:00 +03:00
|
|
|
/**
|
|
|
|
* Bind data to the view.
|
|
|
|
*
|
|
|
|
* @param View $view
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function compose(View $view)
|
|
|
|
{
|
|
|
|
$user = Auth::user();
|
|
|
|
|
|
|
|
$bills = [];
|
|
|
|
$invoices = [];
|
2017-11-21 23:37:15 +03:00
|
|
|
$items = [];
|
2017-09-14 22:21:00 +03:00
|
|
|
$notifications = 0;
|
|
|
|
$company = null;
|
|
|
|
|
|
|
|
// Get customer company
|
|
|
|
if ($user->customer()) {
|
|
|
|
$company = (object)[
|
|
|
|
'company_name' => setting('general.company_name'),
|
|
|
|
'company_email' => setting('general.company_email'),
|
|
|
|
'company_address' => setting('general.company_address'),
|
|
|
|
'company_logo' => setting('general.company_logo'),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
$undereads = $user->unreadNotifications;
|
|
|
|
|
|
|
|
foreach ($undereads as $underead) {
|
|
|
|
$data = $underead->getAttribute('data');
|
|
|
|
|
|
|
|
switch ($underead->getAttribute('type')) {
|
|
|
|
case 'App\Notifications\Expense\Bill':
|
|
|
|
$bills[$data['bill_id']] = $data['amount'];
|
|
|
|
$notifications++;
|
|
|
|
break;
|
|
|
|
case 'App\Notifications\Income\Invoice':
|
|
|
|
$invoices[$data['invoice_id']] = $data['amount'];
|
|
|
|
$notifications++;
|
|
|
|
break;
|
2017-11-21 23:37:15 +03:00
|
|
|
case 'App\Notifications\Item\Item':
|
|
|
|
$items[$data['item_id']] = $data['name'];
|
|
|
|
$notifications++;
|
|
|
|
break;
|
2017-09-14 22:21:00 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$updates = count(Updater::all());
|
|
|
|
|
2018-06-01 13:00:15 +03:00
|
|
|
if (!env('APP_INSTALLED', false)) {
|
|
|
|
$this->loadSuggestions();
|
|
|
|
}
|
2018-05-25 16:57:58 +03:00
|
|
|
|
2017-09-14 22:21:00 +03:00
|
|
|
$view->with([
|
|
|
|
'user' => $user,
|
|
|
|
'notifications' => $notifications,
|
|
|
|
'bills' => $bills,
|
|
|
|
'invoices' => $invoices,
|
2017-11-21 23:37:15 +03:00
|
|
|
'items' => $items,
|
2017-09-14 22:21:00 +03:00
|
|
|
'company' => $company,
|
|
|
|
'updates' => $updates,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
}
|