You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.8 KiB
73 lines
2.8 KiB
2 years ago
|
<?php
|
||
|
|
||
|
namespace App\Http\Controllers\Vendor;
|
||
|
|
||
|
use Exception;
|
||
|
use App\Models\Subscription;
|
||
|
use Illuminate\Http\Request;
|
||
|
use Illuminate\Support\Facades\DB;
|
||
|
use App\Http\Controllers\Controller;
|
||
|
use Brian2694\Toastr\Facades\Toastr;
|
||
|
use App\CentralLogics\Helpers;
|
||
|
class OrderSubscriptionController extends Controller
|
||
|
{
|
||
|
public function index(Request $request)
|
||
|
{
|
||
|
$key = explode(' ', $request['search']);
|
||
|
|
||
|
$subscriptions = Subscription::with(['customer', 'order.details'])->where('restaurant_id',Helpers::get_restaurant_id())
|
||
|
->when(isset($request['search']), function ($query) use($key){
|
||
|
$query->whereHas('order',function ($qu) use ($key){
|
||
|
foreach ($key as $value) {
|
||
|
$qu->Where('id', 'like', "%{$value}%");
|
||
|
}
|
||
|
});
|
||
|
})->orderBy('created_at', 'desc')
|
||
|
->paginate(config('default_pagination'));
|
||
|
return view('vendor-views.order-subscription.index', compact('subscriptions'));
|
||
|
}
|
||
|
public function show(Request $request, Subscription $subscription)
|
||
|
{
|
||
|
$tab = $request->query('tab', 'info');
|
||
|
return view('vendor-views.order-subscription.view', compact('subscription', 'tab'));
|
||
|
}
|
||
|
// public function edit(Subscription $subscription)
|
||
|
// {
|
||
|
// return response()->json($subscription);
|
||
|
// }
|
||
|
// public function update(Request $request, Subscription $subscription)
|
||
|
// {
|
||
|
// $request->validate([
|
||
|
// 'status' => 'required|in:active,paused,canceled',
|
||
|
// 'start_date' => 'required_if:status,paused|date|after_or_equal:today',
|
||
|
// 'end_date' => 'required_if:status,paused|date|after_or_equal:start_date'
|
||
|
// ]);
|
||
|
|
||
|
// DB::beginTransaction();
|
||
|
// try{
|
||
|
// if($request->status == 'paused'){
|
||
|
// if($subscription->pause()->checkDate($request->start_date, $request->end_date)->count())
|
||
|
// {
|
||
|
// Toastr::error(translate('messages.subscription_pause_log_overlap_warning'));
|
||
|
// return back();
|
||
|
// }
|
||
|
// $subscription->pause()->updateOrInsert(['from'=>$request->start_date, 'subscription_id'=>$subscription->id],['to'=>$request->end_date]);
|
||
|
// } else {
|
||
|
// $subscription->status = $request->status;
|
||
|
// }
|
||
|
// $subscription->save();
|
||
|
// DB::commit();
|
||
|
// Toastr::success(translate('messages.subscription_updated_successfully'));
|
||
|
// return back();
|
||
|
// }catch(Exception $ex){
|
||
|
// DB::rollBack();
|
||
|
// info($ex);
|
||
|
// Toastr::error($ex->getMessage());
|
||
|
// return back();
|
||
|
// }
|
||
|
|
||
|
// Toastr::error(translate('messages.failed_updated_subscription'));
|
||
|
// return back();
|
||
|
// }
|
||
|
}
|