208 lines
7.5 KiB
PHP
Executable File
208 lines
7.5 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Controllers;
|
|
use App\Models\VehicleModel;
|
|
use App\Models\ClientModel;
|
|
use App\Models\RoleModel;
|
|
use App\Models\BikemakeModel;
|
|
use App\Models\BikemodelsModel;
|
|
|
|
use CodeIgniter\API\ResponseTrait;
|
|
|
|
class Vehicle extends BaseController
|
|
{
|
|
|
|
|
|
public $session;
|
|
|
|
use ResponseTrait;
|
|
|
|
protected $bikeMakeModel;
|
|
protected $bikeModelsModel;
|
|
public function __construct()
|
|
{
|
|
$this->session = session();
|
|
$this->bikeMakeModel = new BikemakeModel();
|
|
$this->bikeModelsModel = new BikemodelsModel();
|
|
}
|
|
|
|
public function vehicle_index()
|
|
{
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$VehicleModel = new VehicleModel();
|
|
$vehicle = $VehicleModel->getCustomerandVehicle($this->session->get('logged_user_branch_id'));
|
|
$data['vehicle'] = $vehicle;
|
|
|
|
$ClientModel = new ClientModel();
|
|
$client = $ClientModel->where('branch_id', $this->session->get('logged_user_branch_id'))->findAll();
|
|
$data['client']=$client;
|
|
|
|
return view('vehicle_list',$data);
|
|
}
|
|
|
|
|
|
public function new_vehicle($vehicle_id)
|
|
{
|
|
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
if ($vehicle_id === '0') {
|
|
$ClientModel = new ClientModel();
|
|
$data['vehicle'] = [];
|
|
$data['page_name']="Add vehicle";
|
|
$client = $ClientModel->where('branch_id', $this->session->get('logged_user_branch_id'))->findAll();
|
|
$data['client']=$client;
|
|
|
|
} else if ($vehicle_id !== '0') {
|
|
|
|
$data['page_name']="Edit vehicle";
|
|
$VehicleModel = new VehicleModel();
|
|
$vehicle= $VehicleModel->select('vehicle.*, model.model_name as model_name')
|
|
->join('model', 'model.model_id = vehicle.model')
|
|
->where('vehicle.vehicle_id', $vehicle_id)
|
|
->where('vehicle.branch_id', $this->session->get('logged_user_branch_id'))
|
|
->get()->getRowArray();
|
|
$data['vehicle']=$vehicle;
|
|
$ClientModel = new ClientModel();
|
|
$client=$ClientModel->where('branch_id', $this->session->get('logged_user_branch_id'))->findAll();
|
|
$data['client']=$client;
|
|
}
|
|
// dd($vehicle);
|
|
$data['vehicle_id'] = $vehicle_id;
|
|
$data['makeData'] =$this->bikeMakeModel->where('make_id != ', 0)->where('business_id', $this->session->get('logged_user_business_id'))->findAll();
|
|
|
|
return view('vehicle_form',$data);
|
|
}
|
|
|
|
|
|
public function add_vehicle()
|
|
{
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$VehicleModel = new VehicleModel();
|
|
$reg_no = $this->request->getPost('regno');
|
|
$vehicle = $VehicleModel->where('reg_no',$reg_no)->first();
|
|
// if(!$vehicle){
|
|
$data = [
|
|
'client_id' => $this->request->getPost('client_name'),
|
|
'email' => $this->request->getPost('email'),
|
|
'gstnumber' => $this->request->getPost('gstnumber'),
|
|
'address' => $this->request->getPost('address'),
|
|
'mobile_no' => $this->request->getPost('mobile_no'),
|
|
'city' => $this->request->getPost('city'),
|
|
'state' => $this->request->getPost('state'),
|
|
'postal_code' => $this->request->getPost('postalcode'),
|
|
'make' => $this->request->getPost('make'),
|
|
'model' => $this->request->getPost('model'),
|
|
'reg_no' => $reg_no,
|
|
'colour' => $this->request->getPost('colour'),
|
|
'year_of_manufacturing' => $this->request->getPost('year_of_manufacturing'),
|
|
'branch_id' => $this->session->get('logged_user_branch_id'),
|
|
'specific' => $this->request->getPost('specific'),
|
|
'isactive' => 1 // Assuming this is a default value or handled separately
|
|
];
|
|
|
|
$vehicle_id = $this->request->getPost('vehicle_id');
|
|
if (!empty($vehicle_id)) {
|
|
$data['updated_by'] = (int)$this->session->get('logged_user');
|
|
$VehicleModel->update($vehicle_id, $data);
|
|
} else {
|
|
$data['created_by'] = (int)$this->session->get('logged_user');
|
|
$VehicleModel->insert($data);
|
|
}
|
|
return redirect()->to('vehicle_index');
|
|
// }else{
|
|
// $this->session->setFlashdata('error', 'Vehicle with this registration number already exists.');
|
|
// return redirect()->back()->withInput();
|
|
// }
|
|
|
|
}
|
|
|
|
public function delete_vehicle($vehicle_id)
|
|
{
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$model = new VehicleModel();
|
|
$where = ['vehicle_id' => $vehicle_id, 'isactive' => 1]; // Assuming 'isactive' is a column in your database
|
|
$existingBusiness = $model->where($where)->first();
|
|
|
|
if ($existingBusiness) {
|
|
$data['isactive'] = 0;
|
|
|
|
if ($model->update($vehicle_id, $data)) {
|
|
session()->setFlashdata('success', 'Deleted successfully.');
|
|
$this->logger->info("Users: has been Inactivated successfully. Inactivated ID = ".$vehicle_id);
|
|
}
|
|
}
|
|
|
|
|
|
return redirect()->to('vehicle_index');
|
|
}
|
|
|
|
|
|
|
|
public function get_models()
|
|
{
|
|
$selected_makes = $this->request->getPost('selected_makes');
|
|
$BikemodelModel = new BikemodelsModel();
|
|
|
|
$formatted_models = [];
|
|
|
|
foreach ($selected_makes as $make_id) {
|
|
$models = $BikemodelModel->where('make_id', $make_id)->where('business_id', $this->session->get('logged_user_business_id'))->findAll();
|
|
foreach ($models as $model) {
|
|
$formatted_model = [
|
|
'model_id' => $model['model_id'],
|
|
'model_name' => $model['model_name']
|
|
];
|
|
|
|
$formatted_models[] = $formatted_model;
|
|
}
|
|
}
|
|
|
|
return $this->response->setJSON($formatted_models);
|
|
}
|
|
|
|
public function checkRegisterNo(){
|
|
|
|
// if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$VehicleModel = new VehicleModel();
|
|
|
|
$reg_no = $this->request->getPost('register_number');
|
|
|
|
$register_find = $VehicleModel->where('reg_no',$reg_no)->first();
|
|
|
|
|
|
if ($register_find) {
|
|
return json_encode($register_find);
|
|
}else{
|
|
return json_encode(false);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function status_vehicle()
|
|
{
|
|
|
|
try {
|
|
$vehicle_id = $this->request->getPost('vehicle_id');
|
|
$isactive = $this->request->getPost('isactive');
|
|
|
|
$VehicleModel = new VehicleModel();
|
|
$data = [
|
|
'isactive' => $isactive
|
|
];
|
|
$updated = $VehicleModel->update($vehicle_id, $data);
|
|
|
|
if ($updated) {
|
|
$result = $data;
|
|
return $this->respond(['status' => 'success','code' => 200],200);
|
|
} else {
|
|
$result = "No Match's";
|
|
return $this->respond(['status' => 'failed','code' => 404],404);
|
|
}
|
|
} catch (\Exception $exception) {
|
|
return $this->respond(['status' => 'failed','code' => 500,'data' => $exception],500);
|
|
}
|
|
}
|
|
|
|
} |