diff --git a/application/controllers/Gestion.php b/application/controllers/Gestion.php index 636bb726..a32bcabd 100755 --- a/application/controllers/Gestion.php +++ b/application/controllers/Gestion.php @@ -1590,6 +1590,16 @@ class Gestion extends CI_Controller // $this->insertPalier($plr_bank_user_cart_cash_international, "bank_user_cart_cash_international", $idConfig ,'paliers_commissions_wallet'); $this->insertPalier($plr_bank_user_cart_cash_national, "bank_user_cart_cash_national", $idConfig,'paliers_commissions_wallet'); + break; + case 'user_cart_autre_wallet': + $plr_user_cart_autre_wallet_national = $_POST['plr_user_cart_autre_wallet_national'] ?? null; + $plr_bank_user_cart_autre_wallet_national = $_POST['plr_bank_user_cart_autre_wallet_national'] ?? null; + $plr_user_cart_autre_wallet_international = $_POST['plr_user_cart_autre_wallet_international'] ?? null; + $plr_bank_user_cart_autre_wallet_international = $_POST['plr_bank_user_cart_autre_wallet_international'] ?? null; + $this->insertPalier($plr_user_cart_autre_wallet_national, "user_cart_autre_wallet_national", $idConfig,'paliers_commissions_wallet'); + $this->insertPalier($plr_bank_user_cart_autre_wallet_national, "bank_user_cart_autre_wallet_national", $idConfig ,'paliers_commissions_wallet'); + $this->insertPalier($plr_user_cart_autre_wallet_international, "user_cart_autre_wallet_international", $idConfig,'paliers_commissions_wallet'); + $this->insertPalier($plr_bank_user_cart_autre_wallet_international, "bank_user_cart_autre_wallet_international", $idConfig ,'paliers_commissions_wallet'); break; case 'agent_remove_cash': $plr_agent_wallet_cash_national = $_POST['plr_agent_wallet_cash_national'] ?? null; @@ -1922,8 +1932,6 @@ class Gestion extends CI_Controller $string = file_get_contents("https://openexchangerates.org/api/latest.json?app_id=$api"); $json = json_decode($string, true); - $res = false; - foreach ($json['rates'] as $key => $value) { if ($this->wallet_model->getExchangeRate($key)) $this->wallet_model->updateExchangeRate($key, $value); @@ -1932,9 +1940,9 @@ class Gestion extends CI_Controller } $res = true; if ($res) { - echo json_encode("200"); + echo json_encode(200); } else { - echo json_encode("500"); + echo json_encode(500); } @@ -2484,7 +2492,10 @@ class Gestion extends CI_Controller if ($this->isLogged()) { $data['active'] = "aggregators"; $data['alert'] = ""; - $data['aggregators'] = $this->db->get_where('payment_aggregators'); + $data['aggregators'] = $this->db->get_where('payment_aggregators')->result() ?? []; + foreach ($data['aggregators'] as $i => $aggregator){ + $data['aggregators'][$i]->rates = $this->db->get_where('payment_aggregator_rates',['aggregator_id' => $aggregator->id])->result(); + } // $data['pays'] = $this->user_model->getAllPays(); $data['game_pays'] = $this->user_model->getGameCountry(); $this->load->view('header_gestion', $data); diff --git a/application/controllers/Hyperviseur_dash.php b/application/controllers/Hyperviseur_dash.php index 09661dd5..46d21d16 100755 --- a/application/controllers/Hyperviseur_dash.php +++ b/application/controllers/Hyperviseur_dash.php @@ -1447,6 +1447,16 @@ class Hyperviseur_dash extends CI_Controller $this->load->view('header_hyp', $data); $this->load->view('config_wallet_ilink_hyp/user_carte_wallet'); break; + case 'user_cart_autre_wallet': + $data['plr_user_cart_autre_wallet_national'] = $this->wallet_model->getPalierCommissionsWallet("user_cart_autre_wallet_national", $data['idConfig']); + $data['plr_user_cart_autre_wallet_international'] = $this->wallet_model->getPalierCommissionsWallet("user_cart_autre_wallet_international", $data['idConfig']); + + $data['plr_bank_user_cart_autre_wallet_national'] = $this->wallet_model->getPalierCommissionsWallet("bank_user_cart_autre_wallet_national", $data['idConfig']); + $data['plr_bank_user_cart_autre_wallet_international'] = $this->wallet_model->getPalierCommissionsWallet("bank_user_cart_autre_wallet_international", $data['idConfig']); + + $this->load->view('header_hyp', $data); + $this->load->view('config_wallet_ilink_hyp/user_carte_autre_wallet'); + break; case 'agent_remove_cash': $data['plr_agent_wallet_cash_national'] = $this->wallet_model->getPalierCommissionsWallet("agent_wallet_cash_national", $data['idConfig']); $data['plr_agent_wallet_cash_international'] = $this->wallet_model->getPalierCommissionsWallet("agent_wallet_cash_international", $data['idConfig']); @@ -2168,7 +2178,7 @@ class Hyperviseur_dash extends CI_Controller $data = array_map(function ($document) use($id){ $row = []; $row['name'] = $document[0]; - $row['description'] = $document[0]; + $row['description'] = $document[1]; $row['account_type_id'] = $id; return $row; },$documents); @@ -2190,6 +2200,7 @@ class Hyperviseur_dash extends CI_Controller if($this->isLogged()) { if (isset($_POST)) { $this->db->delete('customer_account_types', ['id' => $_POST['id']]); + $this->db->delete('customer_account_type_documents', ['account_type_id' => $_POST['id']]); echo json_encode(['code' => 200]); } } diff --git a/application/controllers/PaymentController.php b/application/controllers/PaymentController.php index 4724b2d6..62ba3fea 100644 --- a/application/controllers/PaymentController.php +++ b/application/controllers/PaymentController.php @@ -7,35 +7,51 @@ class PaymentController extends CI_Controller parent::__construct(); } - public function createPaymentAggregator() - { + + public function storePaymentAggregator(){ if($this->isLogged()) { if (isset($_POST)) { - $emailExist = $this->db->get_where('payment_aggregators', ['email' => $_POST['email']]); - if ($emailExist->num_rows() == 0) { + $id = $_POST['id'] ?? null ; + + $exist = $this->db->get_where('payment_aggregators', ['id !=' => $id , 'name' => $_POST['name']]); + if ($exist->num_rows() == 0) { + foreach ($_POST as $key => $value){ + if(empty($value)){ + $_POST[$key] = null; + } + } $_POST['created_at'] = (new DateTime())->format('Y-m-d H:i:s'); $_POST['updated_at'] = (new DateTime())->format('Y-m-d H:i:s'); - $this->db->insert('payment_aggregators', $_POST); + if(!empty($id)){ + $rates = $_POST['rates'] ?? [] ; + unset($_POST['rates']); + $this->db->where('id',$id); + $this->db->update('payment_aggregators',$_POST); + $this->db->delete('payment_aggregator_rates',['aggregator_id' => $id]); + if(sizeof($rates) > 0){ + $data = array_map(function ($rate) use($id){ + $row = []; + $row['country'] = $rate[0]; + $row['type'] = $rate[1]; + $row['method'] = $rate[2]; + $row['channel'] = $rate[3]; + $row['rate'] = $rate[4]; + $row['fixed_fees'] = $rate[5]; + $row['fixed_fees_currency'] = $rate[6]; + $row['aggregator_id'] = $id; + $row['created_at'] = (new DateTime())->format('Y-m-d H:i:s'); + $row['updated_at'] = (new DateTime())->format('Y-m-d H:i:s'); + return $row; + },$rates); + $this->db->insert_batch('payment_aggregator_rates',$data); + } + }else{ + $this->db->insert('payment_aggregators',$_POST); + } echo json_encode(['code' => 200]); - } else { - echo json_encode(['code'=> 419 , 'message' => $this->lang->line("L'email entré est déjà utilisé")]); - } - } - } - } - public function updatePaymentAggregator() - { - if($this->isLogged()) { - if (isset($_POST)) { - $emailExist = $this->db->get_where('payment_aggregators', ['id !=' => $_POST['id'], 'email' => $_POST['email']]); - if ($emailExist->num_rows() == 0) { - $_POST['updated_at'] = (new DateTime())->format('Y-m-d H:i:s'); - $this->db->where('id',$_POST['id']); - $this->db->update('payment_aggregators',$_POST); - echo json_encode(['code' => 200]); }else{ - echo json_encode(['code'=> 419 , 'message' => $this->lang->line("L'email entré est déjà utilisé")]); + echo json_encode(['code'=> 419 , 'message' => $this->lang->line("name_already_used")]); } } } @@ -45,6 +61,7 @@ class PaymentController extends CI_Controller if($this->isLogged()) { if (isset($_POST)) { $this->db->delete('payment_aggregators', ['id' => $_POST['id']]); + $this->db->delete('payment_aggregator_rates', ['aggregator_id' => $_POST['id']]); echo json_encode(['code' => 200]); } } diff --git a/application/language/english/message_lang.php b/application/language/english/message_lang.php index e9017758..99826eb9 100755 --- a/application/language/english/message_lang.php +++ b/application/language/english/message_lang.php @@ -363,7 +363,12 @@ $lang['rate_com_hyp_send_wallet_cart_ilink_national'] = "Hypervisor commission r $lang['rate_com_hyp_send_wallet_cart_ilink_international'] = "Hypervisor commission rate on wallet-to-card transaction for iLink international user"; $lang['rate_com_bq_send_wallet_cart_ilink_national'] = "Bank commission rate on wallet-to-card transaction for national iLink user"; $lang['rate_com_bq_send_wallet_cart_ilink_international'] = "Bank commission rate on wallet-to-card transaction for iLink international user"; - +$lang['rate_com_user_cart_autre_wallet_national'] = "Customer commission rate for sending a card to another national wallet"; +$lang['config_ilink_user_cart_autre_wallet'] = 'Card withdrawal to another wallet'; +$lang['rate_com_user_cart_autre_wallet_international'] = 'Customer commission rate on international money withdrawal operation'; +$lang['rate_com_user_cart_autre_wallet_national'] = "Customer commission rate for national money withdrawal operations"; +$lang['rate_com_bank_user_cart_autre_wallet_international'] = "Bank commission rate for international money withdrawal operations"; +$lang['rate_com_bank_user_cart_autre_wallet_national'] = "Bank commission rate for national money withdrawal operations"; // Currency management $lang ['currency'] = 'Currency'; @@ -1052,5 +1057,9 @@ $lang['opening_account_request_more_information'] = "The request to open an acco $lang['payment_period_days'] = "Payment period (in days)"; $lang['required_payment_period_days'] = "Payment period is required"; $lang['ACCEPTED_UNPAID'] = "Accepted unpaid"; -$lang['ACCEPTED_PAID'] = "Accepted paid" +$lang['ACCEPTED_PAID'] = "Accepted paid"; +$lang['fixed_fees'] = "Fixed expenses"; +$lang['fixed_fees_currency'] = "Fixed fee currency"; +$lang['add_rate'] = "Add a rate"; +$lang['channel'] = "Channel/Réseau"; ?> diff --git a/application/language/french/message_lang.php b/application/language/french/message_lang.php index 53bf5bc6..e058af86 100755 --- a/application/language/french/message_lang.php +++ b/application/language/french/message_lang.php @@ -375,7 +375,12 @@ $lang['rate_com_hyp_send_wallet_cart_ilink_international'] = "Taux de commission hyperviseur sur operation d'envoi de wallet vers carte pour utilisateur iLink international"; $lang['rate_com_bq_send_wallet_cart_ilink_national'] = "Taux de commission banque sur operation d'envoi de wallet vers carte pour utilisateur iLink national"; $lang['rate_com_bq_send_wallet_cart_ilink_international'] = "Taux de commission banque sur operation d'envoi de wallet vers carte pour utilisateur iLink international"; - +$lang['rate_com_user_cart_autre_wallet_national'] = "Taux de commission du client sur opération d'envoi de carte à un autre wallet national"; +$lang['config_ilink_user_cart_autre_wallet'] = 'Retrait de carte vers autre wallet'; +$lang['rate_com_user_cart_autre_wallet_international'] = "Taux de commission du client sur operation de retrait d'argent international"; +$lang['rate_com_user_cart_autre_wallet_national'] = "Taux de commission du client sur operation de retrait d'argent national"; +$lang['rate_com_bank_user_cart_autre_wallet_international'] = "Taux de commission de la banque sur operation de retrait d'argent international"; +$lang['rate_com_bank_user_cart_autre_wallet_national'] = "Taux de commission de la banque sur operation de retrait d'argent national"; // Gestion de la monnaie $lang['currency'] = 'Monnaie'; $lang['currency_code'] = 'Code de la monnaie'; @@ -1060,5 +1065,9 @@ $lang['opening_account_request_more_information'] = "La demande d'ouverture de c $lang['payment_period_days'] = "Délai de paiement (en jours)"; $lang['required_payment_period_days'] = "Délai de paiement est obligatoire"; $lang['ACCEPTED_UNPAID'] = "Accepté Non payé"; -$lang['ACCEPTED_PAID'] = "Acceptée payé" +$lang['ACCEPTED_PAID'] = "Acceptée payé"; +$lang['fixed_fees'] = "Frais fixes"; +$lang['fixed_fees_currency'] = "Monnaie des frais fixes"; +$lang['add_rate'] = "Ajouter un taux"; +$lang['channel'] = "Cannal/Réseau"; ?> diff --git a/application/models/Wallet_model.php b/application/models/Wallet_model.php index 73cb2f64..ff732893 100644 --- a/application/models/Wallet_model.php +++ b/application/models/Wallet_model.php @@ -262,22 +262,19 @@ class Wallet_model extends CI_Model return $query->num_rows() > 0 ? $query : false ; } - public function insertExchangeRate($currency ,$rate){ - $sql = "INSERT INTO `exchange_rate` (`target_currency`, `exchange_rate`) VALUES ( ?, ?);"; - $query = $this->db->query($sql , array($currency,$rate)); - return $query; + public function insertExchangeRate($currency,$rate){ + return $this->db->insert('exchange_rate',['target_currency' => $currency, 'exchange_rate' => $rate]); } public function getExchangeRate($currency){ - $sql = "SELECT * FROM `exchange_rate` WHERE `target_currency` = ?;"; - $query = $this->db->query($sql , array($currency)); + $this->db->where('target_currency',$currency); + $query = $this->db->get('exchange_rate'); return $query->num_rows() > 0 ? $query : false ; } public function updateExchangeRate($currency,$rate){ - $sql = "UPDATE `exchange_rate` SET `exchange_rate` = ? WHERE (`target_currency` = ?);"; - $query = $this->db->query($sql , array($currency,$rate)); - return $query; + $this->db->where('target_currency',$currency); + $this->db->update('exchange_rate',['target_currency' => $currency, 'exchange_rate' => $rate]); } //Liste des pays dont un wallet est actif diff --git a/application/views/config_wallet_ilink_hyp/customers_accounts.php b/application/views/config_wallet_ilink_hyp/customers_accounts.php index 0caad69c..2391d533 100755 --- a/application/views/config_wallet_ilink_hyp/customers_accounts.php +++ b/application/views/config_wallet_ilink_hyp/customers_accounts.php @@ -47,7 +47,7 @@ opening_amount) ? '' : Money::of(round($row->opening_amount, 2), $currency_code ?? 'XAF', $context)->formatTo('fr_FR')?> opening_amount_payment_period_days?> - @@ -280,7 +280,7 @@ var selectedId = null var types = ; - $(document).on("click", ".edit", function () { + $(document).on("click", ".edit-doc", function () { selectedId = $(this).data('id'); $("#update-form input[name='name']").val($(this).data('name')); $("#update-form textarea[name='description']").val($(this).data('description')); diff --git a/application/views/config_wallet_ilink_hyp/user_carte_autre_wallet.php b/application/views/config_wallet_ilink_hyp/user_carte_autre_wallet.php new file mode 100755 index 00000000..279caf7e --- /dev/null +++ b/application/views/config_wallet_ilink_hyp/user_carte_autre_wallet.php @@ -0,0 +1,856 @@ + + + + + + + + + + +
+ +
+ +

