From 3ebbb5389a03f552056ea48795d50c4033c65747 Mon Sep 17 00:00:00 2001 From: VE10-Sanjeev Date: Thu, 12 Oct 2023 17:52:40 +0530 Subject: [PATCH] Manager Role : ps --- app/Controllers/Customer.php | 7 ++++-- app/Controllers/Users.php | 42 ++++++++++++++++++++++++++++------- app/Views/dashboard.php | 2 ++ app/Views/pages_404.php | 26 ++++++++++++++++++++++ app/Views/template/header.php | 26 +++++++++++----------- app/Views/template/topbar.php | 8 +++---- app/Views/user_form.php | 8 ++++--- 7 files changed, 89 insertions(+), 30 deletions(-) create mode 100644 app/Views/pages_404.php diff --git a/app/Controllers/Customer.php b/app/Controllers/Customer.php index bae69804..08b0f9e3 100644 --- a/app/Controllers/Customer.php +++ b/app/Controllers/Customer.php @@ -81,6 +81,7 @@ class Customer extends BaseController helper('session'); $session_bid = get_business_id(); $session_uid = get_logged_user_id(); + $session_role = get_user_role(); $model = new CustomerModel(); $data = [ 'first_name' => $this->request->getPost('cfname'), @@ -110,8 +111,10 @@ class Customer extends BaseController $FK_CID = $model->insertID(); // for Customer ADDRESS Table } else { // It's an update operation - $isactive = $this->request->getPost('isactive'); - $data['isactive'] = ($isactive == 'on') ? 1 : 0; + if ($session_role !== 'manager'){ + $isactive = $this->request->getPost('isactive'); + $data['isactive'] = ($isactive == 'on') ? 1 : 0; + } $data['updated_by'] = $session_uid; // $model->update($customer_id, $data); $FK_CID = $customer_id; // for Customer ADDRESS Table diff --git a/app/Controllers/Users.php b/app/Controllers/Users.php index acd20db3..a0ae9869 100755 --- a/app/Controllers/Users.php +++ b/app/Controllers/Users.php @@ -38,27 +38,53 @@ class Users extends BaseController helper('session'); $session_role = get_user_role(); $session_bid = get_business_id(); + $session_uid = get_logged_user_id(); if ($id === '0') { $this->logger->info("Users: In Add page"); $data['page_name'] = 'Add User'; $data['details'] = []; } else if ($id !== '0') { $this->logger->info("Users: In Edit page"); - $data['page_name'] = 'Edit User'; $model = new UsersModel(); $model->setTable('users'); - if (!empty($session_role) && $session_role === "sadmin") { - $where = ['users.user_id' => $id, 'users.isactive !=' => NULL]; - } else { - $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + if (!empty($session_role)){ + switch ($session_role) { + case "sadmin": + $where = ['users.user_id' => $id, 'users.isactive !=' => NULL]; + $edit_user_details = $model->where($where)->first(); + $business_details = $this->business_details(); + $render_page_name = 'user_form'; + $data['page_name'] = 'Edit User'; + break; + case "admin": + $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + $edit_user_details = $model->where($where)->first(); + $business_details = []; + $render_page_name = 'user_form'; + $data['page_name'] = 'Edit User'; + break; + case "manager": + $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + $edit_user_details = $model->where($where)->first(); + $business_details = []; + if($session_uid === $id && $session_role === "manager"){ + $data['page_name'] = 'Edit User'; + $render_page_name = 'user_form'; + }else{ + $data['page_name'] = 'Page Not Found'; + $render_page_name = 'pages_404'; + } + break; + default: + $data['page_name'] = 'Page Not Found'; + $render_page_name = 'pages_404'; + } } - $edit_user_details = $model->where($where)->first(); $data['details'] = $edit_user_details; } - $business_details = !empty($session_role) && $session_role === "sadmin" ? $this->business_details() : []; $data['business_details'] = $business_details; $data['session_bid'] = $session_bid; - $this->render_page('user_form', $data); + $this->render_page($render_page_name, $data); } ## For SuperAdmin Role business Dropdown displayed on Userpage.otherwise Hidden fields diff --git a/app/Views/dashboard.php b/app/Views/dashboard.php index 157cc6c0..cc2f879e 100644 --- a/app/Views/dashboard.php +++ b/app/Views/dashboard.php @@ -1,3 +1,4 @@ +
@@ -88,4 +89,5 @@
+ \ No newline at end of file diff --git a/app/Views/pages_404.php b/app/Views/pages_404.php new file mode 100644 index 00000000..32752d8a --- /dev/null +++ b/app/Views/pages_404.php @@ -0,0 +1,26 @@ +
+
+
+ + + + 404! + + + + + + + + +
+
+

Whoops! Page not found

+ +
+
+
\ No newline at end of file diff --git a/app/Views/template/header.php b/app/Views/template/header.php index e771a668..3934b0c5 100644 --- a/app/Views/template/header.php +++ b/app/Views/template/header.php @@ -134,35 +134,39 @@ Membership +
  • "> Scheme
  • + +
  • "> Products
  • + +
  • "> Users
  • - - + +
  • "> Site Setting
  • - - - + +
  • "> @@ -170,20 +174,16 @@ Campaign
  • - - - - - - - - + +
  • "> Custom Notifications
  • + + diff --git a/app/Views/template/topbar.php b/app/Views/template/topbar.php index 983dbb40..215af0fa 100644 --- a/app/Views/template/topbar.php +++ b/app/Views/template/topbar.php @@ -237,11 +237,11 @@ My Account + "class="dropdown-item notify-item"> - - - Business Setting - + Business Setting + + diff --git a/app/Views/user_form.php b/app/Views/user_form.php index a535d6b1..ec5713e9 100644 --- a/app/Views/user_form.php +++ b/app/Views/user_form.php @@ -125,7 +125,8 @@
    - + +
    > @@ -139,8 +140,9 @@ - " class="btn btn-secondary waves-effect">Cancel - + + " class="btn btn-secondary waves-effect">Cancel +