1096 lines
41 KiB
PHP
1096 lines
41 KiB
PHP
|
<link rel="stylesheet"
|
|||
|
href="<?= base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
|
|||
|
<link rel="stylesheet" href="<?php echo base_url('bower_components/toastr/toastr.css') ?>">
|
|||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round|Open+Sans">
|
|||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
|||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
|||
|
<link rel="stylesheet" href="<?= base_url('dist/css/custom/levels-table.css') ?>">
|
|||
|
|
|||
|
<?php
|
|||
|
use Brick\Money\Money;
|
|||
|
$context = new \Brick\Money\Context\AutoContext();
|
|||
|
|
|||
|
$month = time();
|
|||
|
$months[] = convertDate(date("M"));
|
|||
|
$label_months [] = date("M") . " " . date("Y");
|
|||
|
$years[] = date("Y");
|
|||
|
for ($i = 1; $i <= 11; $i++) {
|
|||
|
$month = strtotime('last month', $month);
|
|||
|
$months [] = convertDate(date("M", $month));
|
|||
|
$years[] = date("Y", $month);
|
|||
|
$label_months [] = date("M", $month) . " " . date("Y", $month);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
** Retraits
|
|||
|
**/
|
|||
|
$date = date("Y");
|
|||
|
|
|||
|
$retraits_data[] = '';
|
|||
|
$retraits_data = array();
|
|||
|
for ($i = 1; $i <= 12; $i++) {
|
|||
|
$retraits_query_mounth = $this->db->query("SELECT id FROM infos_transaction
|
|||
|
WHERE network_id='" . $network_id . "'
|
|||
|
AND MONTH(date_created) = '" . $months[$i - 1] . "'
|
|||
|
AND YEAR(date_created) = '" . $years[$i - 1] . "'
|
|||
|
AND type_transac='debit'");
|
|||
|
$retraits_data[] = $retraits_query_mounth->num_rows();
|
|||
|
}
|
|||
|
|
|||
|
$startDate = (new DateTime('01-' . $months[11] . '-' . $years[11]))->format('Y-m-d H:i:s');
|
|||
|
$endDate = date_create_from_format('m/Y', $months[0] . '/' . $years[0])->format('Y-m-d H:i:s');
|
|||
|
|
|||
|
$retraits = $this->db->query("SELECT * FROM infos_transaction
|
|||
|
WHERE network_id='" . $network_id . "'
|
|||
|
AND date_created BETWEEN '" . $startDate . "' AND '" . $endDate . "'
|
|||
|
AND type_transac='debit'");
|
|||
|
|
|||
|
/**
|
|||
|
** Dépots
|
|||
|
**/
|
|||
|
$date = date("Y");
|
|||
|
|
|||
|
$depots_data[] = '';
|
|||
|
$depots_data = array();
|
|||
|
for ($i = 1; $i <= 12; $i++) {
|
|||
|
$depots_query_mounth = $this->db->query("SELECT id FROM infos_transaction
|
|||
|
WHERE network_id='" . $network_id . "'
|
|||
|
AND MONTH(date_created) = '" . $months[$i - 1] . "'
|
|||
|
AND YEAR(date_created) = '" . $years[$i - 1] . "'
|
|||
|
AND type_transac='credit'");
|
|||
|
$depots_data[] = $depots_query_mounth->num_rows();
|
|||
|
}
|
|||
|
$depots = $this->db->query("SELECT * FROM infos_transaction
|
|||
|
WHERE network_id='" . $network_id . "'
|
|||
|
AND date_created BETWEEN '" . $startDate . "' AND '" . $endDate . "'
|
|||
|
AND type_transac='credit'");
|
|||
|
|
|||
|
//if ($transactions != false) {
|
|||
|
// $transac = $transactions->num_rows();
|
|||
|
// $array_transac = array();
|
|||
|
// $num = 0;
|
|||
|
// if ($transac > 0) {
|
|||
|
// foreach ($transactions->result() as $row) {
|
|||
|
// $num++;
|
|||
|
// $array_transac[] = $row->type_transac;
|
|||
|
// }
|
|||
|
// $vals_transac = array_count_values($array_transac);
|
|||
|
// $pieChart = array();
|
|||
|
// foreach (array_keys($vals_transac) as $paramName) {
|
|||
|
// $color = dechex(rand(0x000000, 0xFFFFFF));
|
|||
|
// $trash = array("value" => $vals_transac[$paramName],
|
|||
|
// "color" => "#" . $color,
|
|||
|
// "highlight" => "#" . $color,
|
|||
|
// "label" => $paramName);
|
|||
|
//
|
|||
|
// $pieChart[] = $trash;
|
|||
|
// }
|
|||
|
// }
|
|||
|
//} else {
|
|||
|
$pieChart = array();
|
|||
|
//}
|
|||
|
|
|||
|
?>
|
|||
|
|
|||
|
<div class="content-wrapper">
|
|||
|
<!-- Content Header (Page header) -->
|
|||
|
<section class="content-header">
|
|||
|
|
|||
|
<h1>
|
|||
|
<?= $this->lang->line('Gestion des wallets'). ' '. $network .' - '.$country; ?>
|
|||
|
</h1>
|
|||
|
<?php
|
|||
|
$site_url = base_url();
|
|||
|
|
|||
|
if ($alert == "ok") {
|
|||
|
|
|||
|
if (!$success == "ok") {
|
|||
|
?>
|
|||
|
<div class='alert alert-danger alert-dismissible col-xs-6'>
|
|||
|
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
|
|||
|
<h4><i class='icon fa fa-ban'></i> Erreur!</h4>
|
|||
|
<?= $message; ?>
|
|||
|
</div>
|
|||
|
|
|||
|
<?php
|
|||
|
} else {
|
|||
|
?>
|
|||
|
<div class="alert alert-success alert-dismissible col-xs-6">
|
|||
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
|||
|
<h4><i class="icon fa fa-check"></i> Success!</h4>
|
|||
|
<?= $message; ?>
|
|||
|
</div>
|
|||
|
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
|
|||
|
</section>
|
|||
|
|
|||
|
<section class="content">
|
|||
|
<div class="row">
|
|||
|
<div class="col-lg-4 col-xs-6">
|
|||
|
<div class="small-box bg-aqua">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $principal ?></h3>
|
|||
|
<p><?= $this->lang->line('Solde Principal') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-cash"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-lg-4 col-xs-6">
|
|||
|
<div class="small-box bg-green">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $commission; ?></h3>
|
|||
|
<p><?= $this->lang->line('Solde Commission') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-cash"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="row">
|
|||
|
<div class="margin">
|
|||
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal-update"
|
|||
|
style="width: 100%"><?= $this->lang->line('Modifier la configuration') ?></button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="row centered">
|
|||
|
<div class="col-lg-3 col-xs-6">
|
|||
|
<div class="small-box bg-red-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $this->lang->line($nh_config->provider_billing_period ?? ''); ?></h3>
|
|||
|
<p><?= $this->lang->line('provider_billing_period') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-ios-timer"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="col-lg-3 col-xs-6">
|
|||
|
<div class="small-box bg-aqua-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->max_number_of_beneficiaries ?? ''; ?></h3>
|
|||
|
<p><?= $this->lang->line('max_number_of_beneficiaries') ?> </p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="fa fa-sort-numeric-desc"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-lg-3 col-xs-6">
|
|||
|
<div class="small-box bg-aqua-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->age_limit_of_child_beneficiary ?? ''; ?></h3>
|
|||
|
<p><?= $this->lang->line('age_limit_of_child_beneficiary') ?> </p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-android-calendar"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="col-lg-3 col-xs-6">
|
|||
|
<div class="small-box bg-orange">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= Money::of(round($nh_config->coverage_limit_per_insured_per_year ?? 0, 2), $curreny_code, $context)->formatTo('fr_FR'); ?></h3>
|
|||
|
<p><?= $this->lang->line('coverage_limit_per_insured_per_year') ?> </p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-cash"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="row">
|
|||
|
<div class="col-lg-2 col-xs-6">
|
|||
|
<div class="small-box bg-green-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->current_affection_percentage_insurer ?? ''; ?><sup style="font-size: 20px">%</sup></h3>
|
|||
|
<p><?= $this->lang->line('current_affection').' : '.$this->lang->line('percentage_insurer') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-pie-graph"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-lg-2 col-xs-6">
|
|||
|
<div class="small-box bg-green-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->current_affection_percentage_insured ?? ''; ?><sup style="font-size: 20px">%</sup></h3>
|
|||
|
<p><?= $this->lang->line('current_affection').' : '.$this->lang->line('percentage_insured') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-pie-graph"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="col-lg-2 col-xs-6">
|
|||
|
<div class="small-box bg-light-blue-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->long_term_affection_percentage_insurer ?? ''; ?><sup style="font-size: 20px">%</sup></h3>
|
|||
|
<p><?= $this->lang->line('long_term_affection').' : '.$this->lang->line('percentage_insurer') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-pie-graph"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-lg-2 col-xs-6">
|
|||
|
<div class="small-box bg-light-blue-active">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->long_term_affection_percentage_insured ?? ''; ?><sup style="font-size: 20px">%</sup></h3>
|
|||
|
<p><?= $this->lang->line('long_term_affection').' : '.$this->lang->line('percentage_insured') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-pie-graph"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="col-lg-2 col-xs-6">
|
|||
|
<div class="small-box bg-aqua">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->exoneration_percentage_insurer ?? ''; ?><sup style="font-size: 20px">%</sup></h3>
|
|||
|
<p><?= $this->lang->line('exoneration').' : '.$this->lang->line('percentage_insurer') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-pie-graph"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="col-lg-2 col-xs-6">
|
|||
|
<div class="small-box bg-aqua">
|
|||
|
<div class="inner">
|
|||
|
<h3><?= $nh_config->exoneration_percentage_insured ?? ''; ?><sup style="font-size: 20px">%</sup></h3>
|
|||
|
<p><?= $this->lang->line('exoneration').' : '.$this->lang->line('percentage_insured') ?></p>
|
|||
|
</div>
|
|||
|
<div class="icon">
|
|||
|
<i class="ion ion-pie-graph"></i>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="row centered">
|
|||
|
<div class="col-lg-6 col-xs-12">
|
|||
|
<div class="box">
|
|||
|
<div class="box-header">
|
|||
|
<h3 class="box-title"><?= $this->lang->line('years_price_grid') ?></h3>
|
|||
|
</div>
|
|||
|
<div class="box-body" style="overflow-x:auto;">
|
|||
|
<table class="table table-bordered" >
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th width="20"><?= $this->lang->line('min_age')?></th>
|
|||
|
<th width="20"><?= $this->lang->line('max_age') ?> </th>
|
|||
|
<th><?= $this->lang->line('markup_percentage') ; ?></th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<?php
|
|||
|
if(isset($years_prices_grid)){
|
|||
|
foreach($years_prices_grid->result() as $i => $row) { ?>
|
|||
|
<tr>
|
|||
|
<td><?= $row->min_age ?></td>
|
|||
|
<td><?= $row->max_age ?></td>
|
|||
|
<td><?= $row->markup_percentage.'%' ?></td>
|
|||
|
</tr>
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<button type="button" class="btn btn-primary btn-block" style="margin-top: 15px" data-toggle="modal" data-target="#modal-years-grid" >
|
|||
|
<b><?= $this->lang->line('edit_years_prices_grid'); ?></b>
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="col-lg-6 col-xs-12">
|
|||
|
<div class="box">
|
|||
|
<div class="box-header">
|
|||
|
<h3 class="box-title"><?= $this->lang->line('months_price_grid') ?></h3>
|
|||
|
</div>
|
|||
|
<div class="box-body" style="overflow-x:auto;">
|
|||
|
<table class="table table-bordered" >
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th width="50"><?= $this->lang->line('number_of_months') ?> </th>
|
|||
|
<th><?= $this->lang->line('min_amount') ?> </th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<?php
|
|||
|
if(isset($months_prices_grid)){
|
|||
|
foreach($months_prices_grid->result() as $i => $row) { ?>
|
|||
|
<tr>
|
|||
|
<td><?= $row->number_of_months ?></td>
|
|||
|
<td><?= Money::of(round($row->min_amount, 2), $curreny_code, $context)->formatTo('fr_FR'); ?></td>
|
|||
|
</tr>
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
<button type="button" class="btn btn-primary btn-block" style="margin-top: 15px" data-toggle="modal" data-target="#modal-months-grid" >
|
|||
|
<b><?= $this->lang->line('edit_months_prices_grid'); ?></b>
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="row">
|
|||
|
<div class="col-xs-12">
|
|||
|
<div class="box box-success">
|
|||
|
<div class="box-header with-border">
|
|||
|
<h3 class="box-title">
|
|||
|
<?= $this->lang->line('subscriptions_of_the_last_12_months'); ?></h3>
|
|||
|
<div class="box-tools">
|
|||
|
<a class="btn btn-primary" href="<?= current_url().($network_id ? '?id='.$network_id . '&history=subscriptions' : '')?>">
|
|||
|
<?= $this->lang->line('subscriptions_historic'); ?>
|
|||
|
</a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="box-body">
|
|||
|
<div class="chart" id="chart">
|
|||
|
<canvas id="barChart" style="height:230px"></canvas>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="row">
|
|||
|
<div class="col-lg-8">
|
|||
|
<div class="box">
|
|||
|
<div class="box-header">
|
|||
|
<h3 class="box-title"><?= $this->lang->line('list_of_acts') ?></h3>
|
|||
|
<div class="box-tools">
|
|||
|
<button class="btn btn-success" id="addAct">
|
|||
|
<?= $this->lang->line('add_act'); ?>
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="box-body" style="overflow-x:auto;">
|
|||
|
<table id="example1" class="table table-bordered table-hover">
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<?php
|
|||
|
echo "<th>".$this->lang->line('Nom')."</th>
|
|||
|
<th>".$this->lang->line('billing_type')."</th>
|
|||
|
<th>".$this->lang->line('authorization_type')."</th>
|
|||
|
<th>Action</th>";
|
|||
|
?>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<?php
|
|||
|
if(isset($acts)){
|
|||
|
foreach($acts->result() as $i => $row) { ?>
|
|||
|
<tr>
|
|||
|
<td><?= $row->name ?></td>
|
|||
|
<td><?= $this->lang->line($row->billing_type); ?></td>
|
|||
|
<td><?= $this->lang->line($row->authorization_type); ?></td>
|
|||
|
<td>
|
|||
|
<button class='btn btn-success editAct' data-id="<?=$row->id?>" data-name="<?=$row->name?>" data-billing_type="<?=$row->billing_type?>"
|
|||
|
data-authorization_type="<?=$row->authorization_type?>" >
|
|||
|
<i class='fa fa-edit'></i>
|
|||
|
</button>
|
|||
|
<button data-toggle='modal' class='btn btn-danger deleteAct' data-target='#'>
|
|||
|
<i class='fa fa-trash'></i>
|
|||
|
</button>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="modal fade" id="modal-update">
|
|||
|
<div class="modal-dialog">
|
|||
|
<div class="modal-content">
|
|||
|
<div class="modal-header">
|
|||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|||
|
<span aria-hidden="true">×</span>
|
|||
|
</button>
|
|||
|
<h3 class="modal-title"><?= $this->lang->line('Configuration du wallet'); ?></h3>
|
|||
|
</div>
|
|||
|
<div class="modal-body">
|
|||
|
<form id="walletForm">
|
|||
|
<div class="form-group">
|
|||
|
<label for="nom"
|
|||
|
class="col-form-label"><?= $this->lang->line('provider_billing_period'); ?></label>
|
|||
|
<select class="form-control" name="provider_billing_period" required>
|
|||
|
<?php $array = array_values($provider_billing_periods);
|
|||
|
foreach ($array as $value) { ?>
|
|||
|
<option value="<?=$value?>" <?= $value === ($nh_config->provider_billing_period ?? '') ? 'selected' : '' ?> > <?=$this->lang->line($value)?> </option>
|
|||
|
<?php } ?>
|
|||
|
</select>
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('max_number_of_beneficiaries'); ?></label>
|
|||
|
<input type="number" min="0" max="9" required class="form-control"
|
|||
|
name="max_number_of_beneficiaries" value="<?= $nh_config->max_number_of_beneficiaries ?? 0 ?>">
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('age_limit_of_child_beneficiary'); ?></label>
|
|||
|
<input type="number" min="0" max="99" required class="form-control"
|
|||
|
name="age_limit_of_child_beneficiary" value="<?= $nh_config->age_limit_of_child_beneficiary ?? 0 ?>">
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('coverage_limit_per_insured_per_year'); ?></label>
|
|||
|
<input type="number" min="0" step="0.01" required class="form-control"
|
|||
|
name="coverage_limit_per_insured_per_year" value="<?= $nh_config->coverage_limit_per_insured_per_year ?? 0 ?>">
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="form-group" style="margin-top: 40px">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('current_affection').' : '.$this->lang->line('percentage_insurer') . ' (%)'; ?></label>
|
|||
|
<input type="number" min="0" step=".01" required class="form-control"
|
|||
|
name="current_affection_percentage_insurer" value="<?= $nh_config->current_affection_percentage_insurer ?? 0 ?>">
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('current_affection').' : '.$this->lang->line('percentage_insured') . ' (%)'; ?></label>
|
|||
|
<input type="number" min="0" step=".01" required class="form-control"
|
|||
|
name="current_affection_percentage_insured" value="<?= $nh_config->current_affection_percentage_insured ?? 0 ?>">
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('long_term_affection').' : '.$this->lang->line('percentage_insurer') . ' (%)'; ?></label>
|
|||
|
<input type="number" min="0" step=".01" required class="form-control"
|
|||
|
name="long_term_affection_percentage_insurer" value="<?= $nh_config->long_term_affection_percentage_insurer ?? 0 ?>">
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('long_term_affection').' : '.$this->lang->line('percentage_insured') . ' (%)'; ?></label>
|
|||
|
<input type="number" min="0" step=".01" required class="form-control"
|
|||
|
name="long_term_affection_percentage_insured" value="<?= $nh_config->long_term_affection_percentage_insured ?? 0 ?>">
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('exoneration').' : '.$this->lang->line('percentage_insurer') . ' (%)'; ?></label>
|
|||
|
<input type="number" min="0" step=".01" required class="form-control"
|
|||
|
name="exoneration_percentage_insurer" value="<?= $nh_config->exoneration_percentage_insurer ?? 0 ?>">
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('exoneration').' : '.$this->lang->line('percentage_insured') . ' (%)'; ?></label>
|
|||
|
<input type="number" min="0" step=".01" required class="form-control"
|
|||
|
name="exoneration_percentage_insured" value="<?= $nh_config->exoneration_percentage_insured ?? 0 ?>">
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<div class="modal-footer">
|
|||
|
<button type="button" class="btn btn-default pull-left"
|
|||
|
data-dismiss="modal"><?= $this->lang->line('Fermer'); ?></button>
|
|||
|
<button type="button" id="updateWallet" class="btn btn-primary"><?= $this->lang->line('save'); ?></button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="modal fade" id="modal-years-grid">
|
|||
|
<div class="modal-dialog">
|
|||
|
<div class="modal-content">
|
|||
|
<div class="modal-header">
|
|||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|||
|
<span aria-hidden="true">×</span>
|
|||
|
</button>
|
|||
|
<h3 class="modal-title"><?php echo $this->lang->line('edit_years_prices_grid'); ?></h3>
|
|||
|
</div>
|
|||
|
<div class="modal-body">
|
|||
|
<form id="yearsGridForm">
|
|||
|
<div class="form-group" style="overflow-x:auto;">
|
|||
|
<div class="table-title">
|
|||
|
<div class="row">
|
|||
|
<div class="col-sm-8">
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="col-sm-4">
|
|||
|
<button type="button" class="btn btn-info add-new new1"><i
|
|||
|
class="fa fa-plus"></i> <?php echo $this->lang->line('new_level'); ?>
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<table id="years_prices_grid" class="table table-bordered">
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th><?= $this->lang->line('min_age')?></th>
|
|||
|
<th><?= $this->lang->line('max_age') ?> </th>
|
|||
|
<th><?= $this->lang->line('markup_percentage') ; ?> (%) </th>
|
|||
|
<th>Actions</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<?php
|
|||
|
if (isset($years_prices_grid)) {
|
|||
|
foreach ($years_prices_grid->result() as $row) { ?>
|
|||
|
<tr>
|
|||
|
<td><?= $row->min_age ?></td>
|
|||
|
<td><?= $row->max_age ?></td>
|
|||
|
<td><?= $row->markup_percentage?></td>
|
|||
|
<td>
|
|||
|
<a class="add add1" title="Add" data-toggle="tooltip"><i class="material-icons"></i></a>
|
|||
|
<a class="edit edit1" title="Edit" data-toggle="tooltip"><i class="material-icons"></i></a>
|
|||
|
<a class="delete delete1" title="Delete" data-toggle="tooltip"><i class="material-icons"></i></a>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<div class="modal-footer">
|
|||
|
<button type="button" class="btn btn-default pull-left"
|
|||
|
data-dismiss="modal"><?php echo $this->lang->line('Fermer'); ?></button>
|
|||
|
<button type="button" id="updateYearsGrid"
|
|||
|
class="btn btn-primary"><?php echo $this->lang->line('save'); ?></button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="modal fade" id="modal-months-grid">
|
|||
|
<div class="modal-dialog">
|
|||
|
<div class="modal-content">
|
|||
|
<div class="modal-header">
|
|||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|||
|
<span aria-hidden="true">×</span>
|
|||
|
</button>
|
|||
|
<h3 class="modal-title"><?php echo $this->lang->line('edit_months_prices_grid'); ?></h3>
|
|||
|
</div>
|
|||
|
<div class="modal-body">
|
|||
|
<form id="monthsGridForm">
|
|||
|
<div class="form-group" style="overflow-x:auto;">
|
|||
|
<div class="table-title">
|
|||
|
<div class="row">
|
|||
|
<div class="col-sm-8">
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="col-sm-4">
|
|||
|
<button type="button" class="btn btn-info add-new new2"><i
|
|||
|
class="fa fa-plus"></i> <?php echo $this->lang->line('new_level'); ?>
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<table id="months_prices_grid" class="table table-bordered">
|
|||
|
<thead>
|
|||
|
<tr>
|
|||
|
<th><?= $this->lang->line('number_of_months') ?> </th>
|
|||
|
<th><?= $this->lang->line('min_amount') ?> </th>
|
|||
|
<th>Actions</th>
|
|||
|
</tr>
|
|||
|
</thead>
|
|||
|
<tbody>
|
|||
|
<?php
|
|||
|
if (isset($months_prices_grid)) {
|
|||
|
foreach ($months_prices_grid->result() as $row) { ?>
|
|||
|
<tr>
|
|||
|
<td><?= $row->number_of_months ?></td>
|
|||
|
<td><?= $row->min_amount ?></td>
|
|||
|
<td>
|
|||
|
<a class="add add2" title="Add" data-toggle="tooltip"><i class="material-icons"></i></a>
|
|||
|
<a class="edit edit2" title="Edit" data-toggle="tooltip"><i class="material-icons"></i></a>
|
|||
|
<a class="delete delete2" title="Delete" data-toggle="tooltip"><i class="material-icons"></i></a>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<?php
|
|||
|
}
|
|||
|
}
|
|||
|
?>
|
|||
|
</tbody>
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
<div class="modal-footer">
|
|||
|
<button type="button" class="btn btn-default pull-left"
|
|||
|
data-dismiss="modal"><?php echo $this->lang->line('Fermer'); ?></button>
|
|||
|
<button type="button" id="updateMonthsGrid"
|
|||
|
class="btn btn-primary"><?php echo $this->lang->line('save'); ?></button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="modal fade" id="modal-act">
|
|||
|
<div class="modal-dialog">
|
|||
|
<div class="modal-content">
|
|||
|
<div class="modal-header">
|
|||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|||
|
<span aria-hidden="true">×</span>
|
|||
|
</button>
|
|||
|
<h3 class="modal-title"><?= $this->lang->line('add_act'); ?></h3>
|
|||
|
</div>
|
|||
|
<form id="actForm">
|
|||
|
<div class="modal-body">
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('Nom'); ?></label>
|
|||
|
<input type="text" required class="form-control input-lg" name="name">
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('billing_type'); ?></label>
|
|||
|
<select class="form-control input-lg" name="billing_type" required>
|
|||
|
<?php $array = array_values($billing_types);
|
|||
|
foreach ($array as $value) { ?>
|
|||
|
<option value="<?=$value?>" > <?=$this->lang->line($value)?> </option>
|
|||
|
<?php } ?>
|
|||
|
</select>
|
|||
|
</div>
|
|||
|
<div class="form-group">
|
|||
|
<label class="col-form-label"><?= $this->lang->line('authorization_type'); ?></label>
|
|||
|
<select class="form-control input-lg" name="authorization_type" required>
|
|||
|
<?php $array = array_values($authorization_types);
|
|||
|
foreach ($array as $value) { ?>
|
|||
|
<option value="<?=$value?>" > <?=$this->lang->line($value)?> </option>
|
|||
|
<?php } ?>
|
|||
|
</select>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
<div class="modal-footer">
|
|||
|
<button type="button" class="btn btn-default pull-left"
|
|||
|
data-dismiss="modal"><?= $this->lang->line('Fermer'); ?></button>
|
|||
|
<button type="submit" id="updateWallet" class="btn btn-primary"><?= $this->lang->line('save'); ?></button>
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</section>
|
|||
|
</div>
|
|||
|
<!-- jQuery 3 -->
|
|||
|
<script src="<?= base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
|
|||
|
<!-- Bootstrap 3.3.7 -->
|
|||
|
<script src="<?= base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
|
|||
|
<!-- DataTables -->
|
|||
|
<script src="<?= base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
|
|||
|
<script src="<?= base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
|
|||
|
<!-- Slimscroll -->
|
|||
|
<script src="<?= base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
|
|||
|
<!-- FastClick -->
|
|||
|
<script src="<?= base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
|
|||
|
<!-- AdminLTE App -->
|
|||
|
<script src="<?= base_url('dist/js/adminlte.min.js') ?>"></script>
|
|||
|
<!-- AdminLTE for demo purposes -->
|
|||
|
<script src="<?= base_url('dist/js/demo.js') ?>"></script>
|
|||
|
|
|||
|
<script src="<?= base_url('bower_components/moment/min/moment.min.js') ?>"></script>
|
|||
|
<script src="<?= base_url('bower_components/bootstrap-daterangepicker/daterangepicker.js') ?>"></script>
|
|||
|
<script
|
|||
|
src="<?= base_url('bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js') ?>"></script>
|
|||
|
<scriptf
|
|||
|
src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></scriptf>
|
|||
|
<!-- ChartJS -->
|
|||
|
<script src="<?= base_url('bower_components/chart.js/Chart.js') ?>"></script>
|
|||
|
<script src="<?= base_url('bower_components/toastr/toastr.js') ?>"></script>
|
|||
|
<script src="<?= base_url('dist/js/sweetalert2.js') ?>"></script>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
$('#example1').DataTable();
|
|||
|
})
|
|||
|
</script>
|
|||
|
|
|||
|
<script>
|
|||
|
toastr.options.closeButton = true;
|
|||
|
toastr.options.closeMethod = 'fadeOut';
|
|||
|
toastr.options.closeDuration = 5000;
|
|||
|
toastr.options.closeEasing = 'swing';
|
|||
|
|
|||
|
let config_id = "<?=$config_id?>";
|
|||
|
var selectedActId = null;
|
|||
|
|
|||
|
$('#updateWallet').click(function () {
|
|||
|
var network_id = $(this).data('network-id');
|
|||
|
|
|||
|
if ($('#walletForm')[0].checkValidity()) {
|
|||
|
var current_affection_percentage_insurer = parseFloat($('input[name=current_affection_percentage_insurer]').val());
|
|||
|
var current_affection_percentage_insured = parseFloat($('input[name=current_affection_percentage_insured]').val());
|
|||
|
|
|||
|
var long_term_affection_percentage_insurer = parseFloat($('input[name=long_term_affection_percentage_insurer]').val());
|
|||
|
var long_term_affection_percentage_insured = parseFloat($('input[name=long_term_affection_percentage_insured]').val());
|
|||
|
|
|||
|
var exoneration_percentage_insurer = parseFloat($('input[name=exoneration_percentage_insurer]').val());
|
|||
|
var exoneration_percentage_insured = parseFloat($('input[name=exoneration_percentage_insured]').val());
|
|||
|
|
|||
|
if( (current_affection_percentage_insurer + current_affection_percentage_insured) !== 100){
|
|||
|
toastr.error("<?= $this->lang->line('current_affection_rule')?>", "<?= $this->lang->line('management_rule')?>");
|
|||
|
}else if( (long_term_affection_percentage_insurer + long_term_affection_percentage_insured) !== 100){
|
|||
|
toastr.error("<?= $this->lang->line('long_term_affection_rule')?>", "<?= $this->lang->line('management_rule')?>");
|
|||
|
}else if( (exoneration_percentage_insurer + exoneration_percentage_insured) !== 100){
|
|||
|
toastr.error("<?= $this->lang->line('exoneration_rule')?>", "<?= $this->lang->line('management_rule')?>");
|
|||
|
}else{
|
|||
|
$.ajax({
|
|||
|
url: '<?= base_url('index.php/Gestion/config_wallet/update')?>',
|
|||
|
type: 'POST',
|
|||
|
dataType: 'json',
|
|||
|
data: {
|
|||
|
"id_config": config_id,
|
|||
|
"provider_billing_period": $("select[name=provider_billing_period]").val(),
|
|||
|
"max_number_of_beneficiaries": $("input[name=max_number_of_beneficiaries]").val(),
|
|||
|
"age_limit_of_child_beneficiary": $("input[name=age_limit_of_child_beneficiary]").val(),
|
|||
|
"coverage_limit_per_insured_per_year": $("input[name=coverage_limit_per_insured_per_year]").val(),
|
|||
|
"current_affection_percentage_insurer": current_affection_percentage_insurer,
|
|||
|
"current_affection_percentage_insured": current_affection_percentage_insured,
|
|||
|
"long_term_affection_percentage_insurer": long_term_affection_percentage_insurer,
|
|||
|
"long_term_affection_percentage_insured": long_term_affection_percentage_insured,
|
|||
|
"exoneration_percentage_insurer": exoneration_percentage_insurer,
|
|||
|
"exoneration_percentage_insured": exoneration_percentage_insured,
|
|||
|
"type" : "ilink_sante"
|
|||
|
},
|
|||
|
success: function (data) {
|
|||
|
if(data==='200'){
|
|||
|
Swal.fire({
|
|||
|
icon: 'success',
|
|||
|
title: "<?= $this->lang->line('wallet_update')?>",
|
|||
|
text:"<?= $this->lang->line('informations_updated')?>",
|
|||
|
timer: 3000
|
|||
|
}).then(()=>{
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
// alert("Les informations ont été mises à jour.") ? "" :
|
|||
|
}else{
|
|||
|
toastr.error("<?= $this->lang->line('error_message')?>" , "<?= $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
},
|
|||
|
|
|||
|
error: function (resultat, statut, error) {
|
|||
|
console.log(resultat + " " + error);
|
|||
|
toastr.error("<?= $this->lang->line('error_message')?>" , "<?= $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
} else {
|
|||
|
$('#walletForm')[0].reportValidity();
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
$('#updateYearsGrid').click(function () {
|
|||
|
if ($('#yearsGridForm')[0].checkValidity()) {
|
|||
|
|
|||
|
// Paliers de tarifs
|
|||
|
var grid = [];
|
|||
|
|
|||
|
$('#years_prices_grid tr').has('td').each(function (i, el) {
|
|||
|
var arrayItem = {};
|
|||
|
var row = [];
|
|||
|
$('td', $(this)).each(function (index, item) {
|
|||
|
row.push(parseFloat($(item).html()));
|
|||
|
});
|
|||
|
arrayItem.nh_network_config_id = config_id
|
|||
|
arrayItem.min_age = row[0]
|
|||
|
arrayItem.max_age = row[1];
|
|||
|
arrayItem.markup_percentage = row[2];
|
|||
|
grid.push(arrayItem);
|
|||
|
});
|
|||
|
|
|||
|
$.ajax({
|
|||
|
url: '<?php echo base_url('index.php/NanoHealthController/updateConfigYearsPricesGrid')?>',
|
|||
|
type: 'POST',
|
|||
|
dataType: 'json',
|
|||
|
data: {
|
|||
|
"config_id": config_id,
|
|||
|
"grid": grid,
|
|||
|
},
|
|||
|
success: function (data) {
|
|||
|
if (data === '200') {
|
|||
|
Swal.fire({
|
|||
|
icon: 'success',
|
|||
|
title: "<?php echo $this->lang->line('wallet_update')?>",
|
|||
|
text: "<?php echo $this->lang->line('informations_updated')?>",
|
|||
|
timer: 3000
|
|||
|
}).then(() => {
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
} else {
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>", "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
},
|
|||
|
error: function (resultat, statut, error) {
|
|||
|
console.log(resultat + " " + error);
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>", "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
} else {
|
|||
|
$('#yearsGridForm')[0].reportValidity();
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
$('#updateMonthsGrid').click(function () {
|
|||
|
if ($('#monthsGridForm')[0].checkValidity()) {
|
|||
|
|
|||
|
// Paliers de tarifs
|
|||
|
var grid = [];
|
|||
|
//
|
|||
|
|
|||
|
$('#months_prices_grid tr').has('td').each(function (i, el) {
|
|||
|
var arrayItem = {};
|
|||
|
var row = [];
|
|||
|
$('td', $(this)).each(function (index, item) {
|
|||
|
row.push(parseFloat($(item).html()));
|
|||
|
});
|
|||
|
arrayItem.nh_network_config_id = config_id
|
|||
|
arrayItem.number_of_months = row[0];
|
|||
|
arrayItem.min_amount = row[1];
|
|||
|
grid.push(arrayItem);
|
|||
|
});
|
|||
|
|
|||
|
$.ajax({
|
|||
|
url: '<?php echo base_url('index.php/NanoHealthController/updateConfigMonthsPricesGrid')?>',
|
|||
|
type: 'POST',
|
|||
|
dataType: 'json',
|
|||
|
data: {
|
|||
|
"config_id": config_id,
|
|||
|
"grid": grid,
|
|||
|
},
|
|||
|
success: function (data) {
|
|||
|
if (data === '200') {
|
|||
|
Swal.fire({
|
|||
|
icon: 'success',
|
|||
|
title: "<?php echo $this->lang->line('wallet_update')?>",
|
|||
|
text: "<?php echo $this->lang->line('informations_updated')?>",
|
|||
|
timer: 3000
|
|||
|
}).then(() => {
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
} else {
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>", "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
},
|
|||
|
error: function (resultat, statut, error) {
|
|||
|
console.log(resultat + " " + error);
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>", "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
} else {
|
|||
|
$('#monthsGridForm')[0].reportValidity();
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
$("#actForm").submit(function( event ) {
|
|||
|
console.log(selectedActId)
|
|||
|
|
|||
|
$.ajax({
|
|||
|
url: '<?php echo base_url('index.php/NanoHealthController/storeAct')?>',
|
|||
|
type: 'POST',
|
|||
|
dataType: 'json',
|
|||
|
data: {
|
|||
|
"config_id": config_id,
|
|||
|
"id" : selectedActId,
|
|||
|
"name": $("input[name='name']",this).val(),
|
|||
|
"billing_type": $("select[name='billing_type'] :selected",this).val(),
|
|||
|
"authorization_type": $("select[name='authorization_type'] :selected",this).val(),
|
|||
|
},
|
|||
|
success: function (data) {
|
|||
|
if (data === '200') {
|
|||
|
Swal.fire({
|
|||
|
icon: 'success',
|
|||
|
title: "<?php echo $this->lang->line('wallet_update')?>",
|
|||
|
text: "<?php echo $this->lang->line('informations_updated')?>",
|
|||
|
timer: 3000
|
|||
|
}).then(() => {
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
} else {
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>", "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
},
|
|||
|
error: function (resultat, statut, error) {
|
|||
|
console.log(resultat + " " + error);
|
|||
|
toastr.error("<?php echo $this->lang->line('error_message')?>", "<?php echo $this->lang->line('request_error')?>");
|
|||
|
}
|
|||
|
});
|
|||
|
event.preventDefault();
|
|||
|
});
|
|||
|
|
|||
|
$('.editAct').click(function (){
|
|||
|
selectedActId = $(this).data('id');
|
|||
|
$("#modal-act h3").html("<?=$this->lang->line('edit_act')?>");
|
|||
|
$("#actForm input[name='name']").val($(this).data('name'));
|
|||
|
$("#actForm select[name='billing_type']").val($(this).data('billing_type'));
|
|||
|
$("#actForm select[name='authorization_type']").val($(this).data('authorization_type'));
|
|||
|
$('#modal-act').modal('show');
|
|||
|
});
|
|||
|
|
|||
|
$('#addAct').click(function (){
|
|||
|
selectedActId = null;
|
|||
|
$("#modal-act h3").html("<?=$this->lang->line('add_act')?>");
|
|||
|
$("#actForm input[name='name']").val(null);
|
|||
|
$("#actForm select[name='billing_type']").prop('selectedIndex',0);
|
|||
|
$("#actForm select[name='authorization_type']").prop('selectedIndex',0);
|
|||
|
$('#modal-act').modal('show');
|
|||
|
});
|
|||
|
</script>
|
|||
|
<script type="text/javascript">
|
|||
|
|
|||
|
$(document).ready(function () {
|
|||
|
$('[data-toggle="tooltip"]').tooltip();
|
|||
|
|
|||
|
// Years Grid
|
|||
|
var actions1 = $("#years_prices_grid td:last-child").html();
|
|||
|
// Append table with add row form on add new button click
|
|||
|
$(".new1").click(function () {
|
|||
|
if (!actions1) {
|
|||
|
actions1 = '<a class="add add1" title="Add" data-toggle="tooltip"><i class="material-icons"></i></a>\n' +
|
|||
|
' <a class="edit edit1" title="Edit" data-toggle="tooltip"><i class="material-icons"></i></a>\n' +
|
|||
|
' <a class="delete delete1" title="Delete" data-toggle="tooltip"><i class="material-icons"></i></a>';
|
|||
|
}
|
|||
|
$(this).attr("disabled", "disabled");
|
|||
|
var index = $("#years_prices_grid tbody tr:last-child").index();
|
|||
|
var row = '<tr>' +
|
|||
|
'<td><input type="number" required min="0" max="99" class="form-control" name="min_age"></td>' +
|
|||
|
'<td><input type="number" required min="0" max="99" class="form-control" name="max_age" ></td>' +
|
|||
|
'<td><input type="number" required class="form-control" min="0" max="100" name="markup_percentage"></td>' +
|
|||
|
'<td> ' + actions1 + '</td>' +
|
|||
|
'</tr>';
|
|||
|
$("#years_prices_grid").append(row);
|
|||
|
$("#years_prices_grid tbody tr").eq(index + 1).find(".add, .edit").toggle();
|
|||
|
$('[data-toggle="tooltip"]').tooltip();
|
|||
|
});
|
|||
|
// Add row on add button click
|
|||
|
$(document).on("click", ".add1", function () {
|
|||
|
var empty = false;
|
|||
|
var input = $(this).parents("tr").find('input[type="number"]');
|
|||
|
var min = parseFloat($(this).parents("tr").find('input[name="min_age"]').first().val());
|
|||
|
var max = parseFloat($(this).parents("tr").find('input[name="max_age"]').first().val());
|
|||
|
|
|||
|
input.each(function () {
|
|||
|
if ($(this).attr('name') == 'min_age') {
|
|||
|
if (min >= max) {
|
|||
|
$(this).addClass("error");
|
|||
|
$(this)[0].reportValidity();
|
|||
|
empty = true;
|
|||
|
} else {
|
|||
|
$(this).removeClass("error");
|
|||
|
}
|
|||
|
} else if ($(this).attr('name') == 'max_age') {
|
|||
|
if (max <= min) {
|
|||
|
$(this).addClass("error");
|
|||
|
$(this)[0].reportValidity();
|
|||
|
empty = true;
|
|||
|
} else {
|
|||
|
$(this).removeClass("error");
|
|||
|
}
|
|||
|
} else {
|
|||
|
if (!$(this)[0].checkValidity()) {
|
|||
|
$(this).addClass("error");
|
|||
|
$(this)[0].reportValidity();
|
|||
|
empty = true;
|
|||
|
} else {
|
|||
|
$(this).removeClass("error");
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
$(this).parents("tr").find(".error").first().focus();
|
|||
|
if (!empty) {
|
|||
|
input.each(function () {
|
|||
|
$(this).parent("td").html($(this).val());
|
|||
|
});
|
|||
|
$(this).parents("tr").find(".add, .edit").toggle();
|
|||
|
$(".new1").removeAttr("disabled");
|
|||
|
}
|
|||
|
});
|
|||
|
// Edit row on edit button click
|
|||
|
$(document).on("click", ".edit1", function () {
|
|||
|
$(this).parents("tr").find("td:not(:last-child)").each(function (index) {
|
|||
|
if (index == 0)
|
|||
|
$(this).html('<input type="number" required class="form-control" min="0" name="min_age" value="' + $(this).text() + '">');
|
|||
|
if (index == 1)
|
|||
|
$(this).html('<input type="number" required class="form-control" name="min_age" value="' + $(this).text() + '">');
|
|||
|
if (index == 2)
|
|||
|
$(this).html('<input type="number" required class="form-control" min="0" max="100" name="markup_percentage" value="' + $(this).text() + '">');
|
|||
|
});
|
|||
|
$(this).parents("tr").find(".add, .edit").toggle();
|
|||
|
$(".new1").attr("disabled", "disabled");
|
|||
|
});
|
|||
|
// Delete row on delete button click
|
|||
|
$(document).on("click", ".delete1", function () {
|
|||
|
$(this).parents("tr").remove();
|
|||
|
$(".new1").removeAttr("disabled");
|
|||
|
});
|
|||
|
|
|||
|
//Months Grid
|
|||
|
var actions2 = $("#months_prices_grid td:last-child").html();
|
|||
|
// Append table with add row form on add new button click
|
|||
|
$(".new2").click(function () {
|
|||
|
if (!actions2) {
|
|||
|
actions2 = '<a class="add add2" title="Add" data-toggle="tooltip"><i class="material-icons"></i></a>\n' +
|
|||
|
' <a class="edit edit2" title="Edit" data-toggle="tooltip"><i class="material-icons"></i></a>\n' +
|
|||
|
' <a class="delete delete2" title="Delete" data-toggle="tooltip"><i class="material-icons"></i></a>';
|
|||
|
}
|
|||
|
$(this).attr("disabled", "disabled");
|
|||
|
var index = $("#months_prices_grid tbody tr:last-child").index();
|
|||
|
var row = '<tr>' +
|
|||
|
'<td><input type="number" required min="0" class="form-control" name="number_of_months"></td>' +
|
|||
|
'<td><input type="number" required min="0" step="0.01" class="form-control" name="min_amount" ></td>' +
|
|||
|
'<td> ' + actions2 + '</td>' +
|
|||
|
'</tr>';
|
|||
|
$("#months_prices_grid").append(row);
|
|||
|
$("#months_prices_grid tbody tr").eq(index + 1).find(".add, .edit").toggle();
|
|||
|
$('[data-toggle="tooltip"]').tooltip();
|
|||
|
});
|
|||
|
// Add row on add button click
|
|||
|
$(document).on("click", ".add2", function () {
|
|||
|
var empty = false;
|
|||
|
var input = $(this).parents("tr").find('input[type="number"]');
|
|||
|
|
|||
|
input.each(function () {
|
|||
|
if (!$(this)[0].checkValidity()) {
|
|||
|
$(this).addClass("error");
|
|||
|
$(this)[0].reportValidity();
|
|||
|
empty = true;
|
|||
|
} else {
|
|||
|
$(this).removeClass("error");
|
|||
|
}
|
|||
|
});
|
|||
|
$(this).parents("tr").find(".error").first().focus();
|
|||
|
if (!empty) {
|
|||
|
input.each(function () {
|
|||
|
$(this).parent("td").html($(this).val());
|
|||
|
});
|
|||
|
$(this).parents("tr").find(".add, .edit").toggle();
|
|||
|
$(".new2").removeAttr("disabled");
|
|||
|
}
|
|||
|
});
|
|||
|
// Edit row on edit button click
|
|||
|
$(document).on("click", ".edit2", function () {
|
|||
|
$(this).parents("tr").find("td:not(:last-child)").each(function (index) {
|
|||
|
if (index == 0)
|
|||
|
$(this).html('<input type="number" required class="form-control" min="0" name="number_of_months" value="' + $(this).text() + '">');
|
|||
|
if (index == 1)
|
|||
|
$(this).html('<input type="number" required class="form-control" min="0" step="0.01" name="min_amount" value="' + $(this).text() + '">');
|
|||
|
});
|
|||
|
$(this).parents("tr").find(".add, .edit").toggle();
|
|||
|
$(".new2").attr("disabled", "disabled");
|
|||
|
});
|
|||
|
// Delete row on delete button click
|
|||
|
$(document).on("click", ".delete2", function () {
|
|||
|
$(this).parents("tr").remove();
|
|||
|
$(".new2").removeAttr("disabled");
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|
|||
|
<!-- Page script -->
|
|||
|
<script src="<?= base_url('dist/js/custom.js') ?>"></script>
|