Optimising Supplier Layout and source code placement
This commit is contained in:
83
app/Http/Controllers/SupplierController.php
Normal file
83
app/Http/Controllers/SupplierController.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\SupplierAddEdit;
|
||||
use App\Models\{Cost,Supplier,SupplierDetail};
|
||||
|
||||
class SupplierController extends Controller
|
||||
{
|
||||
/**
|
||||
* Update a suppliers details
|
||||
*
|
||||
* @param SupplierAddEdit $request
|
||||
* @param Supplier $o
|
||||
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function addedit(SupplierAddEdit $request,Supplier $o)
|
||||
{
|
||||
$this->middleware(['auth','wholesaler']);
|
||||
|
||||
foreach ($request->except(['_token','supplier_details','submit']) as $key => $item)
|
||||
$o->{$key} = $item;
|
||||
|
||||
$o->active = (bool)$request->active;
|
||||
|
||||
try {
|
||||
$o->save();
|
||||
|
||||
} catch (\Exception $e) {
|
||||
return redirect()->back()->withErrors($e->getMessage())->withInput();
|
||||
}
|
||||
|
||||
$o->load(['detail']);
|
||||
$oo = $o->detail ?: new SupplierDetail;
|
||||
|
||||
foreach ($request->get('supplier_details',[]) as $key => $item)
|
||||
$oo->{$key} = $item;
|
||||
|
||||
$o->detail()->save($oo);
|
||||
|
||||
return redirect()->back()
|
||||
->with('success','Supplier saved');
|
||||
}
|
||||
|
||||
/**
|
||||
* Site up site wide suppliers, or a site's supplier details
|
||||
*
|
||||
* @note This method is protected by the routes
|
||||
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function admin_home()
|
||||
{
|
||||
$this->middleware(['auth','wholesaler']);
|
||||
|
||||
return view('supplier.home');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the suppliers invoice
|
||||
*
|
||||
* @param Cost $o
|
||||
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function cost(Cost $o)
|
||||
{
|
||||
// @todo Need to add the services that are active that are not on the bill for the supplier.
|
||||
return view('supplier.cost',['o'=>$o]);
|
||||
}
|
||||
|
||||
/**
|
||||
* View a supplier.
|
||||
*
|
||||
* @param Supplier|null $o
|
||||
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function view(?Supplier $o)
|
||||
{
|
||||
$this->middleware(['auth','wholesaler']);
|
||||
|
||||
return view('supplier.details')
|
||||
->with('o',$o);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user