576 lines
21 KiB
PHP
Executable File
576 lines
21 KiB
PHP
Executable File
<link rel="stylesheet" href="<?php echo base_url('bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css') ?>">
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css">
|
||
<link rel="stylesheet" href="<?php echo base_url('bower_components/toastr/toastr.css') ?>">
|
||
<div class="content-wrapper">
|
||
<!-- Content Header (Page header) -->
|
||
<section class="content-header">
|
||
|
||
<h1>
|
||
<?php echo $this->lang->line('management_operators'); ?>
|
||
<input type="button" class="btn btn-primary pull-right" id="Bactiver" value="Activer/Désactiver le(s) banque(s)" style="display: none;" />
|
||
</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>
|
||
<?php echo $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>
|
||
<?php echo $message; ?>
|
||
</div>
|
||
|
||
<?php
|
||
}
|
||
}
|
||
?>
|
||
</section>
|
||
|
||
<section class="content">
|
||
<div class="row">
|
||
<div class="col-lg-8">
|
||
<div class="box">
|
||
<div class="box-header">
|
||
<h3 class="box-title"><?php echo $this->lang->line('operators'); ?></h3>
|
||
</div>
|
||
<div class="box-body" style="overflow-x:auto;">
|
||
|
||
<?php
|
||
|
||
$sql2 = $operators;
|
||
if($sql2!=false){
|
||
$numrows=$sql2->num_rows();
|
||
$num = 0;
|
||
if ($numrows > 0) {
|
||
?>
|
||
<table id="validated" class="table table-bordered table-striped">
|
||
<thead>
|
||
<tr>
|
||
<th align='center'>N°</th>
|
||
<th><?php echo $this->lang->line('Pays'); ?></th>
|
||
<th>Type</th>
|
||
<th><?php echo $this->lang->line('Nom'); ?></th>
|
||
<th>Code</th>
|
||
<th><?php echo $this->lang->line('Adresse'); ?></th>
|
||
<th align='center'><?php echo $this->lang->line('Statut'); ?></th>
|
||
<th align='center'><?php echo $this->lang->line('Activer/Désactiver'); ?></th>
|
||
<th align='center'>Action</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<?php
|
||
foreach($sql2->result() as $row) {
|
||
$num ++;
|
||
$libelle_status = $this->lang->line('Actif');
|
||
if($row->status==0){
|
||
$libelle_status = $this->lang->line('Inactif');
|
||
}
|
||
$type = $this->session->userdata('site_lang') === 'french' ? $row->type_fr : $row->type_en;
|
||
?>
|
||
<tr>
|
||
<td align='center'><?= $num?></td>
|
||
<td><?= $row->country?></td>
|
||
<td><?=$type ?></td>
|
||
<td ><?=$row->operator_name ?></td>
|
||
<td ><?=$row->operator_code?></td>
|
||
<td ><?=$row->operator_address?></td>
|
||
<td align='center'><?=$libelle_status?></td>
|
||
<?php
|
||
if($row->status==0){
|
||
echo "<td align='center'><label>
|
||
<input type='checkbox' name='activer' class='minimal' data-id-operator='".$row->id."' data-id-country='".$row->country_id."' >
|
||
</label>
|
||
<label>
|
||
<input type='checkbox' name='desactiver' class='minimal-red' disabled data-id-operator='".$row->id."' data-id-country='".$row->country_id."'>
|
||
</label></td>";
|
||
}else{
|
||
echo "<td align='center'><label>
|
||
<input type='checkbox' name='activer' class='minimal' disabled data-id-operator='".$row->id."' data-id-country='".$row->country_id."'>
|
||
</label>
|
||
<label>
|
||
<input type='checkbox' name='desactiver' class='minimal-red' data-id-operator='".$row->id."' data-id-country='".$row->country_id."'>
|
||
</label></td>";
|
||
}
|
||
?>
|
||
<td align='center'>
|
||
<button data-toggle='modal' data-id-operator='<?=$row->id?>' data-name-operator='<?=$row->operator_name?>' data-type-operator="<?=$type?>"
|
||
data-address-operator='<?=$row->operator_address?>' data-code-operator='<?=$row->operator_code?>' data-country='<?=$row->country?>' data-id-country='<?=$row->country_id?>' class='open-modal btn btn-success' data-target='#editModal'><i class='fa fa-edit'></i></button>
|
||
|
||
<button data-id-operator='<?=$row->id?>' data-id-country='<?=$row->country_id?>' class='delete-operator btn btn-danger' ><i class='fa fa-trash'></i></button>
|
||
</td>
|
||
</tr>
|
||
<?php } ?>
|
||
</tbody>
|
||
</table>
|
||
|
||
<?php
|
||
|
||
}
|
||
|
||
else {
|
||
echo $this->lang->line('no_operator');
|
||
}
|
||
}else {
|
||
echo $this->lang->line('no_operator');
|
||
}
|
||
?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="col-lg-4">
|
||
<div class="box">
|
||
<div class="box-header">
|
||
<h3 class="box-title"><?php echo $this->lang->line('add_operator'); ?></h3>
|
||
</div>
|
||
<div class="box-body">
|
||
<form id="add-operator" method="post" class="bottom-75 center-block">
|
||
<div class="form-group">
|
||
<label for="name"><?php echo $this->lang->line('Nom'); ?></label>
|
||
<input type="text" class="form-control input-lg" name="name" required id="name">
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="type"><?php echo $this->lang->line('operator_type'); ?></label>
|
||
<?php
|
||
$result=$operators_types;
|
||
$numrows=$result->num_rows();
|
||
if ($numrows > 0) { ?>
|
||
<select class="form-control input-lg" name="type" required id="type" >
|
||
<?php foreach($result->result() as $row) {
|
||
echo "<option value='".$row->code."' id='".$row->id."'>".($this->session->userdata('site_lang') === 'french' ? $row->description_fr : $row->description_en)."</option>";
|
||
} ?>
|
||
</select>
|
||
<?php }else{
|
||
echo $this->lang->line("no_type");
|
||
}
|
||
?>
|
||
</div>
|
||
<div class="form-group">
|
||
<button type="submit" class="btn btn-primary"><?php echo $this->lang->line('Ajouter'); ?></button>
|
||
<button type="button" class="btn btn-success" data-toggle='modal' data-target='#addOperatorType' > <?php echo $this->lang->line('add_operator_type'); ?></button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<div class="box">
|
||
<div class="box-header">
|
||
<h3 class="box-title"><?php echo $this->lang->line('assign_operator_to_country'); ?></h3>
|
||
</div>
|
||
<div class="box-body">
|
||
<form id="assign-form" method="post" class="bottom-75 center-block">
|
||
<div class="form-group">
|
||
<label for="pays"><?php echo $this->lang->line('Pays'); ?></label>
|
||
<?php
|
||
$result=$pays;
|
||
$numrows=$result->num_rows();
|
||
if ($numrows > 0) { ?>
|
||
<select class="form-control input-lg" name="pays" required id="pays" multiple="multiple" >
|
||
<?php foreach($result->result() as $row) {
|
||
echo "<option value='".$row->id."' id='".$row->code_country."'>".$row->name."</option>";
|
||
} ?>
|
||
</select>
|
||
<?php }else{
|
||
echo $this->lang->line("Aucun pays");
|
||
}
|
||
?>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="ville"><?php echo $this->lang->line('operators'); ?></label>
|
||
<?php
|
||
$result=$distinct_operators;
|
||
if($result!=false) {
|
||
$numrows = $result->num_rows();
|
||
if ($numrows > 0) { ?>
|
||
<select class="form-control input-lg" name="operator" required id="operator">
|
||
<?php foreach ($result->result() as $row) {
|
||
echo "<option value='" . $row->id. "'>" . $row->nom." - ".($this->session->userdata('site_lang') === 'french' ? $row->description_fr : $row->description_en). "</option>";
|
||
} ?>
|
||
</select>
|
||
<?php } else {
|
||
echo $this->lang->line("no_operator");
|
||
}
|
||
}else{
|
||
echo $this->lang->line("no_operator");
|
||
}
|
||
?>
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="submit" value="<?php echo $this->lang->line('Ajouter'); ?>" class="btn btn-primary">
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="modal fade" id="editModal">
|
||
<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>
|
||
<h4 class="modal-title"><?php echo $this->lang->line('modify_operator'); ?></h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<form id="update-form" method="post" class="bottom-75 center-block">
|
||
<div class="form-group">
|
||
<label for="modal-pays"><?php echo $this->lang->line('Pays'); ?></label>
|
||
<input type="text" class="form-control input-lg" name="pays" required id="modal-pays" readonly="readonly">
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="type">Type</label>
|
||
<input type="text" class="form-control input-lg" name="pays" required id="type" readonly="readonly">
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="name"><?php echo $this->lang->line('Nom'); ?></label>
|
||
<input type="text" class="form-control input-lg" name="name" required id="name">
|
||
</div>
|
||
<div class="form-group">
|
||
<label for=code">Code</label>
|
||
<input type="text" pattern=".{4,}" class="form-control input-lg" name="code" id="code">
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="address"><?php echo $this->lang->line('Adresse'); ?></label>
|
||
<input type="text" class="form-control input-lg" name="address" id="address">
|
||
</div>
|
||
<div class="form-group">
|
||
<input type="submit" value="Confirmer" class="btn btn-primary">
|
||
<button type="button" class="btn btn-default pull-right" data-dismiss="modal"><?php echo $this->lang->line('Fermer'); ?></button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="modal fade" id="addOperatorType">
|
||
<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>
|
||
<h4 class="modal-title"><?php echo $this->lang->line('new_operator_type'); ?></h4>
|
||
</div>
|
||
<div class="modal-body">
|
||
<form id="add-operator-type-form" method="post" class="bottom-75 center-block">
|
||
<div class="form-group">
|
||
<label>Code</label>
|
||
<input type="text" class="form-control input-lg" name="code" required id="code">
|
||
</div>
|
||
<div class="form-group">
|
||
<label>Description</label>
|
||
<input type="text" class="form-control input-lg" name="description_fr" required id="description_fr">
|
||
</div>
|
||
<div class="form-group">
|
||
<button type="submit" class="btn btn-primary"><?php echo $this->lang->line('Confirmer'); ?></button>
|
||
<button type="button" class="btn btn-default pull-right" data-dismiss="modal"><?php echo $this->lang->line('Fermer'); ?></button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</section>
|
||
</div>
|
||
|
||
<!-- jQuery 3 -->
|
||
<script src="<?php echo base_url('bower_components/jquery/dist/jquery.min.js') ?>"></script>
|
||
<!-- Bootstrap 3.3.7 -->
|
||
<script src="<?php echo base_url('bower_components/bootstrap/dist/js/bootstrap.min.js') ?>"></script>
|
||
<!-- DataTables -->
|
||
<script src="<?php echo base_url('bower_components/datatables.net/js/jquery.dataTables.min.js') ?>"></script>
|
||
<script src="<?php echo base_url('bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js') ?>"></script>
|
||
<!-- Slimscroll -->
|
||
<script src="<?php echo base_url('bower_components/jquery-slimscroll/jquery.slimscroll.min.js') ?>"></script>
|
||
<!-- FastClick -->
|
||
<script src="<?php echo base_url('bower_components/fastclick/lib/fastclick.js') ?>"></script>
|
||
<!-- AdminLTE App -->
|
||
<script src="<?php echo base_url('dist/js/adminlte.min.js') ?>"></script>
|
||
<!-- AdminLTE for demo purposes -->
|
||
<script src="<?php echo base_url('dist/js/demo.js') ?>"></script>
|
||
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.js"></script>
|
||
|
||
<script src="<?php echo base_url('bower_components/toastr/toastr.js') ?>"></script>
|
||
<script src="<?php echo base_url('dist/js/sweetalert2.js') ?>"></script>
|
||
|
||
<script>
|
||
toastr.options.closeButton = true;
|
||
toastr.options.closeMethod = 'fadeOut';
|
||
toastr.options.closeDuration = 5000;
|
||
toastr.options.closeEasing = 'swing';
|
||
|
||
$(document).ready(function() {
|
||
var checkboxes = $("td input[type='checkbox']");
|
||
checkboxes.click(function() {
|
||
if ($("td input:checkbox:checked").length > 0)
|
||
{
|
||
$("#Bactiver").css("display", "block");
|
||
}else{
|
||
$("#Bactiver").css("display", "none");
|
||
}
|
||
|
||
});
|
||
|
||
|
||
var Bactiver = $("#Bactiver");
|
||
Bactiver.click(function(){
|
||
var activation = [];
|
||
var desactivation = [];
|
||
|
||
$.each($("input[name='activer']:checked"), function(){
|
||
activation.push({"id_operator" : $(this).data('id-operator'),"id_country": $(this).data('id-country')});
|
||
});
|
||
$.each($("input[name='desactiver']:checked"), function(){
|
||
desactivation.push({"id_operator" : $(this).data('id-operator'),"id_country": $(this).data('id-country')});
|
||
});
|
||
|
||
// console.log('act' , activation)
|
||
// console.log('desact' , desactivation)
|
||
|
||
$.ajax({
|
||
url:'<?php echo base_url('index.php/Gestion/change_operator_status')?>',
|
||
type: 'post',
|
||
data: {activations: activation,desactivations:desactivation},
|
||
dataType: 'json',
|
||
success: function(data){
|
||
if(data==='completed'){
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: "<?php echo $this->lang->line('operators_enabled_disabled')?>",
|
||
text: "<?php echo $this->lang->line('informations_updated')?>",
|
||
timer: 3000
|
||
}).then(()=>{
|
||
location.reload();
|
||
});
|
||
}else{
|
||
console.log('Error' , data);
|
||
toastr.error("<?php echo $this->lang->line('error_message')?>" , "<?php echo $this->lang->line('request_error')?>");
|
||
}
|
||
}
|
||
});
|
||
});
|
||
});
|
||
</script>
|
||
<script>
|
||
$(function() {
|
||
$('#unvalidated').DataTable();
|
||
$('#validated').DataTable();
|
||
})
|
||
|
||
</script>
|
||
|
||
<script>
|
||
$(function() {
|
||
$('#pays').multiselect({
|
||
includeSelectAllOption: true
|
||
});
|
||
});
|
||
|
||
</script>
|
||
|
||
<script>
|
||
|
||
var id_operator = null;
|
||
var name_network = null;
|
||
var id_country = null;
|
||
var country = null;
|
||
|
||
$(document).on("click", ".open-modal", function () {
|
||
id_operator = $(this).data('id-operator');
|
||
const operator_name = $(this).data('name-operator');
|
||
const operator_type = $(this).data('type-operator');
|
||
console.log('type',operator_type)
|
||
const operator_address = $(this).data('address-operator');
|
||
const operator_code = $(this).data('code-operator');
|
||
id_country = $(this).data('id-country');
|
||
country = $(this).data('country');
|
||
|
||
$(".modal-body #modal-pays").val(country);
|
||
$(".modal-body #type").val(operator_type);
|
||
$(".modal-body #name").val( operator_name );
|
||
$(".modal-body #address").val( operator_address );
|
||
$(".modal-body #code").val( operator_code );
|
||
|
||
});
|
||
|
||
$(document).on("click", ".delete-operator", function (event) {
|
||
id_operator = $(this).data('id-operator');
|
||
id_country = $(this).data('id-country');
|
||
|
||
$.ajax({
|
||
url:'<?php echo base_url('index.php/Gestion/delete_operator')?>',
|
||
type: 'post',
|
||
data: {id_operator: id_operator , id_country : id_country},
|
||
dataType: 'json',
|
||
success: function(data){
|
||
if(data==='completed'){
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: "<?php echo $this->lang->line('operator_deleted')?>",
|
||
text: "<?php echo $this->lang->line('informations_updated')?>",
|
||
timer: 3000
|
||
}).then(()=>{
|
||
location.reload();
|
||
});
|
||
}else{
|
||
console.log("Error",data);
|
||
toastr.error("<?php echo $this->lang->line('unexpected_error')?>" , "<?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();
|
||
|
||
});
|
||
|
||
$("#assign-form").submit(function(event){
|
||
var id_operator = $("#assign-form #operator").val();
|
||
var selectedValues = $('#assign-form #pays').val();
|
||
|
||
$.ajax({
|
||
url:'<?php echo base_url('index.php/Gestion/assign_operator')?>',
|
||
type: 'post',
|
||
data: {id_country: selectedValues,id_operator:id_operator},
|
||
dataType: 'json',
|
||
success: function(data){
|
||
if(data==='completed'){
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: "<?php echo $this->lang->line('operator_assigned')?>",
|
||
text: "<?php echo $this->lang->line('informations_updated')?>",
|
||
timer: 3000
|
||
}).then(()=>{
|
||
location.reload();
|
||
});
|
||
}else if(data==='existe'){
|
||
alert('Ce réseau a déjà été assigné à certains des pays sélectionnés');
|
||
location.reload();
|
||
}else{
|
||
console.log("Error",data);
|
||
toastr.error("<?php echo $this->lang->line('unexpected_error')?>" , "<?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();
|
||
});
|
||
|
||
$("#add-operator").submit(function(event){
|
||
var name = $("#add-operator #name").val();
|
||
var type = $("#add-operator #type").val();
|
||
$.ajax({
|
||
url:'<?php echo base_url('index.php/Gestion/add_operator')?>',
|
||
type: 'post',
|
||
data: {name: name , type :type},
|
||
dataType: 'json',
|
||
success: function(data){
|
||
if(data==='completed'){
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: "<?php echo $this->lang->line('operator_added')?>",
|
||
text: "<?php echo $this->lang->line('informations_updated')?>",
|
||
timer: 3000
|
||
}).then(()=>{
|
||
location.reload();
|
||
});
|
||
}else{
|
||
console.log("Error",data);
|
||
toastr.error("<?php echo $this->lang->line('unexpected_error')?>" , "<?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();
|
||
});
|
||
|
||
$("#update-form").submit(function(event){
|
||
const name = $("#update-form #name").val();
|
||
const address = $("#update-form #address").val();
|
||
const code = $("#update-form #code").val();
|
||
$.ajax({
|
||
url:'<?php echo base_url('index.php/Gestion/update_operator')?>',
|
||
type: 'post',
|
||
data: {id_operator: id_operator ,name:name , address :address , id_country : id_country , code : code},
|
||
dataType: 'json',
|
||
success: function(data){
|
||
if(data==='completed'){
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: "<?php echo $this->lang->line('operator_modified')?>",
|
||
text: "<?php echo $this->lang->line('informations_updated')?>",
|
||
timer: 3000
|
||
}).then(()=>{
|
||
location.reload();
|
||
});
|
||
}else{
|
||
console.log("Error",data);
|
||
toastr.error("<?php echo $this->lang->line('unexpected_error')?>" , "<?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();
|
||
});
|
||
|
||
$("#add-operator-type-form").submit(function(event){
|
||
var code = $("#add-operator-type-form #code").val();
|
||
// var description_en = $("#add-operator-type-form #description_en").val();
|
||
var description_fr = $("#add-operator-type-form #description_fr").val();
|
||
$.ajax({
|
||
url:'<?php echo base_url('index.php/Gestion/add_operator_type')?>',
|
||
type: 'post',
|
||
data: {code: code , description_fr :description_fr},
|
||
dataType: 'json',
|
||
success: function(data){
|
||
if(data===200){
|
||
Swal.fire({
|
||
icon: 'success',
|
||
title: "<?php echo $this->lang->line('new_operator_added')?>",
|
||
text: "<?php echo $this->lang->line('informations_updated')?>",
|
||
timer: 3000
|
||
}).then(()=>{
|
||
location.reload();
|
||
});
|
||
}else if(data === 422){
|
||
toastr.error("<?php echo $this->lang->line('operator_type_code_exists')?>" , "<?php echo $this->lang->line('request_error')?>");
|
||
}else if(data === 500){
|
||
toastr.error("<?php echo $this->lang->line('unexpected_error')?>" , "<?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();
|
||
});
|
||
</script>
|