Your ROOT_URL in app.ini is http://167.99.32.63:3000/ but you are visiting http://167.99.32.63/ibrahim/BAGETWEBPANEL/blame/commit/5502e10312f1346e86a7121a4cdd08e66c54c696/app/Http/Controllers/Vendor/AddOnController.php You should set ROOT_URL correctly, otherwise the web may not work correctly.

123 lines
3.9 KiB

2 years ago
<?php
namespace App\Http\Controllers\Vendor;
use App\Http\Controllers\Controller;
use App\Models\AddOn;
use Brian2694\Toastr\Facades\Toastr;
use Illuminate\Http\Request;
use App\CentralLogics\Helpers;
use App\Models\Translation;
class AddOnController extends Controller
{
public function index()
{
$addons = AddOn::orderBy('name')->paginate(config('default_pagination'));
return view('vendor-views.addon.index', compact('addons'));
}
public function store(Request $request)
{
if(!Helpers::get_restaurant_data()->food_section)
{
Toastr::warning(translate('messages.permission_denied'));
return back();
}
$request->validate([
'name' => 'required|array',
'name.*' => 'max:191',
'price' => 'required|numeric|between:0,999999999999.99',
],[
'name.required' => translate('messages.Name is required!'),
]);
$addon = new AddOn();
$addon->name = $request->name[array_search('en', $request->lang)];
$addon->price = $request->price;
$addon->restaurant_id = \App\CentralLogics\Helpers::get_restaurant_id();
$addon->save();
$data = [];
foreach($request->lang as $index=>$key)
{
if($request->name[$index] && $key != 'en')
{
array_push($data, Array(
'translationable_type' => 'App\Models\AddOn',
'translationable_id' => $addon->id,
'locale' => $key,
'key' => 'name',
'value' => $request->name[$index],
));
}
}
if(count($data))
{
Translation::insert($data);
}
Toastr::success(translate('messages.addon_added_successfully'));
return back();
}
public function edit($id)
{
if(!Helpers::get_restaurant_data()->food_section)
{
Toastr::warning(translate('messages.permission_denied'));
return back();
}
$addon = AddOn::withoutGlobalScope('translate')->findOrFail($id);
return view('vendor-views.addon.edit', compact('addon'));
}
public function update(Request $request, $id)
{
if(!Helpers::get_restaurant_data()->food_section)
{
Toastr::warning(translate('messages.permission_denied'));
return back();
}
$request->validate([
'name' => 'required|max:191',
'price' => 'required|numeric|between:0,999999999999.99',
], [
'name.required' => translate('messages.Name is required!'),
]);
$addon = AddOn::find($id);
$addon->name = $request->name[array_search('en', $request->lang)];
$addon->price = $request->price;
$addon->save();
foreach($request->lang as $index=>$key)
{
if($request->name[$index] && $key != 'en')
{
Translation::updateOrInsert(
['translationable_type' => 'App\Models\AddOn',
'translationable_id' => $addon->id,
'locale' => $key,
'key' => 'name'],
['value' => $request->name[$index]]
);
}
}
Toastr::success(translate('messages.addon_updated_successfully'));
return redirect(route('vendor.addon.add-new'));
}
public function delete(Request $request)
{
if(!Helpers::get_restaurant_data()->food_section)
{
Toastr::warning(translate('messages.permission_denied'));
return back();
}
$addon = AddOn::find($request->id);
$addon->delete();
Toastr::success(translate('messages.addon_deleted_successfully'));
return back();
}
}