diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 75246a4d..11f6eb98 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -44,6 +44,8 @@ $routes->get("user_list/", "Users::index"); $routes->get("user_page/(:any)", "Users::user_page/$1"); $routes->post("user_synchronization", "Users::user_synchronization"); +$routes->get("user_confirmation", "Users::user_confirmation"); + # Books Routes $routes->get("book_list/", "Books::index"); $routes->get("book_page/(:any)", "Books::book_page/$1"); diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php index 00674fd6..81174cc5 100644 --- a/app/Controllers/BaseController.php +++ b/app/Controllers/BaseController.php @@ -61,7 +61,6 @@ abstract class BaseController extends Controller $session_uid = get_logged_user_id('user_id'); $session_uname = get_logged_name('user_name'); - $session_role = get_user_role('user_role'); if(!is_session_active()) { $route = base_url()."login"; return redirect()->route($route); @@ -82,12 +81,12 @@ abstract class BaseController extends Controller echo view('template/topbar.php', $data); echo view($viewpage, $data); echo view('template/footer.php', $data); + // $header = view('template/header.php', $data); // $topbar = view('template/topbar.php', $data); // $content = view($viewpage, $data); // $footer = view('template/footer.php', $data); - - // return $header . $topbar. $content . $footer; + // return $header.$topbar.$content.$footer; } } diff --git a/app/Controllers/Business.php b/app/Controllers/Business.php index dced3b16..1f0332a2 100644 --- a/app/Controllers/Business.php +++ b/app/Controllers/Business.php @@ -17,7 +17,7 @@ class Business extends BaseController $BusinessModel = new BusinessModel(); $data['page_name'] = 'Buiness Listing'; - $data['businesses'] = $BusinessModel->findAll(); + $data['businesses'] = $BusinessModel->where(['isactive'=>1])->findAll(); $this->render_page('business_list', $data); } else { // Session is not active or user is not logged in diff --git a/app/Controllers/Users.php b/app/Controllers/Users.php index ee1df519..0704b434 100755 --- a/app/Controllers/Users.php +++ b/app/Controllers/Users.php @@ -3,6 +3,8 @@ namespace App\Controllers; use App\Models\UsersModel; +use App\Models\BusinessModel; +use CodeIgniter\Files\File; class Users extends BaseController { @@ -10,13 +12,13 @@ class Users extends BaseController public function index() { helper('session'); - $session_role = get_user_role('user_role'); $session_bid = get_business_id('business_id'); - $where = ['users.isactive' => 1]; if (!empty($session_role) && $session_role !== "sadmin") { $where = ['users.business_id' => (int)$session_bid, 'users.isactive' => 1]; + } else { + $where = ['users.isactive !=' => NULL]; } $model = new UsersModel(); $model->setTable('users'); @@ -29,6 +31,8 @@ class Users extends BaseController ## To Load User Add/Update page public function user_page($id) { + helper('session'); + $session_role = get_user_role('user_role'); if ($id === '0') { $data['page_name'] = 'Add User'; $data['details'] = []; @@ -36,12 +40,26 @@ class Users extends BaseController $data['page_name'] = 'Edit User'; $model = new UsersModel(); $model->setTable('users'); - $edit_user_details = $model->where(['user_id' => $id, 'isactive' => 1])->first(); + if (!empty($session_role) && $session_role === "sadmin") { + $where = ['users.user_id' => $id, 'users.isactive !=' => NULL]; + } else { + $where = ['users.user_id' => $id, 'users.isactive =' => 1]; + } + $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; $this->render_page('user_form', $data); } - + ## For SuperAdmin Role business Dropdown displayed on Userpage.otherwise Hidden fields + public function business_details() + { + $model = new BusinessModel(); + $model->setTable('business'); + $business_details = $model->orderBy('business_id', 'DESC')->findAll(); + return $business_details; + } ## To Save/Update User Data on DB. public function user_synchronization() @@ -49,6 +67,43 @@ class Users extends BaseController helper('session'); $session_bid = get_business_id(); $session_uid = get_logged_user_id(); + + $validationRule = [ + 'profile_picture' => [ + 'label' => 'Image File', + 'rules' => [ + 'uploaded[profile_picture]', + 'is_image[profile_picture]', + 'mime_in[profile_picture,image/jpg,image/jpeg,image/gif,image/png,image/webp]', + 'max_size[profile_picture,100]', + 'max_dims[profile_picture,1024,768]', + ], + ], + ]; + + if (! $this->validate($validationRule)) { + $data['success'] = ''; + $data['errors'] = $this->validator->getErrors(); + } + + $img = $this->request->getFile('profile_picture'); + $filePath = WRITEPATH . 'uploads/' . $this->request->getPost('profile_picture'); + + ## File Already Existing or not + if (!is_file($filePath)) { + if (! $img->hasMoved()) { + // $filepath = WRITEPATH . 'uploads/' . $img->store(); + // $data['uploaded_fileinfo'] = new File($filepath); + $fileName = $img->getName(); + $img->move(WRITEPATH . 'uploads', $fileName); + $data['success'] = 'User Profile Uploaded'; + $data['errors'] = ''; + }else{ + $data['success'] = ''; + $data['errors'] = 'The file has already been moved.'; + } + } + $model = new UsersModel(); $model->setTable('users'); if ($this->request->is('post')) { @@ -61,6 +116,8 @@ class Users extends BaseController $requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0; unset($requestData['password']); $model->saveData($requestData, $requestData['user_id']); + $data['success'] = 'User successfully updated.'; + $data['errors'] = ''; $alert_message = "User successfully updated."; } else { #add @@ -69,8 +126,15 @@ class Users extends BaseController $requestData['created_by'] = $session_uid; $requestData['isactive'] = 1; $model->saveData($requestData, null); + $data['success'] = 'User successfully created.'; + $data['errors'] = ''; $alert_message = "User successfully created."; } - return redirect()->route('user_list')->with('success', $alert_message); + // $data['page_name'] = 'User Confirmation'; + // if(!empty($data['success'])){ + // $this->render_page('user_confirmation', $data); + // }else{ + return redirect()->route('user_list'); + // } } } diff --git a/app/Views/setting_form.php b/app/Views/setting_form.php index 7b5935e7..66c256b0 100644 --- a/app/Views/setting_form.php +++ b/app/Views/setting_form.php @@ -20,24 +20,30 @@ +
+
+ + +
+
- +
- +
- +
- +
diff --git a/app/Views/template/header.php b/app/Views/template/header.php index 2e34e841..cca79f69 100644 --- a/app/Views/template/header.php +++ b/app/Views/template/header.php @@ -130,12 +130,14 @@ Books +
  • "> Site Setting
  • +
  • "> @@ -154,8 +156,6 @@ Scheme
  • - -
    diff --git a/app/Views/user_confirmation.php b/app/Views/user_confirmation.php new file mode 100644 index 00000000..37d3fcaa --- /dev/null +++ b/app/Views/user_confirmation.php @@ -0,0 +1,27 @@ +
    +
    +
    +
    + +

    Your file was successfully uploaded!

    + +
      +
    • name: getBasename()) ?>
    • +
    • size: getSizeByUnit('kb')) ?> KB
    • +
    • extension: guessExtension()) ?>
    • +
    + +

    + +
      + +
    • + +
    + + +
    +
    +
    +
    + \ No newline at end of file diff --git a/app/Views/user_form.php b/app/Views/user_form.php index 252775b4..2df5c69c 100644 --- a/app/Views/user_form.php +++ b/app/Views/user_form.php @@ -3,48 +3,54 @@

    -

    - getFlashdata('success')): ?> -
    getFlashdata('success') ?>
    - -
    " method="post"> + + " method="post" enctype="multipart/form-data">
    +
    Please provide.
    +
    Please provide.
    - +
    +
    Please provide.
    - +
    +
    Please provide.
    +
    Please provide.
    +
    Please provide.
    +
    Please provide.
    @@ -55,40 +61,64 @@
    +
    Please provide.
    -
    - - + + +
    + + + +
    Please provide.
    +
    +
    Please provide.
    +
    Please provide.
    +
    Please provide.
    +
    Please provide.
    - - - -
    - > - + +
    +
    + + +
    -
    + + + + + +
    + > + +
    +
    - + " class="btn btn-secondary waves-effect">Cancel +
    @@ -105,4 +136,27 @@
    - \ No newline at end of file + + + + + \ No newline at end of file