Added approve action to order view
This commit is contained in:
parent
b19f01d7a4
commit
95bd89aa93
@ -19,7 +19,12 @@ class AdminHomeController extends Controller
|
||||
|
||||
public function service_update(Request $request, Service $o)
|
||||
{
|
||||
switch (strtolower($request->input('action')))
|
||||
if (! $o->validStatus(strtolower($request->input('action'))))
|
||||
return $this->service($o);
|
||||
|
||||
$action = strtolower($request->input('action'));
|
||||
|
||||
switch ($action)
|
||||
{
|
||||
case 'approve':
|
||||
// Send an email to the supplier.
|
||||
@ -31,20 +36,17 @@ class AdminHomeController extends Controller
|
||||
// @todo Your order has been submitted to supplier.
|
||||
|
||||
// Update the service to "ORDER-SENT"
|
||||
$o->nextStatus();
|
||||
$o->nextStatus($action);
|
||||
|
||||
break;
|
||||
|
||||
case 'reject':
|
||||
if (! $x=$o->validStatus(strtolower($request->input('action'))))
|
||||
return $this->service($o);
|
||||
|
||||
$o->order_info = array_merge($o->order_info ? $o->order_info : [],['reason'=>$request->input('notes')]);
|
||||
$o->order_status = $x;
|
||||
$o->save();
|
||||
|
||||
// Send mail to user
|
||||
Mail::to($o->orderby->email)->queue((new OrderRequestReject($o,$request->input('notes')))->onQueue('email'));
|
||||
|
||||
$o->nextStatus($action);
|
||||
break;
|
||||
|
||||
// No action specified.
|
||||
|
@ -56,7 +56,7 @@ class Service extends Model
|
||||
];
|
||||
|
||||
private $valid_status = [
|
||||
'ORDER-SUBMIT' => ['accept'=>'ORDER-SENT','reject'=>'ORDER-REJECTED'],
|
||||
'ORDER-SUBMIT' => ['approve'=>'ORDER-SENT','reject'=>'ORDER-REJECTED'],
|
||||
];
|
||||
|
||||
public function account()
|
||||
@ -167,9 +167,13 @@ class Service extends Model
|
||||
/**
|
||||
* This function will present the Order Info Details
|
||||
*/
|
||||
public function getOrderInfoDetailsAttribute()
|
||||
public function getOrderInfoDetailsAttribute(): string
|
||||
{
|
||||
if (! $this->order_info)
|
||||
return '';
|
||||
|
||||
$result = '';
|
||||
|
||||
foreach ($this->order_info as $k=>$v)
|
||||
$result .= sprintf('%s: <b>%s</b><br>',ucfirst($k),$v);
|
||||
|
||||
@ -222,17 +226,16 @@ class Service extends Model
|
||||
return $this->active OR ($this->order_status AND ! in_array($this->order_status,$this->inactive_status));
|
||||
}
|
||||
|
||||
public function nextStatus() {
|
||||
switch ($this->order_status)
|
||||
public function nextStatus(string $status) {
|
||||
if ($x=$this->validStatus($status))
|
||||
{
|
||||
case 'ORDER-REQUEST':
|
||||
$this->order_status = 'ORDER-SENT';
|
||||
$this->save();
|
||||
return $this;
|
||||
$this->order_status = $x;
|
||||
$this->save();
|
||||
|
||||
default:
|
||||
abort(500,'Next Status not set up for:'.$this->order_status);
|
||||
return $this;
|
||||
}
|
||||
|
||||
abort(500,'Next Status not set up for:'.$this->order_status);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -45,6 +45,7 @@
|
||||
@switch($o->order_status)
|
||||
@case('ORDER-SUBMIT')
|
||||
<button type="submit" class="btn btn-info btn-danger" name="action" value="reject">Reject</button>
|
||||
<button type="submit" class="btn btn-info btn-warning" name="action" value="approve">Approve</button>
|
||||
@break;
|
||||
@endswitch
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user