diff --git a/app/Config/Routes.php b/app/Config/Routes.php index b0a9deb0..fdedeb37 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -27,3 +27,34 @@ $routes->group("/dashboard", ["filter" => "authMVC"], function($routes){ $routes->get("view", "DashboardController::dashboard"); }); +$routes->group("/client", ["filter" => "authMVC"], function($routes){ + + $routes->get("list", "ClientController::index"); + $routes->get("create", "ClientController::clientOnboarding"); + + $routes->group("general", ["filter" => "authMVC"], function($routes){ + $routes->get("create", "ClientController::clientGeneralInfoData"); + $routes->post("create", "ClientController::createClientGeneralInfo"); + }); + $routes->group("relation", ["filter" => "authMVC"], function($routes){ + $routes->get("list", "ClientController::index"); + $routes->get("create", "ClientController::clientCreate"); + $routes->post("create", "ClientController::clientCreate"); + }); + $routes->group("branch", ["filter" => "authMVC"], function($routes){ + $routes->get("list", "ClientController::index"); + $routes->get("create", "ClientController::clientCreate"); + $routes->post("create", "ClientController::clientCreate"); + }); + $routes->group("policy", ["filter" => "authMVC"], function($routes){ + $routes->get("list", "ClientController::index"); + $routes->get("create", "ClientController::clientCreate"); + $routes->post("create", "ClientController::clientCreate"); + }); + $routes->group("kyc", ["filter" => "authMVC"], function($routes){ + $routes->get("list", "ClientController::index"); + $routes->get("create", "ClientController::clientCreate"); + $routes->post("create", "ClientController::clientCreate"); + }); +}); + diff --git a/app/Controllers/AdminController.php b/app/Controllers/AdminController.php index 487511fe..9a39b881 100644 --- a/app/Controllers/AdminController.php +++ b/app/Controllers/AdminController.php @@ -9,12 +9,10 @@ use Psr\Log\LoggerInterface; use App\Controllers\PublicController; - //This is a controller act like base controller for business logics which are required // authendication and authrizations also config the routes as per requirement in routes.php class AdminController extends BaseController { - public function __construct() { diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php new file mode 100644 index 00000000..ad7f6633 --- /dev/null +++ b/app/Controllers/ClientController.php @@ -0,0 +1,89 @@ +clientModel = new ClientModel(); + $this->userModel = new UserModel(); + $this->clientBranchModel = new ClientBranchModel(); + $this->clientKYCDocsModel = new ClientKYCDocsModel(); + $this->clientPolicyModel = new ClientPolicyModel(); + $this->clientRMModel = new ClientRMModel(); + $this->insurerBranchModel = new InsurerBranchModel(); + $this->insurerModel = new InsurerModel(); + $this->kycDocsModel = new KYCDocsModel(); + $this->kycEntityTypeModel = new KYCEntityTypeModel(); + $this->levelContactModel = new LevelContactModel(); + $this->policesModel = new PolicesModel(); + $this->tpaBranchModel = new TPABranchModel(); + $this->tpaModel = new TPAModel(); + } + + public function index() + { + echo view('layout/header'); + echo view('client_list'); + echo view('layout/footer'); + } + + public function clientOnboarding(){ + + $data['contact_level'] = ['1'=>'level 1', '2'=>'level 2', '3'=>'level 3']; + $data['entity'] = $this->kycEntityTypeModel->findAll(); + $data['kyc_docs'] = $this->kycDocsModel->findAll(); + $data['police'] = $this->policesModel->findAll(); + $data['insurer'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames(); + $data['RM'] = $this->userModel->findAll(); + + echo view('layout/header'); + echo view('client_onboarding', $data); + echo view('layout/footer'); + } + + + public function createClientGeneralInfo(){ + + } +} \ No newline at end of file diff --git a/app/Controllers/LoginController.php b/app/Controllers/LoginController.php index bf1ffe46..2154e75e 100644 --- a/app/Controllers/LoginController.php +++ b/app/Controllers/LoginController.php @@ -7,7 +7,8 @@ use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; -use App\Models\UserModal; +use App\Models\UserModel; +use App\Models\AuthHistoryModel; class LoginController extends BaseController { @@ -25,7 +26,7 @@ class LoginController extends BaseController public function receiveGoogleOAuthResponse() { - $UserModel = new UserModal(); + $UserModel = new UserModel(); if ($this->request->getGet('code')) { $code = (string) $this->request->getGet('code'); log_message('error', 'Get OAuth Responce Code Sucessfully'); @@ -40,6 +41,7 @@ class LoginController extends BaseController set_session_data($session_data); log_message('error', 'Set The UserId : `'. $user->id .'` in Session'); log_message('error', 'Is User Login Sucessfully'); + $this->getUserDeviceInfo($user->id); return redirect()->to(base_url('/dashboard/view')); }else{ @@ -66,5 +68,32 @@ class LoginController extends BaseController return redirect()->to(base_url('login')); } + + public function getUserDeviceInfo($userId){ + + // Load the UserAgent library + $userAgent = $this->request->getUserAgent(); + + // Get the user's platform (e.g., Windows, Mac, Linux) + $platform = $userAgent->getPlatform(); + + // Get the user's browser (e.g., Chrome, Firefox, Safari) + $browser = $userAgent->getBrowser(); + + // Get the user's IP address + $ipAddress = $this->request->getIPAddress(); + + $datd = [ + 'user_id' => $userId, + 'ip' => $ipAddress, + 'platform' => $platform, + 'broswer' => $browser, + ]; + + $AuthHistoryModel = new AuthHistoryModel; + $insertAuthHistory = $AuthHistoryModel->insert($datd); + + } + } diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index ccb8e578..03c5f57f 100644 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -8,9 +8,10 @@ use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; -use App\Models\UserModal; -use App\Models\RoleModal; -use App\Models\TeamsModal; +use App\Models\UserModel; +use App\Models\RoleModel; +use App\Models\TeamModel; +use App\Models\UserTeamsModel; class UserController extends AdminController @@ -18,7 +19,7 @@ class UserController extends AdminController public function list() { - $model = new UserModal(); + $model = new UserModel(); $data['UserList'] = $model->where('is_active', 1)->orderBy('id', 'DESC')->findAll(); echo view('layout/header'); echo view('AddUser'); @@ -28,16 +29,15 @@ class UserController extends AdminController public function create() - { - print_r($this->request->getPost()); die; - + { + $teams = $this->request->getPost('team'); //if this is get method return to user creation page if(!$this->request->getPost()){ return redirect()->to(base_url('/user/list')); }else{ //else do user insert operation - $userModel = new UserModal(); + $userModel = new UserModel(); $File = fileUpload($this->request->getFile('profile')); $userData = $this->request->getPost(); if(!empty($File)){ @@ -46,17 +46,34 @@ class UserController extends AdminController // Inserting data into the 'users' table $userData['created_by'] = get_session_userid(); + unset($userData['team']); $insert = $userModel->insert($userData); + if($insert){ + $teamData['user_id'] = $insert ; + $UserTeamsModel = new UserTeamsModel(); + foreach ($teams as $value) { + $teamData['team_id'] = $value; + $teamData['created_by'] = get_session_userid(); + $UserTeamsModel->insert($teamData); + } + } } return redirect()->to(base_url('/user/list')); } public function getuser($id = null){ - $model = new UserModal(); - $data = $model->where('id', $id)->first(); + $model = new UserModel(); + $RoleModel = new RoleModel(); + $TeamModal = new TeamModel(); + $UserTeamsModel = new UserTeamsModel(); + + $roleData = $RoleModel->select('id, role')->findAll(); + $teamData = $TeamModal->select('id, name')->findAll(); + $userTeamData = $UserTeamsModel->where('user_id', $id)->findAll(); + $data = $model->getUserById($id); if($data){ - echo json_encode(array("status" => true , 'data' => $data)); + echo json_encode(array("status" => true , 'data' => $data, 'roleData' => $roleData, 'teamData' => $teamData, 'userTeamData' => $userTeamData)); }else{ echo json_encode(array("status" => false)); } @@ -65,10 +82,13 @@ class UserController extends AdminController public function edit() { + $teams = $this->request->getPost('team'); + // echo '
';
+ // print_r($this->request->getPost()); die;
if(!$this->request->getPost()){
return redirect()->to(base_url('/user/list'));
}else{
- $userModel = new UserModal();
+ $userModel = new UserModel();
$id = $this->request->getPost('PrimaryKey');
$imageDetails = $userModel->find($id);
$File = fileUpload($this->request->getFile('profile'), (isset($imageDetails['profile']) ? $imageDetails['profile'] : null));
@@ -81,6 +101,16 @@ class UserController extends AdminController
$userData['updated_by'] = get_session_userid();
unset($userData['PrimaryKey']);
$update = $userModel->update($id, $userData);
+ if($update){
+ $UserTeamsModel = new UserTeamsModel();
+ $UserTeamsModel->where('user_id', $id)->delete();
+ $teamData['user_id'] = $id ;
+ foreach ($teams as $value) {
+ $teamData['team_id'] = $value;
+ $teamData['created_by'] = get_session_userid();
+ $UserTeamsModel->insert($teamData);
+ }
+ }
return redirect()->to(base_url('/user/list'));
}
@@ -88,7 +118,7 @@ class UserController extends AdminController
public function deactive($id = null)
{
- $model = new UserModal();
+ $model = new UserModel();
$deactive = $model->where('id', $id)->set(['is_active' => 0])->update();
if($deactive)
{
@@ -100,10 +130,10 @@ class UserController extends AdminController
public function getRolesAndTeams(){
- $RoleModal = new RoleModal();
- $TeamModal = new TeamsModal();
+ $RoleModel = new RoleModel();
+ $TeamModal = new TeamModel();
- $roleData = $RoleModal->select('id, role')->findAll();
+ $roleData = $RoleModel->select('id, role')->findAll();
$teamData = $TeamModal->select('id, name')->findAll();
echo json_encode(array("status" => true , 'roleData' => $roleData, 'teamData' => $teamData,));
diff --git a/app/Models/AuthHistoryModel.php b/app/Models/AuthHistoryModel.php
new file mode 100644
index 00000000..17c83357
--- /dev/null
+++ b/app/Models/AuthHistoryModel.php
@@ -0,0 +1,21 @@
+
\ No newline at end of file
diff --git a/app/Models/ClientBranchModel.php b/app/Models/ClientBranchModel.php
new file mode 100644
index 00000000..4fcec4a2
--- /dev/null
+++ b/app/Models/ClientBranchModel.php
@@ -0,0 +1,21 @@
+select('insurer_branch.*, I.short_name as insurer_name')
+ ->join('insurers I', 'insurer_branch.insurer_id = I.id', 'left')
+ ->find();
+ return $query;
+ }
+
+}
diff --git a/app/Models/InsurerModel.php b/app/Models/InsurerModel.php
new file mode 100644
index 00000000..b2ffe3f5
--- /dev/null
+++ b/app/Models/InsurerModel.php
@@ -0,0 +1,19 @@
+where('id', $id)->get();
+
+ if ($userData->getNumRows() > 0) {
+ return $userData->getRow();
+ } else {
+ return false;
+ }
}
}
diff --git a/app/Models/UserTeamsModel.php b/app/Models/UserTeamsModel.php
new file mode 100644
index 00000000..1758d641
--- /dev/null
+++ b/app/Models/UserTeamsModel.php
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/app/Views/AddUser.php b/app/Views/AddUser.php
index 2217af5f..efc5feee 100644
--- a/app/Views/AddUser.php
+++ b/app/Views/AddUser.php
@@ -1,5 +1,45 @@
-
+
+
+
+
+
@@ -22,7 +62,7 @@
-
+