+ lang->line('config_user').' - '.$this->lang->line('config_ilink_user_cart_autre_wallet'); ?> +

+ +
+ +

Erreur!

+ +
+ + +
+ +

Success!

+ +
+ + + +
+ +
+
+
+
+ +
+
+
+
+

Note

+

lang->line('config_ilink_note') ?>

+
+
+
+
+
+

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

+
+ +
+ + + + + + + + + result() as $row) { + echo " + + + + " . ' + '; + } + } + ?> + +
MinMaxTaux (%)lang->line('ceiling')?>
" . $fmt->format($row->min) . "" . $fmt->format($row->max) . "" . $row->taux . "" . (isset($row->plafond) ? floatval($row->plafond) : '') . "
+
+ +
+
+
+

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

+
+ +
+ + + + + + + + + result() as $row) { + echo " + + + + " . ' + '; + } + } + ?> + +
MinMaxTaux (%)lang->line('ceiling')?>
" . $fmt->format($row->min) . "" . $fmt->format($row->max) . "" . $row->taux . "" . (isset($row->plafond) ? floatval($row->plafond) : '') . "
+
+ +
+
+
+
+
+

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

+
+ +
+ + + + + + + + + result() as $row) { + echo " + + + + " . ' + '; + } + } + ?> + +
MinMaxTaux (%)lang->line('ceiling')?>
" . $fmt->format($row->min) . "" . $fmt->format($row->max) . "" . $row->taux . "" . (isset($row->plafond) ? floatval($row->plafond) : '') . "
+
+ +
+
+
+

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

+
+ +
+ + + + + + + + + result() as $row) { + echo " + + + + " . ' + '; + } + } + ?> + +
MinMaxTaux (%)lang->line('ceiling')?>
" . $fmt->format($row->min) . "" . $fmt->format($row->max) . "" . $row->taux . "" . (isset($row->plafond) ? floatval($row->plafond) : '') . "
+
+ +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/application/views/gestion_aggregators.php b/application/views/gestion_aggregators.php index e19e538e..53b00f2d 100755 --- a/application/views/gestion_aggregators.php +++ b/application/views/gestion_aggregators.php @@ -1,6 +1,8 @@ + +
@@ -22,7 +24,6 @@ # lang->line('Nom'); ?> - lang->line('Email'); ?> lang->line('Adresse'); ?> lang->line('Contact'); ?> lang->line('Statut'); ?> @@ -33,12 +34,11 @@ result() as $i => $row) { + foreach ($aggregators as $i => $row) { ?> name ?> - email?> address?> phone?> lang->line($row->status ? 'Active' : 'Inactive'); ?> @@ -46,11 +46,11 @@ status ? 'checked' : '' ?>> - - @@ -99,7 +99,7 @@