Work on products, first completed broadband

This commit is contained in:
Deon George
2021-12-24 12:14:01 +11:00
parent 8f5293662e
commit 1e9f15b40f
62 changed files with 2139 additions and 894 deletions

View File

@@ -170,7 +170,7 @@ class AdminController extends Controller
*/
public function supplier()
{
return view('a.supplier');
return view('a.supplier.find');
}
/**
@@ -223,7 +223,7 @@ class AdminController extends Controller
if (! $o->exists && $request->name)
$o = Supplier::where('name',$request->name)->with(['details'])->firstOrNew();
return view('a.supplierdetails')
return view('a.supplier.details')
->with('o',$o);
}

View File

@@ -14,16 +14,19 @@ use App\Models\{Account,Product,Service,User};
class OrderController extends Controller
{
// @todo To check
public function __construct()
{
$this->middleware('auth');
}
// @todo To check
public function index()
{
return view('order.home');
}
// @todo To check
public function product_order(Product $o)
{
Theme::set('metronic-fe');
@@ -31,6 +34,7 @@ class OrderController extends Controller
return view('order.widget.order',['o'=>$o]);
}
// @todo To check
public function product_info(Product $o)
{
Theme::set('metronic-fe');
@@ -38,9 +42,10 @@ class OrderController extends Controller
return view('order.widget.info',['o'=>$o]);
}
// @todo To check
public function submit(Request $request)
{
Validator::make($request->all(),['product_id'=>'required|exists:ab_product,id'])
Validator::make($request->all(),['product_id'=>'required|exists:products,id'])
// Reseller
->sometimes('account_id','required|email',function($input) use ($request) {
return is_null($input->account_id) AND is_null($input->order_email_manual);
@@ -59,7 +64,7 @@ class OrderController extends Controller
$po = Product::findOrFail($request->input('product_id'));
// Check we have the custom attributes for the product
$options = $po->orderValidation($request);
$order = $po->orderValidation($request);
if ($request->input('order_email_manual')) {
$uo = User::firstOrNew(['email'=>$request->input('order_email_manual')]);
@@ -101,24 +106,24 @@ class OrderController extends Controller
$so->product_id = $request->input('product_id');
$so->order_status = 'ORDER-SUBMIT';
$so->orderby_id = Auth::id();
$so->model = get_class($options);
$so->model = get_class($order);
if ($options->order_info) {
$so->order_info = $options->order_info;
if ($order->order_info) {
$so->order_info = $order->order_info;
unset($options->order_info);
unset($order->order_info);
}
$so = $ao->services()->save($so);
if ($options instanceOf Model) {
$options->service_id = $so->id;
$options->save();
if ($order instanceOf Model) {
$order->service_id = $so->id;
$order->save();
}
Mail::to('help@graytech.net.au')
->queue((new OrderRequest($so,$request->input('options.notes','')))->onQueue('email')); //@todo Get email from DB.
->queue((new OrderRequest($so,$request->input('options.notes') ?: ''))->onQueue('email')); //@todo Get email from DB.
return view('order_received',['o'=>$so]);
}
}
}

View File

@@ -66,7 +66,7 @@ class SearchController extends Controller
}
# Look for an ADSL/NBN Service
foreach (Adsl::Search($request->input('term'))
foreach (Service\Broadband::Search($request->input('term'))
->whereIN('account_id',$accounts)
->orderBy('service_number')
->limit(10)->get() as $o)