![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/app/Http/Controllers/Restaurant/ |
<?php namespace App\Http\Controllers\Restaurant; use App\TransactionSellLine; use App\Utils\RestaurantUtil; use App\Utils\Util; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Routing\Controller; class KitchenController extends Controller { /** * All Utils instance. */ protected $commonUtil; protected $restUtil; /** * Constructor * * @param Util $commonUtil * @param RestaurantUtil $restUtil * @return void */ public function __construct(Util $commonUtil, RestaurantUtil $restUtil) { $this->commonUtil = $commonUtil; $this->restUtil = $restUtil; } /** * Display a listing of the resource. * * @return Response */ public function index() { // if (!auth()->user()->can('sell.view')) { // abort(403, 'Unauthorized action.'); // } $business_id = request()->session()->get('user.business_id'); $orders = $this->restUtil->getAllOrders($business_id, ['line_order_status' => 'received', 'is_kitchen_order' => 1]); return view('restaurant.kitchen.index', compact('orders')); } /** * Marks an order as cooked * * @return json $output */ public function markAsCooked($id) { // if (!auth()->user()->can('sell.update')) { // abort(403, 'Unauthorized action.'); // } try { $business_id = request()->session()->get('user.business_id'); $sl = TransactionSellLine::leftJoin('transactions as t', 't.id', '=', 'transaction_sell_lines.transaction_id') ->where('t.business_id', $business_id) ->where('transaction_id', $id) ->where(function ($q) { $q->whereNull('res_line_order_status') ->orWhere('res_line_order_status', 'received'); }) ->update(['res_line_order_status' => 'cooked']); $output = ['success' => 1, 'msg' => trans('restaurant.order_successfully_marked_cooked'), ]; } catch (\Exception $e) { \Log::emergency('File:'.$e->getFile().'Line:'.$e->getLine().'Message:'.$e->getMessage()); $output = ['success' => 0, 'msg' => trans('messages.something_went_wrong'), ]; } return $output; } /** * Retrives fresh orders * * @return Json $output */ public function refreshOrdersList(Request $request) { // if (!auth()->user()->can('sell.view')) { // abort(403, 'Unauthorized action.'); // } $business_id = request()->session()->get('user.business_id'); $orders_for = $request->orders_for; $filter = []; $service_staff_id = request()->session()->get('user.id'); if (! $this->restUtil->is_service_staff($service_staff_id) && ! empty($request->input('service_staff_id'))) { $service_staff_id = $request->input('service_staff_id'); } if ($orders_for == 'kitchen') { $filter['line_order_status'] = 'received'; $filter['is_kitchen_order'] = 1; } elseif ($orders_for == 'waiter') { $filter['waiter_id'] = $service_staff_id; } $orders = $this->restUtil->getAllOrders($business_id, $filter); return view('restaurant.partials.show_orders', compact('orders', 'orders_for')); } /** * Retrives fresh orders * * @return Json $output */ public function refreshLineOrdersList(Request $request) { // if (!auth()->user()->can('sell.view')) { // abort(403, 'Unauthorized action.'); // } $business_id = request()->session()->get('user.business_id'); $orders_for = $request->orders_for; $filter = []; $service_staff_id = request()->session()->get('user.id'); if (! $this->restUtil->is_service_staff($service_staff_id) && ! empty($request->input('service_staff_id'))) { $service_staff_id = $request->input('service_staff_id'); } if ($orders_for == 'kitchen') { $filter['order_status'] = 'received'; } elseif ($orders_for == 'waiter') { $filter['waiter_id'] = $service_staff_id; } $line_orders = $this->restUtil->getLineOrders($business_id, $filter); return view('restaurant.partials.line_orders', compact('line_orders', 'orders_for')); } }