diff --git a/app/Controllers/Business.php b/app/Controllers/Business.php index acc7f0b..97b6f0c 100644 --- a/app/Controllers/Business.php +++ b/app/Controllers/Business.php @@ -3,6 +3,7 @@ namespace App\Controllers; use App\Models\BusinessModel; +use CodeIgniter\Database\Exceptions\DatabaseException; class Business extends BaseController { @@ -100,86 +101,99 @@ class Business extends BaseController helper('session'); $session_uid = get_logged_user_id(); $session_role = get_user_role(); - - ## logo - $img = $this->request->getFile('business_logo'); - $filePath = 'public/uploads/' . $this->request->getPost('business_logo'); - $fileName = $img->getName(); - if ($fileName !== "") { - if ($img->isValid() && !$img->hasMoved()) { - $img->move(ROOTPATH . 'public/uploads', $fileName); - } - } - - ## favicon - $favicon = $this->request->getFile('favicon'); - $faviconFileName = $favicon->getName(); - if ($faviconFileName !== "") { - if ($favicon->isValid() && !$favicon->hasMoved()) { - $favicon->move(ROOTPATH . 'public/uploads', $faviconFileName); - } - } - - ## signature - $sign = $this->request->getFile('signature'); - $signFileName = $sign->getName(); - if ($signFileName !== "") { - if ($sign->isValid() && !$sign->hasMoved()) { - $sign->move(ROOTPATH . 'public/uploads', $signFileName); - } - } - - ## Business Data + $panNo = $this->request->getPost('pan_no'); $BusinessModel = new BusinessModel(); - // print_r( $this->request->getPost('currency')); + $businessId = $this->request->getPost('business_id'); - $data = [ - 'title' => $this->request->getPost('bname'), - 'email' => $this->request->getPost('bmail'), - 'mobile_no' => $this->request->getPost('bmobile'), - 'address' => $this->request->getPost('baddress'), - 'city' => $this->request->getPost('bcity'), - 'state' => $this->request->getPost('bstate'), - 'postal_code' => $this->request->getPost('bzip'), - 'pan_no' => $this->request->getPost('pan_no'), - 'org_reg_no' => $this->request->getPost('org_reg_no'), - 'terms' => $this->request->getPost('bterms'), - '80G' => $this->request->getPost('80G'), - '12AA' => $this->request->getPost('12AA'), - '80G_vaildupto' => $this->request->getPost('80G_vaildupto'), - '12AA_vaildupto' => $this->request->getPost('12AA_vaildupto'), - 'site_name' => $this->request->getPost('site_name'), - 'site_title' => $this->request->getPost('site_title'), - 'admin_email' => $this->request->getPost('admin_email'), - 'site_mobile'=> $this->request->getPost('site_mobile'), - 'copyright'=> $this->request->getPost('copyright'), - 'currency'=> serialize($this->request->getPost('currency')), - 'country'=> $this->request->getPost('country'), - 'start_no'=> $this->request->getPost('start_no'), - 'left_pad'=> $this->request->getPost('left_pad'), - 'prefix_format'=> $this->request->getPost('prefix_format'), - ]; - if ($fileName !== "") { - $data['business_logo'] = $fileName; - } - if ($faviconFileName !== "") { - $data['favicon'] = $faviconFileName; - } - if ($signFileName !== "") { - $data['signature'] = $signFileName; + $existingBusiness = $BusinessModel->where('pan_no', $panNo)->first(); + + if ($existingBusiness && $existingBusiness['business_id'] != $businessId) { + // If it exists and it's not the same record being updated, show an error message + session()->setFlashdata('error', 'The PAN number already exists.'); + return redirect()->back()->withInput(); // Redirect back with input data } + try { + ## logo + $img = $this->request->getFile('business_logo'); + $filePath = 'public/uploads/' . $this->request->getPost('business_logo'); + $fileName = $img->getName(); + if ($fileName !== "") { + if ($img->isValid() && !$img->hasMoved()) { + $img->move(ROOTPATH . 'public/uploads', $fileName); + } + } + + ## favicon + $favicon = $this->request->getFile('favicon'); + $faviconFileName = $favicon->getName(); + if ($faviconFileName !== "") { + if ($favicon->isValid() && !$favicon->hasMoved()) { + $favicon->move(ROOTPATH . 'public/uploads', $faviconFileName); + } + } + + ## signature + $sign = $this->request->getFile('signature'); + $signFileName = $sign->getName(); + if ($signFileName !== "") { + if ($sign->isValid() && !$sign->hasMoved()) { + $sign->move(ROOTPATH . 'public/uploads', $signFileName); + } + } + + ## Business Data + // print_r( $this->request->getPost('currency')); + + $data = [ + 'title' => $this->request->getPost('bname'), + 'email' => $this->request->getPost('bmail'), + 'mobile_no' => $this->request->getPost('bmobile'), + 'address' => $this->request->getPost('baddress'), + 'city' => $this->request->getPost('bcity'), + 'state' => $this->request->getPost('bstate'), + 'postal_code' => $this->request->getPost('bzip'), + 'pan_no' => $this->request->getPost('pan_no'), + 'org_reg_no' => $this->request->getPost('org_reg_no'), + 'terms' => $this->request->getPost('bterms'), + '80G' => $this->request->getPost('80G'), + '12AA' => $this->request->getPost('12AA'), + '80G_vaildupto' => $this->request->getPost('80G_vaildupto'), + '12AA_vaildupto' => $this->request->getPost('12AA_vaildupto'), + 'site_name' => $this->request->getPost('site_name'), + 'site_title' => $this->request->getPost('site_title'), + 'admin_email' => $this->request->getPost('admin_email'), + 'site_mobile'=> $this->request->getPost('site_mobile'), + 'copyright'=> $this->request->getPost('copyright'), + 'currency'=> serialize($this->request->getPost('currency')), + 'country'=> $this->request->getPost('country'), + 'start_no'=> $this->request->getPost('start_no'), + 'left_pad'=> $this->request->getPost('left_pad'), + 'prefix_format'=> $this->request->getPost('prefix_format'), + ]; + if ($fileName !== "") { + $data['business_logo'] = $fileName; + } + if ($faviconFileName !== "") { + $data['favicon'] = $faviconFileName; + } + if ($signFileName !== "") { + $data['signature'] = $signFileName; + } + $business_id = $this->request->getPost('business_id'); // Get the business ID for update -// print_r($data);die; + // print_r($data);die; if (empty($business_id)) { // It's an insert operation $data['created_by'] = $session_uid; $businessId = $BusinessModel->insert($data); + session()->setFlashdata('success', 'Organization details have been updated successfully.'); } else { // It's an update operation $businessId = $business_id; $data['updated_by'] = $session_uid; $BusinessModel->update($business_id, $data); + session()->setFlashdata('success', 'Organization details have been updated successfully.'); } ## Donation Business Data (Note: not a super-admin means just updated only) @@ -198,12 +212,14 @@ class Business extends BaseController } if ($session_role === 'sadmin') { - session()->setFlashdata('success', 'organization details has been updated successfully.'); return redirect()->route('org_list'); - }else{ - session()->setFlashdata('success', 'organization details has been updated successfully.'); + } else { return redirect()->to(base_url("new_org/{$business_id}")); } + } catch (DatabaseException $e) { + session()->setFlashdata('error', $e->getMessage()); + return redirect()->back()->withInput(); // Redirect back with input data + } } public function save_business_branch($requestData, $bid) diff --git a/app/Controllers/Customer.php b/app/Controllers/Customer.php index 718e407..3bd09bd 100644 --- a/app/Controllers/Customer.php +++ b/app/Controllers/Customer.php @@ -11,6 +11,7 @@ use PhpOffice\PhpSpreadsheet\Reader\Csv as ReaderCsv; use PhpOffice\PhpSpreadsheet\Reader\Xlsx as ReaderXlsx; use PhpOffice\PhpSpreadsheet\Cell\DataType; use PhpOffice\PhpSpreadsheet\Style\NumberFormat; +use CodeIgniter\Database\Exceptions\DatabaseException; class Customer extends BaseController { @@ -92,7 +93,14 @@ class Customer extends BaseController $session_bid = get_business_id(); $pan = ($this->request->getPost('pan_no') == '') ? $this->request->getPost('o_pan_no') : $this->request->getPost('pan_no'); - + + $existingDonor = $model->where('pan_no', $pan)->first(); + + if ($existingDonor) { + $results = ['status' => false, 'message' => 'The PAN number already exists.','donor_id' => '']; + return $this->response->setJSON(['data' => $results]); + } + try { $data = [ 'first_name' => $this->request->getPost('cfname'), 'mobile_no' => $this->request->getPost('mobile'), @@ -114,7 +122,11 @@ class Customer extends BaseController $donor_where = ['business_id' => (int)get_business_id() , 'isactive' => 1, 'donor_type'=>$this->request->getPost('DonorType')]; $results['donor'] = $model->getData('donor', $donor_where); - return $this->response->setJSON(['data' => $results]); + return $this->response->setJSON(['data' => $results]); + } catch (DatabaseException $e) { + $results = ['status' => false, 'message' => 'could not be added DB Error Occur','donor_id' => '','error'=>$e->getMessage()]; + return $this->response->setJSON(['data' => $results]); + } } public function insert_donor() { diff --git a/app/Controllers/Users.php b/app/Controllers/Users.php index 6e6d1dd..41d5427 100644 --- a/app/Controllers/Users.php +++ b/app/Controllers/Users.php @@ -4,6 +4,7 @@ namespace App\Controllers; use App\Models\UsersModel; use App\Models\BusinessModel; +use CodeIgniter\Database\Exceptions\DatabaseException; class Users extends BaseController { @@ -145,6 +146,7 @@ class Users extends BaseController { $model = new BusinessModel(); $model->setTable('business'); + $organzation_details = $model->orderBy('business_id', 'DESC')->findAll(); // Fetch branches for all organizations diff --git a/app/Views/business_form.php b/app/Views/business_form.php index c559221..1414ede 100644 --- a/app/Views/business_form.php +++ b/app/Views/business_form.php @@ -35,6 +35,7 @@
+ getFlashdata('success') || session()->getFlashdata('error')) : ?> getFlashdata('success')) : ?>