diff --git a/app/Config/Routes.php b/app/Config/Routes.php index dc1f5c72..aa9b6709 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -41,14 +41,18 @@ $routes->get('dashboard/', 'Home::index'); # Users Routes $routes->get("user_list/", "Users::index"); -// $routes->get('user-list/', 'Users::index', ['as' => 'user_list']); $routes->get("user_page/(:any)", "Users::user_page/$1"); $routes->post("user_synchronization", "Users::user_synchronization"); # Books Routes $routes->get("book_list/", "Books::index"); -$routes->get("add_book/", "Books::add_book"); -$routes->get("edit_book/", "Books::edit_book"); +$routes->get("book_page/(:any)", "Books::book_page/$1"); +$routes->post("book_synchronization", "Books::book_synchronization"); + +# Site-Setting Routes +$routes->get("sitesetting_list/", "Settings::index"); +$routes->get("sitesetting_page/(:any)", "Settings::sitesetting_page/$1"); +$routes->post("sitesetting_synchronization", "Settings::sitesetting_synchronization"); # Business Routes $routes->get("business_list/", "Business::index"); diff --git a/app/Controllers/Books.php b/app/Controllers/Books.php index c932d277..bcde13ae 100755 --- a/app/Controllers/Books.php +++ b/app/Controllers/Books.php @@ -23,4 +23,47 @@ class Books extends BaseController $data['details'] = $book_details; $this->render_page('book_list', $data); } + + ## To Load Book Add/Update page + public function book_page($id) + { + if ($id === '0') { + $data['page_name'] = 'Add Book'; + $data['details'] = []; + } else if ($id !== '0') { + $data['page_name'] = 'Edit Book'; + $model = new BooksModel(); + $model->setTable('books'); + $details = $model->where(['book_id' => $id, 'isactive' => 1])->first(); + $data['details'] = $details; + } + $this->render_page('book_form', $data); + } + + + ## To Save/Update Book Data on DB. + public function book_synchronization() + { + $session = \Config\Services::session(); + $model = new BooksModel(); + $model->setTable('books'); + if ($this->request->is('post')) { + $requestData = $this->request->getVar(); + } + $requestData['business_id'] = $session->get('business_id'); + if ($requestData['user_id']) { + #edit + $requestData['updated_by'] = $session->get('book_id'); + $requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0; + $model->saveData($requestData, $requestData['user_id']); + $alert_message = "Book details successfully updated."; + } else { + #add + $requestData['created_by'] = $session->get('user_id'); + $requestData['isactive'] = 1; + $model->saveData($requestData, null); + $alert_message = "Book details successfully created."; + } + return redirect()->route('user_list')->with('success', $alert_message); + } } diff --git a/app/Controllers/Settings.php b/app/Controllers/Settings.php new file mode 100755 index 00000000..e3ca2789 --- /dev/null +++ b/app/Controllers/Settings.php @@ -0,0 +1,70 @@ +get('user_role'); + $session_bid = $session->get('business_id'); + $where = ['settings.isactive' => 1]; + if (!empty($session_role) && $session_role !== "sadmin") { + $where = ['settings.business_id' => $session_bid, 'settings.isactive' => 1]; + } + + $model = new SettingsModel(); + $model->setTable('settings'); + $sitesetting_details = $model->where($where)->orderBy('setting_id', 'DESC')->findAll(); + $data['page_name'] = 'Site Settings Details'; + $data['details'] = $sitesetting_details; + $data['session_role'] = $session_role; + $this->render_page('setting_list', $data); + } + + ## To Load Settings Add/Update page + public function sitesetting_page($id) + { + if ($id === '0') { + $data['page_name'] = 'Add Site Settings'; + $data['details'] = []; + } else if ($id !== '0') { + $data['page_name'] = 'Edit Site Settings'; + $model = new SettingsModel(); + $model->setTable('settings'); + $details = $model->where(['setting_id' => $id, 'isactive' => 1])->first(); + $data['details'] = $details; + } + $this->render_page('setting_form', $data); + } + + + ## To Save/Update Setting Data on DB. + public function sitesetting_synchronization() + { + $session = \Config\Services::session(); + $model = new SettingsModel(); + $model->setTable('settings'); + if ($this->request->is('post')) { + $requestData = $this->request->getVar(); + } + $requestData['business_id'] = $session->get('business_id'); + if ($requestData['user_id']) { + #edit + $requestData['updated_by'] = $session->get('book_id'); + $requestData['isactive'] = isset($requestData['isactive']) && $requestData['isactive'] == 'on' ? 1 : 0; + $model->saveData($requestData, $requestData['user_id']); + $alert_message = "Site Settings details successfully updated."; + } else { + #add + $requestData['created_by'] = $session->get('user_id'); + $requestData['isactive'] = 1; + $model->saveData($requestData, null); + $alert_message = "Site Settings details successfully created."; + } + return redirect()->route('setting_list')->with('success', $alert_message); + } +} diff --git a/app/Controllers/Users.php b/app/Controllers/Users.php index 1c3586f0..b73a5217 100755 --- a/app/Controllers/Users.php +++ b/app/Controllers/Users.php @@ -38,7 +38,7 @@ class Users extends BaseController $edit_user_details = $model->where(['user_id' => $id, 'isactive' => 1])->first(); $data['details'] = $edit_user_details; } - $this->render_page('user', $data); + $this->render_page('user_form', $data); } diff --git a/app/Models/SettingsModel.php b/app/Models/SettingsModel.php new file mode 100644 index 00000000..b801f2e4 --- /dev/null +++ b/app/Models/SettingsModel.php @@ -0,0 +1,22 @@ +insert($data); + } else { + // Update existing record + return $this->update($id, $data); + } + } + +} + diff --git a/app/Views/book_form.php b/app/Views/book_form.php new file mode 100644 index 00000000..b976378c --- /dev/null +++ b/app/Views/book_form.php @@ -0,0 +1,82 @@ +
+ getFlashdata('success')): ?> +
+ + getFlashdata('success')): ?> +