feat: add created_by field handling for flights
This commit is contained in:
@@ -3,9 +3,147 @@
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\TourStoreRequest;
|
||||
use App\Models\Tour;
|
||||
use App\Models\TravelType;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class TourController extends Controller
|
||||
{
|
||||
//
|
||||
public function index(Request $request)
|
||||
{
|
||||
$tours = Tour::query()
|
||||
->applySearch($request->all())
|
||||
->filterType($request->travel_type_id)
|
||||
->sort($request->sort)
|
||||
->latest()
|
||||
->paginate(4);
|
||||
|
||||
return view('admin.tours.index', compact('tours'));
|
||||
}
|
||||
|
||||
|
||||
public function create()
|
||||
{
|
||||
|
||||
return view('admin.tours.create' );
|
||||
}
|
||||
|
||||
|
||||
public function store(TourStoreRequest $request)
|
||||
{
|
||||
DB::beginTransaction();
|
||||
|
||||
try {
|
||||
|
||||
$data = $request->validated();
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
|
||||
$data['image'] = $request
|
||||
->file('image')
|
||||
->store('tours','public');
|
||||
|
||||
}
|
||||
|
||||
$data['created_by'] = auth('admin')->id();
|
||||
|
||||
Tour::create($data);
|
||||
|
||||
|
||||
DB::commit();
|
||||
|
||||
|
||||
return redirect()
|
||||
->route('admin.tours.index')
|
||||
->with('success','تور ثبت شد');
|
||||
|
||||
|
||||
} catch(\Exception $e) {
|
||||
|
||||
DB::rollBack();
|
||||
|
||||
dd($e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function edit(Tour $tour)
|
||||
{
|
||||
return view('admin.tours.edit',compact('tour'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function update(TourStoreRequest $request, Tour $tour)
|
||||
{
|
||||
|
||||
DB::beginTransaction();
|
||||
|
||||
try {
|
||||
|
||||
$data = $request->validated();
|
||||
|
||||
|
||||
if ($request->hasFile('image')) {
|
||||
|
||||
|
||||
if($tour->image){
|
||||
|
||||
Storage::disk('public')
|
||||
->delete($tour->image);
|
||||
|
||||
}
|
||||
|
||||
|
||||
$data['image'] = $request
|
||||
->file('image')
|
||||
->store('tours','public');
|
||||
|
||||
}
|
||||
|
||||
|
||||
$tour->update($data);
|
||||
|
||||
|
||||
DB::commit();
|
||||
|
||||
|
||||
return redirect()
|
||||
->route('admin.tours.index')
|
||||
->with('success','تور ویرایش شد');
|
||||
|
||||
|
||||
}catch(\Exception $e){
|
||||
|
||||
DB::rollBack();
|
||||
|
||||
dd($e->getMessage());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function destroy(Tour $tour)
|
||||
{
|
||||
|
||||
if($tour->image){
|
||||
|
||||
Storage::disk('public')
|
||||
->delete($tour->image);
|
||||
|
||||
}
|
||||
|
||||
|
||||
$tour->delete();
|
||||
|
||||
|
||||
return back()
|
||||
->with('success','تور حذف شد');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user