170 lines
6.0 KiB
PHP
Executable File
170 lines
6.0 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Models\ClientModel;
|
|
use App\Models\VehicleModel;
|
|
use App\Models\RoleModel;
|
|
use App\Models\UsersModel;
|
|
|
|
|
|
class Client extends BaseController
|
|
{
|
|
|
|
public $session;
|
|
protected $UsersModel;
|
|
protected $VehicleModel;
|
|
public function __construct()
|
|
{
|
|
$this->session = session(); // Initialize session
|
|
$this->UsersModel = new UsersModel();
|
|
$this->VehicleModel = new VehicleModel();
|
|
}
|
|
|
|
public function client_index()
|
|
{
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$ClientModel = new ClientModel();
|
|
$client = $ClientModel->where('branch_id',$this->session->get('logged_user_branch_id'))->findAll();
|
|
$data['client']=$client;
|
|
|
|
return view('client_list',$data);
|
|
}
|
|
|
|
|
|
public function new_client($client_id)
|
|
{
|
|
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
if ($client_id === '0') {
|
|
|
|
$data['client'] = [];
|
|
$data['page_name']="Add Client";
|
|
} else if ($client_id !== '0') {
|
|
$data['page_name']="Edit Client";
|
|
$ClientModel = new ClientModel();
|
|
|
|
$client=$ClientModel->where('client_id', $client_id)->get()->getRowArray();
|
|
|
|
$data['client']=$client;
|
|
}
|
|
$data['client_id'] = $client_id;
|
|
|
|
return view('client_form',$data);
|
|
}
|
|
|
|
|
|
public function add_client()
|
|
{
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$ClientModel = new ClientModel();
|
|
|
|
$mobile_no = $this->request->getPost('mobile');
|
|
$data = [
|
|
'client_name' => $this->request->getPost('client_name'),
|
|
'email' => $this->request->getPost('email'),
|
|
'address' => $this->request->getPost('address'),
|
|
'mobile_no' =>$mobile_no,
|
|
'city' => $this->request->getPost('city'),
|
|
'state' => $this->request->getPost('state'),
|
|
'postal_code' => $this->request->getPost('postalcode'),
|
|
'gstnumber' => $this->request->getPost('gstnumber'),
|
|
'client_type' => $this->request->getPost('clienttype'),
|
|
'isactive' => 1 ,
|
|
'branch_id' => $this->session->get('logged_user_branch_id')
|
|
];
|
|
// print_r($data);die;
|
|
|
|
$client_id = $this->request->getPost('client_id');
|
|
|
|
|
|
if (!empty($client_id)) {
|
|
$data['updated_by'] = (int)$this->session->get('logged_user');
|
|
$update= $ClientModel->update($client_id, $data);
|
|
|
|
if($update){
|
|
return json_encode("update");
|
|
}
|
|
|
|
} else {
|
|
if($ClientModel->where('mobile_no', $mobile_no)->first()){
|
|
$error = "Mobile number already exists";
|
|
return json_encode(false);
|
|
}else{
|
|
$data['created_by'] = (int)$this->session->get('logged_user');
|
|
$ClientModel->insert($data);
|
|
return json_encode(true);
|
|
}
|
|
}
|
|
|
|
|
|
// return redirect()->to('client_index');
|
|
}
|
|
|
|
public function delete_client($client_id)
|
|
{
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
$model = new ClientModel();
|
|
$where = ['client_id' => $client_id, 'isactive' => 1 , 'branch_id' => $this->session->get('logged_user_branch_id')]; // Assuming 'isactive' is a column in your database
|
|
$existingBusiness = $model->where($where)->first();
|
|
|
|
if ($existingBusiness) {
|
|
$data['isactive'] = 0;
|
|
|
|
if ($model->update($client_id, $data)) {
|
|
$vehicle_list = $this->VehicleModel->where('client_id',$client_id)->where('isactive',1)->findAll();
|
|
if (count($vehicle_list)) {
|
|
foreach ($vehicle_list as $key => $value) {
|
|
$this->VehicleModel->update($value['vehicle_id'], $data);
|
|
}
|
|
}
|
|
session()->setFlashdata('success', 'Deleted successfully.');
|
|
$this->logger->info("Users: has been Inactivated successfully. Inactivated ID = ".$client_id);
|
|
}
|
|
}
|
|
|
|
|
|
return redirect()->to('client_index');
|
|
}
|
|
|
|
public function client_quick_create(){
|
|
if(!$this->session->has('logged_user')) { return redirect()->to(base_url()); }
|
|
// Load ClientModel
|
|
$ClientModel = new ClientModel();
|
|
|
|
// Validate inputs
|
|
$validationRules = [
|
|
'client_name' => 'required|max_length[100]',
|
|
'mobile_no' => 'required' // Assuming mobile number is 10 digits long
|
|
];
|
|
|
|
if (!$this->validate($validationRules)) {
|
|
// If validation fails, return validation errors
|
|
return $this->response->setJSON(['success' => false, 'errors' => $this->validator->getErrors()]);
|
|
}
|
|
|
|
// If validation passes, proceed to save the client
|
|
$data = [
|
|
'client_name' => $this->request->getPost('client_name'),
|
|
'mobile_no' => $this->request->getPost('mobile_no'),
|
|
'client_type' => $this->request->getPost('client_type'),
|
|
'branch_id'=> $this->session->get('logged_user_branch_id'),
|
|
'city'=>'Chennai',
|
|
'state'=>'Tamil Nadu',
|
|
'isactive' => 1
|
|
];
|
|
|
|
// Attempt to insert the client data
|
|
$id = $ClientModel->insert($data);
|
|
if ($id) {
|
|
$clientData = $ClientModel->where('client_id',$id)->first();
|
|
|
|
// If insertion succeeds, return success response
|
|
return $this->response->setJSON(['success' => true, 'message' => 'Client saved successfully.','clientData'=>$clientData]);
|
|
} else {
|
|
// If insertion fails, return error response
|
|
return $this->response->setJSON(['success' => false, 'message' => 'Failed to save client.']);
|
|
}
|
|
}
|
|
|
|
} |