/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { // BEGIN ALL DATA NEEDED BY EDIT FORM //BEGIN VEHICLE DATA $vehicle = Vehicle::find($id); $vehicles_vin = $vehicle->vehicles_vin; $vehicles_year = $vehicle->model->model_year; $vehicles_make_id = $vehicle->model->model_make_id; $model_name = $vehicle->model->model_name; $model_trim = $vehicle->model->model_trim; $vehicles_name_trim = $model_name . ", " . $model_trim; $vehicles_body = $vehicle->model->model_body; $vehicles_weight_kg = $vehicle->vehicles_weight_kg; $vehicles_status = $vehicle->vehicles_status; $vehicles_color = $vehicle->vehicles_color; $vehicles_odometer = $vehicle->vehicles_odometer; $vehicles_use_type = $vehicle->vehicles_use_type; $vehicles_class = $vehicle->vehicles_class; $vehicles_use_type_table_name = $vehicle->vehicleUseType->vehicle_use_types_table_name; // BEGIN VEHICLES GENERIC LIST $vehicles_class_col_name = $vehicles_use_type_table_name . '_class'; $vehicles_class_name = DB::table($vehicles_use_type_table_name)->find($vehicles_class)->{$vehicles_class_col_name}; $vehicles_class_ar = ['-1' => 'Select Class'] + DB::table($vehicles_use_type_table_name)->lists($vehicles_use_type_table_name . '_class', 'id'); // IF VEHICLE USE TYPE IS COMMERCIAL PASSENGERS if ($vehicles_use_type == 2) { $noOfPas = ['-1' => 'Select No. Of Passengers'] + DB::table($vehicles_use_type_table_name)->lists('fees_commercial_passengers_no_of_passenger', 'id'); } else { $noOfPas = ""; } $model_make_ar = ['-1' => 'Select Make'] + Model::where('model_year', $vehicles_year)->distinct()->orderBy('model_make_id')->lists('model_make_id', 'model_make_id'); $model_make_ar['add_new'] = "Add New"; $vehicles_name_trim_arr = Model::where('model_year', $vehicles_year)->where('model_make_id', $vehicles_make_id)->get(['model_name', 'model_trim'])->toArray(); foreach ($vehicles_name_trim_arr as $vehicles_name_trim_arr_fet) { $name_trim = implode(', ', $vehicles_name_trim_arr_fet); $vehicles_name_trim_ar[$name_trim] = $name_trim; } $vehicles_name_trim_ar = array_unique($vehicles_name_trim_ar); asort($vehicles_name_trim_ar); $vehicles_name_trim_ar = ['-1' => 'Select Model'] + $vehicles_name_trim_ar; $vehicles_body_ar = ['-1' => 'Select Body Style'] + array_filter(array_unique(Model::where('model_year', $vehicles_year)->where('model_make_id', $vehicles_make_id)->where('model_name', $model_name)->where('model_trim', $model_trim)->lists('model_body', 'model_body'))); $model_weight_kg_ar = ['-1' => "Select Gross Weight"] + array_filter(array_unique(Model::where('model_make_id', $vehicles_make_id)->where('model_name', $model_name)->where('model_trim', $model_trim)->where('model_year', $vehicles_year)->where('model_body', $vehicles_body)->lists('model_weight_kg', 'model_weight_kg'))); // END VEHICLES GENERIC LIST // END VEHICLE DATA // BEGIN OWNERS $owners = $vehicle->owners; $owners_index_range = range(1, $owners->count()); //$old_owners_index = implode(',', $owners_index_range); $old_owners_index = implode(',', $owners->lists('id')); // END OWNERS //BEGIN AUTHORIZED $authorized = $vehicle->authorizedDrivers; if ($authorized->count() > 0) { $old_authorized_index = implode(',', $authorized->lists('id')); } else { $old_authorized_index = ""; } // END AUTHORIZED // REGISTRATION $registration = $vehicle->registration; // NEED TO SEND THIS SEPERATELY AS BECAUSE IS NEEDED IN JQUERY $registrations_no = $registration->registrations_no; // DOCUMENTS $documents = $vehicle->documents; if ($documents->count() > 0) { $documents_index_range = $documents->lists('id'); $documents_index = implode(',', $documents_index_range); } else { $documents_index = ""; } // INSURANCE $insurance = $vehicle->insurance; //LIEN $lien = $vehicle->lien; // GENERIC DATA $modelYears = ['-1' => 'Select Vehicle Year'] + Model::distinct()->orderBy('model_year', 'desc')->lists('model_year', 'model_year'); $vehicleStatus = VehicleStatus::lists('vehicle_status_name', 'id'); $colorList = ['-1' => 'Select Color'] + Color::lists('colors_name', 'id'); $vehicleUseType = ['-1' => 'Select Vehicle Use Type'] + VehicleUseType::lists('vehicle_use_types_name', 'id'); $country = ['-1' => 'Select Country'] + Country::lists('country_name', 'id'); $drivingStatusName = DrivingStatus::lists('driving_status_name', 'id'); // END ALL DATA NEEDED BY REGISTRATION FORM //MAKING AN ARRAY OF DATA THAT IS NEEDED IN FORM $data = compact('vehicle', 'vehicles_vin', 'vehicles_year', 'vehicles_make_id', 'vehicles_name_trim', 'vehicles_body', 'vehicles_weight_kg', 'vehicles_status', 'vehicles_color', 'vehicles_odometer', 'vehicles_use_type', 'vehicles_class', 'vehicles_class_name', 'vehicles_class_ar', 'noOfPas', 'model_make_ar', 'vehicles_name_trim_ar', 'vehicles_body_ar', 'model_weight_kg_ar', 'modelYears', 'modelMake', 'vehicleUseType', 'vehicleStatus', 'colorList', 'drivingStatusName', 'country', 'owners', 'old_owners_index', 'old_authorized_index', 'authorized', 'authorized_index', 'registration', 'registrations_no', 'insurance', 'lien', 'documents', 'documents_index'); return View::make('vehicle.edit', $data); }