Changes to orders to stop existing services being submitted

This commit is contained in:
Deon George
2021-09-28 12:43:54 +10:00
parent 7277d7407a
commit 4cbe990ec1
12 changed files with 80 additions and 96 deletions

View File

@@ -21,21 +21,21 @@ class OrderController extends Controller
public function index()
{
return view('order');
return view('order.home');
}
public function product_order(Product $o)
{
Theme::set('metronic-fe');
return view('widgets.product_order',['o'=>$o]);
return view('order.widget.order',['o'=>$o]);
}
public function product_info(Product $o)
{
Theme::set('metronic-fe');
return view('widgets.product_description',['o'=>$o]);
return view('order.widget.info',['o'=>$o]);
}
public function submit(Request $request)

View File

@@ -14,25 +14,25 @@ class PlanVoip extends Model
'options.phonenumber'=>[
'request'=>'options.phonenumber',
'key'=>'service_number',
'validation'=>'required|size:10',
'validation'=>'nullable|size:10|unique:ab_service__voip,service_number',
'validation_message'=>'Phone Number is a required field.',
],
'options.supplier'=>[
'request'=>'options.supplier',
'key'=>'order_info.supplier',
'validation'=>'required|min:4',
'validation'=>'required_with:options.phonenumber',
'validation_message'=>'Phone Supplier is a required field.',
],
'options.supplieraccnum'=>[
'request'=>'options.supplieraccnum',
'key'=>'order_info.supplieraccnum',
'validation'=>'required|min:4',
'validation'=>'required_with:options.phonenumber',
'validation_message'=>'Phone Supplier Account Number is a required field.',
],
'options.notes'=>[
'request'=>'options.notes',
'key'=>'order_info.notes',
'validation'=>'present',
'validation'=>'required_if:options.phonenumber,null',
'validation_message'=>'Special Instructions here.',
],
];

View File

@@ -5,6 +5,7 @@
*/
namespace App\Traits;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
trait OrderServiceOptions
@@ -22,23 +23,18 @@ trait OrderServiceOptions
protected $order_model = NULL;
*/
public function orderValidation(Request $request)
public function orderValidation(Request $request): ?Model
{
if (! isset($this->order_attributes))
if ((! isset($this->order_attributes)) || (! isset($this->order_model)))
return NULL;
$request->validate(collect($this->order_attributes)->pluck('validation','request')->toArray());
if (! isset($this->order_model))
return NULL;
$validate = $request->validate(collect($this->order_attributes)->pluck('validation','request')->toArray());
$o = new $this->order_model;
$x = [];
foreach ($this->order_attributes as $k => $v)
{
$x[$v['key']] = $request->input($k);
}
$o->forceFill(array_undot($x));