Changed account search to user search, show connection charges on invoice for pending services
This commit is contained in:
@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
use App\User;
|
||||
use App\Models\{Account,Invoice,Service,Service\Adsl};
|
||||
|
||||
class SearchController extends Controller
|
||||
@@ -23,17 +24,17 @@ class SearchController extends Controller
|
||||
return [];
|
||||
|
||||
$result = collect();
|
||||
$accounts = Auth::user()->all_accounts()->pluck('id');
|
||||
$accounts = ($x=Auth::user()->all_accounts())->pluck('id');
|
||||
$users = $x->transform(function($item) { return $item->user;});
|
||||
|
||||
# Look for Account
|
||||
foreach (Account::Search($request->input('term'))
|
||||
->whereIN('id',$accounts)
|
||||
->orderBy('company')
|
||||
->orderBy('last_name')
|
||||
->orderBy('first_name')
|
||||
foreach (User::Search($request->input('term'))
|
||||
->whereIN('id',$users->pluck('id'))
|
||||
->orderBy('lastname')
|
||||
->orderBy('firstname')
|
||||
->limit(10)->get() as $o)
|
||||
{
|
||||
$result->push(['label'=>sprintf('AC:%s %s',$o->aid,$o->name),'value'=>'/u/account/'.$o->id]);
|
||||
$result->push(['label'=>sprintf('US:%s %s',$o->aid,$o->name),'value'=>'/u/home/'.$o->id]);
|
||||
}
|
||||
|
||||
# Look for a Service
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\View\View;
|
||||
use Barryvdh\Snappy\Facades\SnappyPdf as PDF;
|
||||
@@ -19,22 +20,23 @@ class UserHomeController extends Controller
|
||||
/**
|
||||
* Logged in users home page
|
||||
*
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
* @return Factory|View
|
||||
*/
|
||||
public function home(): View
|
||||
public function home(User $o=NULL): View
|
||||
{
|
||||
if (is_null($o))
|
||||
$o = Auth::user();
|
||||
|
||||
switch (Auth::user()->role()) {
|
||||
case 'customer':
|
||||
return View('u.home',['o'=>Auth::user()]);
|
||||
return View('u.home',['o'=>$o]);
|
||||
|
||||
case 'reseller':
|
||||
return View('r.home',['o'=>Auth::user()]);
|
||||
|
||||
case 'wholesaler':
|
||||
return View('r.home',['o'=>Auth::user()]);
|
||||
return View('r.home',['o'=>$o]);
|
||||
|
||||
default:
|
||||
abort(500,'Unknown role: '.Auth::user()->role());
|
||||
abort(500,'Unknown role: '.$o->role());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,20 +85,5 @@ class UserHomeController extends Controller
|
||||
public function service(Service $o): View
|
||||
{
|
||||
return View('u.service',['o'=>$o]);
|
||||
foreach ([
|
||||
sprintf('u.service.%s.%s',$o->type->type,$o->status),
|
||||
sprintf('u.service.%s',$o->status),
|
||||
] as $v)
|
||||
if (view()->exists($v))
|
||||
return View($v,['o'=>$o]);
|
||||
|
||||
// View doesnt exist, fall back to default view
|
||||
return View('u.service',['o'=>$o]);
|
||||
}
|
||||
|
||||
public function User(User $o)
|
||||
{
|
||||
// @todo Check authorised to see this account.
|
||||
return View('u.home',['o'=>$o]);
|
||||
}
|
||||
}
|
@@ -2,22 +2,23 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Auth;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use App\User;
|
||||
|
||||
class UserServicesController extends Controller
|
||||
{
|
||||
public function invoices()
|
||||
public function invoices(User $o)
|
||||
{
|
||||
return ['data'=>Auth::user()->invoices_due->values()];
|
||||
return ['data'=>$o->invoices_due->values()];
|
||||
}
|
||||
|
||||
public function payments()
|
||||
public function payments(User $o)
|
||||
{
|
||||
return ['data'=>Auth::user()->payment_history->values()];
|
||||
return ['data'=>$o->payment_history->values()];
|
||||
}
|
||||
|
||||
public function services()
|
||||
public function services(User $o)
|
||||
{
|
||||
return ['data'=>Auth::user()->services_active->values()];
|
||||
return ['data'=>$o->services_active->values()];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user