diff --git a/application/config/database.php b/application/config/database.php index 44cb512c..8e493c59 100755 --- a/application/config/database.php +++ b/application/config/database.php @@ -79,7 +79,6 @@ $db['default'] = array( 'username' => 'root', 'password' => '@iLink@2025', 'database' => 'iLink_preprod', - 'database' => 'iLink_world', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, diff --git a/application/controllers/Gestion.php b/application/controllers/Gestion.php index 58d31a65..8ec647aa 100755 --- a/application/controllers/Gestion.php +++ b/application/controllers/Gestion.php @@ -2596,6 +2596,9 @@ class Gestion extends CI_Controller } unset($data['id']); // on retire l'id pour éviter un update + if(isset($data['type'])){ + unset($data['type']); + } $response = $this->user_model->updateInfoAgency($id, $data); if($response) { @@ -2719,49 +2722,39 @@ class Gestion extends CI_Controller if ($this->isLogged()) { $id = $this->input->post('id_transaction'); $iban = $this->input->post('iban'); - $code_client = $this->input->post('code_client'); - $updateLocal = $this->user_model->updateLinkStatus($id, 1); - log_message('info', 'Validation Rattachement ID: ' . $id); + // Appel API + $url = WALLET_SERVICE_URL . '/wallets/users/validate_link_user_bank_account'; + + + $body = [ + 'iban' => $iban, + 'id_transaction' => $id + ]; - if ($updateLocal) { - - // Appel API - $url = WALLET_SERVICE_URL . '/validate_link_user_bank_account'; - - - $body = [ - 'iban' => $iban, - 'code_client' => $code_client, - 'id_transaction' => $id - ]; + $payload = json_encode($body); + + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); + curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($payload), + 'Authorization: ' . WALLET_SERVICE_TOKEN, + 'X-localization: ' . ($this->session->userdata('site_lang') == 'french' ? 'fr' : 'en') + )); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - $payload = json_encode($body); - - $ch = curl_init($url); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); - curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); - curl_setopt($ch, CURLOPT_HTTPHEADER, array( - 'Content-Type: application/json', - 'Content-Length: ' . strlen($payload), - 'Authorization: ' . WALLET_SERVICE_TOKEN, - 'X-localization: ' . ($this->session->userdata('site_lang') == 'french' ? 'fr' : 'en') - )); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $result = curl_exec($ch); + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); - $result = curl_exec($ch); - $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); - curl_close($ch); - - if ($result && ($httpCode >= 200 && $httpCode < 300)) { - echo json_encode(['success' => 'ok', 'message' => 'Rattachement validé avec succès.']); - } else { - log_message('error', 'Erreur API Link ID '.$id.' : '.$result); - echo json_encode(['success' => 'false', 'message' => 'Erreur API (' . $httpCode . ')', 'api_error' => $result]); - } + if ($result && ($httpCode >= 200 && $httpCode < 300)) { + echo json_encode(['success' => 'ok', 'message' => 'Rattachement validé avec succès.']); } else { - echo json_encode(['success' => 'false', 'message' => 'Erreur DB Locale']); - } + log_message('error', 'Erreur API Link ID '.$id.' : '.$result); + echo json_encode(['success' => 'false', 'message' => 'Erreur API (' . $httpCode . ')', 'api_error' => $result]); + } json_encode(['success' => 'false', 'message' => 'Erreur DB Locale']); } } diff --git a/application/language/english/message_lang.php b/application/language/english/message_lang.php index 9f58ac0a..dd36dc45 100755 --- a/application/language/english/message_lang.php +++ b/application/language/english/message_lang.php @@ -1103,10 +1103,110 @@ $lang['status_validated'] = 'Validated'; $lang['subscriptions_history'] = "Subscription history"; $lang["list_of_request_opening_bank_accounts"] = "List of bank account opening requests"; $lang["product"] = "Product"; + + +// Agency & Banking Management +$lang['page_title_agency'] = 'Agency | Banking Management'; +$lang['management_bank_accounts'] = 'Bank Account Management'; + +// Tables +$lang['list_of_request_opening_bank_accounts'] = 'List of Bank Account Opening Requests'; +$lang['title_link_requests'] = 'Account Linking Requests (Banking)'; +$lang['account_number'] = 'Account Number'; +$lang['account_type'] = 'Account Type'; +$lang['creation_date'] = 'Creation Date'; + +// Link Fields +$lang['full_name'] = 'Full Name'; +$lang['user_code'] = 'User Code'; +$lang['client'] = 'Client'; +$lang['bank_name'] = 'Bank Name'; +$lang['iban_account'] = 'IBAN / Account'; +$lang['iban_account_number'] = 'IBAN / Account Number'; +$lang['iban_card_number'] = 'IBAN / Card Number'; +$lang['client_code'] = 'Client Code'; +$lang['wallet_user_code'] = 'User Wallet Code'; +$lang['bank_address'] = 'Bank Address'; +$lang['request_date'] = 'Request Date'; +$lang['current_status'] = 'Current Status'; + +// Extra Info +$lang['niu'] = 'NIU'; +$lang['id_document'] = 'ID Document'; +$lang['identification_number'] = 'Identification Number'; +$lang['profession'] = 'Profession'; +$lang['employer_name'] = 'Employer Name'; +$lang['employer_address'] = 'Employer Address'; +$lang['employer_city'] = 'Employer City'; + +// Modals & Sections +$lang['modal_title_review_account'] = 'Verify Account Opening Request'; +$lang['modal_title_review_link'] = 'Verify Account Linking Request Info'; +$lang['modal_title_edit_request'] = 'Edit Request'; +$lang['modal_title_edit_link'] = 'Edit Linking Request'; +$lang['modal_title_confirm_delete'] = 'Confirmation'; +$lang['section_personal_info'] = 'Personal Information'; +$lang['section_identity_docs'] = 'Supporting Documents (ID)'; +$lang['section_account_details'] = 'Account Details'; +$lang['section_professional_info'] = 'Professional Information'; +$lang['section_client_info'] = 'Client Information'; +$lang['section_bank_info'] = 'Bank & Account Information'; +$lang['doc_recto'] = 'Front'; +$lang['doc_verso'] = 'Back'; + +// Status $lang["status_actived"] = "Actived"; $lang["status_rejected"] = "Rejected"; $lang["status_validated"] = "Validated"; $lang["status_close"] = "Closed"; $lang["status_closed"] = "Closed"; -$lang["status_pernding"]= "Pending"; +$lang["status_pending"]= "Pending"; +$lang['status_single'] = 'Single'; +$lang['status_married'] = 'Married'; +$lang['status_widowed'] = 'Widowed'; +$lang['status_divorced'] = 'Divorced'; + +// Labels +$lang['account_status'] = 'Account Status'; +$lang['reject_reason_placeholder'] = 'Please explain the reason for rejection (Ex: Unreadable document, Incorrect ID...)'; + +// Buttons +$lang['btn_verify'] = 'Verify'; +$lang['btn_verify_link'] = 'Verify Link'; +$lang['btn_edit'] = 'Edit'; +$lang['btn_delete'] = 'Delete'; +$lang['btn_close'] = 'Close'; +$lang['btn_cancel'] = 'Cancel'; +$lang['btn_save'] = 'Save'; +$lang['btn_validate'] = 'VALIDATE'; +$lang['btn_reject'] = 'REJECT'; +$lang['btn_confirm_reject'] = 'Confirm Rejection'; +$lang['btn_yes_delete'] = 'Yes, delete'; +$lang['btn_no'] = 'No'; +$lang['export_excel'] = 'Export to Excel'; +$lang['export_csv'] = 'Export to CSV'; +$lang['export_pdf'] = 'Export to PDF'; + +// JS Messages / Alerts +$lang['msg_confirm_delete_account'] = 'Do you really want to delete this account?'; +$lang['msg_confirm_delete_link'] = 'Do you really want to delete this linking request?'; +$lang['msg_already_active'] = 'Already Active'; +$lang['msg_already_validated'] = 'Already Validated'; +$lang['msg_no_document'] = 'No document'; +$lang['msg_enter_reject_reason'] = 'Please enter a reason for rejection.'; +$lang['msg_request_validated_success'] = 'Request validated successfully!'; +$lang['msg_request_rejected_success'] = 'Request rejected successfully.'; +$lang['msg_link_rejected'] = 'Request rejected'; +$lang['msg_confirm_reject_link'] = 'Reject this request?'; +$lang['msg_changes_saved'] = 'Changes saved'; +$lang['msg_delete_success'] = 'Deletion successful'; +$lang['processing'] = 'Processing...'; +$lang['error_update_generic'] = 'Error during update'; +$lang['error_server_500'] = 'Server Error (500)'; +$lang['error_validate_generic'] = 'Error during validation.'; +$lang['error_validate_server'] = 'Server Error (500) during validation.'; +$lang['error_reject_generic'] = 'Error during rejection.'; +$lang['error_delete_generic'] = 'Error during deletion'; + + ?> diff --git a/application/language/french/message_lang.php b/application/language/french/message_lang.php index 2e55d6d2..f5155425 100755 --- a/application/language/french/message_lang.php +++ b/application/language/french/message_lang.php @@ -1110,11 +1110,109 @@ $lang['status_rejected'] = 'Rejeté'; $lang['status_validated'] = 'Validé'; $lang['subscriptions_history'] = 'Historique des souscriptions'; $lang["product"] = "Produit"; + + +// Gestion Agence & Rattachement +$lang['page_title_agency'] = 'Agence | Gestion Bancaire'; +$lang['management_bank_accounts'] = 'Gestion des Comptes Bancaires'; + +// Tableaux +$lang['list_of_request_opening_bank_accounts'] = 'Liste des demandes d\'ouverture de comptes'; +$lang['title_link_requests'] = 'Demandes de Rattachement (Comptes Bancaires)'; +$lang['account_number'] = 'Numéro de compte'; +$lang['account_type'] = 'Type de compte'; +$lang['creation_date'] = 'Date de création'; + +// Champs Rattachement +$lang['full_name'] = 'Nom complet'; +$lang['user_code'] = 'User Code'; +$lang['client'] = 'Client'; +$lang['bank_name'] = 'Nom de la Banque'; +$lang['iban_account'] = 'IBAN / Compte'; +$lang['iban_account_number'] = 'IBAN / Numéro de compte'; +$lang['iban_card_number'] = 'IBAN / Numéro Identité'; +$lang['client_code'] = 'Code client'; +$lang['wallet_user_code'] = 'Code wallet Utilisateur'; +$lang['email'] = 'Email'; +$lang['bank_address'] = 'Adresse Banque'; +$lang['request_date'] = 'Date Demande'; +$lang['current_status'] = 'Statut Actuel'; + +// Infos perso supplémentaires +$lang['niu'] = 'NIU'; +$lang['id_document'] = 'Pièce d\'identité'; +$lang['identification_number'] = 'Numéro d\'identification'; +$lang['employer_name'] = 'Nom de l\'employeur'; +$lang['employer_address'] = 'Adresse de l\'employeur'; +$lang['employer_city'] = 'Ville de l\'employeur'; + +// Titres Modals et Sections +$lang['modal_title_review_account'] = 'Vérification de la demande d\'ouverture de compte'; +$lang['modal_title_review_link'] = 'Vérification des informations de la demande de rattachement de compte'; +$lang['modal_title_edit_request'] = 'Modifier la demande'; +$lang['modal_title_edit_link'] = 'Modifier la demande de rattachement'; +$lang['modal_title_confirm_delete'] = 'Confirmation'; +$lang['section_personal_info'] = 'Informations Personnelles'; +$lang['section_identity_docs'] = 'Pièces Justificatives (Identité)'; +$lang['section_account_details'] = 'Détails du Compte'; +$lang['section_professional_info'] = 'Informations Professionnelles'; +$lang['section_client_info'] = 'Information du Client'; +$lang['section_bank_info'] = 'Information Banque & Compte'; +$lang['doc_recto'] = 'Recto'; +$lang['doc_verso'] = 'Verso'; + +// Status +$lang['status_pending'] = 'En attente'; $lang["status_actived"] = "Activé"; $lang["status_rejected"] = "Rejété"; $lang["status_validated"] = "Validé"; $lang["status_close"] = "Fermé"; $lang["status_closed"] = "Fermé"; -$lang["status_pernding"]= "En cours"; +$lang['status_single'] = 'Célibataire'; +$lang['status_married'] = 'Marié'; +$lang['status_widowed'] = 'Veuf'; +$lang['status_divorced'] = 'Divorcé'; + +// Labels +$lang['account_status'] = 'Statut du compte'; +$lang['reject_reason_placeholder'] = 'Veuillez expliquer la raison du rejet (Ex: Document illisible, ID incorrect...)'; + +// Boutons +$lang['btn_verify'] = 'Vérifier'; +$lang['btn_verify_link'] = 'Vérifier le rattachement'; +$lang['btn_edit'] = 'Modifier'; +$lang['btn_delete'] = 'Supprimer'; +$lang['btn_close'] = 'Fermer'; +$lang['btn_cancel'] = 'Annuler'; +$lang['btn_save'] = 'Enregistrer'; +$lang['btn_validate'] = 'VALIDER'; +$lang['btn_reject'] = 'REJETER'; +$lang['btn_confirm_reject'] = 'Confirmer le rejet'; +$lang['btn_yes_delete'] = 'Oui, supprimer'; +$lang['btn_no'] = 'Non'; +$lang['export_excel'] = 'Exporter en Excel'; +$lang['export_csv'] = 'Exporter en CSV'; +$lang['export_pdf'] = 'Exporter en PDF'; + +// Messages JS / Alerts +$lang['msg_confirm_delete_account'] = 'Voulez-vous vraiment supprimer ce compte ?'; +$lang['msg_confirm_delete_link'] = 'Voulez-vous vraiment supprimer cette demande de rattachement ?'; +$lang['msg_already_active'] = 'Déjà Actif'; +$lang['msg_already_validated'] = 'Déjà Validé'; +$lang['msg_no_document'] = 'Aucun document'; +$lang['msg_enter_reject_reason'] = 'Veuillez saisir un motif pour le rejet.'; +$lang['msg_request_validated_success'] = 'Demande validée avec succès !'; +$lang['msg_request_rejected_success'] = 'Demande rejetée avec succès.'; +$lang['msg_link_rejected'] = 'Demande rejetée'; +$lang['msg_confirm_reject_link'] = 'Rejeter cette demande ?'; +$lang['msg_changes_saved'] = 'Modifications enregistrées'; +$lang['msg_delete_success'] = 'Suppression réussie'; +$lang['processing'] = 'Traitement...'; +$lang['error_update_generic'] = 'Erreur lors de la mise à jour'; +$lang['error_server_500'] = 'Erreur serveur (500)'; +$lang['error_validate_generic'] = 'Erreur lors de la validation.'; +$lang['error_validate_server'] = 'Erreur serveur (500) lors de la validation.'; +$lang['error_reject_generic'] = 'Erreur lors du rejet.'; +$lang['error_delete_generic'] = 'Erreur lors de la suppression'; ?> diff --git a/application/models/User_model.php b/application/models/User_model.php index 44f2b9db..8a6b7252 100755 --- a/application/models/User_model.php +++ b/application/models/User_model.php @@ -2374,7 +2374,6 @@ class User_model extends CI_Model u.phone, op.nom as bank_name, opc.adresse as bank_address, - uba.customer_number as code_client '); $this->db->from('users_banking_account_verification v'); @@ -2382,7 +2381,6 @@ class User_model extends CI_Model $this->db->join('operators_countries opc', 'opc.id = v.id_bank_country', 'left'); $this->db->join('operators op', 'op.id = opc.id_operator', 'left'); - $this->db->join('user_bank_accounts uba', 'uba.id_user = u.id', 'left'); $this->db->order_by('v.created_at', 'ASC'); @@ -2397,11 +2395,6 @@ class User_model extends CI_Model /* GESTION DES RATTACHEMENTS */ - public function updateLinkStatus($id, $status) { - $this->db->where('id_transaction', $id); - return $this->db->update('users_banking_account_verification', ['is_verified' => $status]); - } - public function updateLinkRequest($id, $data) { $this->db->where('id_transaction', $id); return $this->db->update('users_banking_account_verification', $data); diff --git a/application/views/gestion_agency_banking.php b/application/views/gestion_agency_banking.php index e20fcfcc..db3fa3af 100755 --- a/application/views/gestion_agency_banking.php +++ b/application/views/gestion_agency_banking.php @@ -3,7 +3,7 @@ - Agency | Banking Management + <?= $this->lang->line('page_title_agency'); ?> @@ -51,7 +51,7 @@ lang->line('lastname'); ?> lang->line('firstname'); ?> lang->line('account'); ?> - IBAN + Iban Type lang->line('nationality'); ?> lang->line('birth_date'); ?> @@ -90,7 +90,7 @@ class="open-review-modal btn btn-info btn-sm" data-toggle="modal" data-target="#reviewModal" - title="Vérifier" + title="lang->line('btn_verify'); ?>" data-id="id ?>" data-lastname="lastname ?>" data-firstname="firstname ?>" @@ -126,7 +126,7 @@ data-toggle="modal" data-target="#editModal" class="open-edit-modal btn btn-primary btn-sm" - + title="lang->line('btn_edit'); ?>" data-id="id ?>" data-lastname="lastname ?>" data-firstname="firstname ?>" @@ -155,7 +155,7 @@ - @@ -172,7 +172,7 @@ ======================================================= -->
-

