60 lines
1.3 KiB
PHP
60 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Session;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
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',Rule::unique('supplier_user')->where(fn ($query) => $query->where('supplier_id',$request->supplier_id)->where('user_id','<>',$o->id))],
|
|
'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');
|
|
}
|
|
} |