Add supplier linking
This commit is contained in:
@@ -7,7 +7,7 @@ use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
use App\Models\{Account,Invoice,Payment,Service,Service\Broadband,Service\Phone,User};
|
||||
use App\Models\{Account,Invoice,Payment,Service,Supplier,User};
|
||||
|
||||
class SearchController extends Controller
|
||||
{
|
||||
@@ -39,9 +39,20 @@ class SearchController extends Controller
|
||||
->orderBy('firstname')
|
||||
->limit(10)->get() as $o)
|
||||
{
|
||||
$result->push(['name'=>sprintf('%s (%s)',$o->name,$o->lid),'value'=>'/u/home/'.$o->id,'category'=>'Users']);
|
||||
$result->push(['name'=>sprintf('%s (%s) - %s',$o->name,$o->lid,$o->email),'value'=>'/u/home/'.$o->id,'category'=>'Users']);
|
||||
}
|
||||
|
||||
# Look for User by Supplier
|
||||
if (is_numeric($request->input('term')))
|
||||
foreach (Supplier::Search($request->input('term'))
|
||||
->whereIN('user_id',$user_ids)
|
||||
->orderBy('name')
|
||||
->limit(10)->get() as $o)
|
||||
{
|
||||
$oo = $o->users->filter(function($item) use ($request) { return str_contains($item->pivot->id,$request->input('term')); })->pop();
|
||||
$result->push(['name'=>sprintf('%s (%s:%s)',$oo->name,$o->name,$oo->pivot->id),'value'=>'/u/home/'.$oo->id,'category'=>'Suppliers']);
|
||||
}
|
||||
|
||||
# Look for Account
|
||||
foreach (Account::Search($request->input('term'))
|
||||
->whereIN('user_id',$user_ids)
|
||||
|
55
app/Http/Controllers/UserController.php
Normal file
55
app/Http/Controllers/UserController.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
use App\Models\{Supplier,User};
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
/**
|
||||
* Add a supplier to a user's profile
|
||||
*
|
||||
* @param Request $request
|
||||
* @param User $o
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function supplier_addedit(Request $request,User $o)
|
||||
{
|
||||
Session::put('supplier_update',true);
|
||||
|
||||
$validated = $request->validate([
|
||||
'id'=>'required|string',
|
||||
'supplier_id'=>'required|exists:suppliers,id',
|
||||
]);
|
||||
|
||||
$o->suppliers()->attach([
|
||||
$validated['supplier_id'] => [
|
||||
'id'=>$validated['id'],
|
||||
'site_id'=>$o->site_id,
|
||||
'created_at'=>Carbon::now(),
|
||||
]
|
||||
]);
|
||||
|
||||
return redirect()->back()->with('success','Supplier Added');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a supplier from a user's profile
|
||||
*
|
||||
* @param User $o
|
||||
* @param Supplier $so
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function supplier_delete(User $o,Supplier $so)
|
||||
{
|
||||
Session::put('supplier_update',true);
|
||||
|
||||
$o->suppliers()->detach([$so->id]);
|
||||
|
||||
return redirect()->back()->with('success','Supplier Deleted');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user