Demandes de Rattachement (Comptes Bancaires)

+

lang->line('title_link_requests'); ?>

@@ -183,13 +183,12 @@ ID - Nom complet - User Code - Client - Téléphone - Banque - IBAN / Compte - Code client + lang->line('full_name'); ?> + lang->line('user_code'); ?> + lang->line('client'); ?> + lang->line('phone_number'); ?> + lang->line('bank_name'); ?> + lang->line('iban_account'); ?> lang->line('status'); ?> Actions @@ -217,7 +216,6 @@ bank_address, 0, 20) ?>... iban ?> - code_client) ? $l->code_client : '-'; ?> lang) ?> @@ -226,7 +224,7 @@ class="open-link-review-modal btn btn-info btn-sm" data-toggle="modal" data-target="#reviewLinkModal" - title="Vérifier le rattachement" + title="lang->line('btn_verify_link'); ?>" data-id="id_transaction ?>" data-user_code="user_code ?>" data-fullname="lastname . ' ' . $l->firstname ?>" @@ -235,7 +233,6 @@ data-bank_name="bank_name ?>" data-bank_address="bank_address ?>" data-iban="iban ?>" - data-code_client="code_client ?>" data-status="" data-created_at="created_at ?>" > @@ -246,10 +243,9 @@ class="open-edit-link-modal btn btn-primary btn-sm" data-toggle="modal" data-target="#editLinkModal" - title="Modifier" + title="lang->line('btn_edit'); ?>" data-id="id_transaction ?>" data-iban="iban ?>" - data-code_client="code_client ?>" data-bank_name="bank_name ?>" data-status="is_verified ?>" > @@ -257,7 +253,7 @@ - @@ -278,40 +274,35 @@
@@ -323,15 +314,15 @@
@@ -345,7 +336,7 @@