This commit is contained in:
KONE SOREL 2026-03-14 11:13:37 +00:00
parent 94742b419b
commit 49a166db0e
12 changed files with 1047 additions and 544 deletions

View File

@ -1,30 +1,88 @@
<form id="formData">
<legend id="titre_formData"><?= _("Ajouter des données") ?></legend>
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" ></td>
<td width="5%" align="center">code Swift</td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="codeSwift" NAME="codeSwift"></td>
</tr>
<tr>
<td width="5%" align="center"> Compte Cpt</td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="numeroCompteCpt" NAME="numeroCompteCpt"></td>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-success small" id="titre_formData">
<i class="fas fa-university me-2"></i><?= _("Ajouter une banque") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<div class="row g-3">
<div class="col-md-8">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-landmark text-primary"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle" name="libelle" required autocomplete="OFF">
</div>
</div>
<td width="5%" align="center"> Compte Bancaire</td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="numeroCompteBancaire" NAME="numeroCompteBancaire"></td>
<td width="5%" align="center">Banque Société</td>
<td width="5%">
<select name="banqueSociete" id="banqueSociete" class="form-select">
<?= liste_options($ouinonoptionnelle,'1',true) ?>
</select>
</td>
</tr>
</tbody>
</table>
</form>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("Code Swift") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-random text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule"
id="codeSwift" name="codeSwift">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("N° Compte Comptable") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-calculator text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold text-primary"
id="numeroCompteCpt" name="numeroCompteCpt">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("N° Compte Bancaire") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-credit-card text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule"
id="numeroCompteBancaire" name="numeroCompteBancaire">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("Banque Société") ?></label>
<div class="shadow-xs">
<select name="banqueSociete" id="banqueSociete" class="selectpicker form-control border-2" data-container="body">
<?= liste_options($ouinonoptionnelle, '1', true) ?>
</select>
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation du SelectPicker (Standard Neutral Pro)
$('.selectpicker').selectpicker();
// Focus UX Neutral Pro : 200ms sur le premier champ modifiable
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 { border-width: 2px !important; }
.majuscule { text-transform: uppercase; }
.required:after { content: " *"; color: #dc3545; font-weight: bold; }
/* Harmonisation SelectPicker pour cohérence 2px */
.bootstrap-select > .dropdown-toggle {
border-width: 2px !important;
height: 38px !important;
background-color: #fff !important;
}
</style>

View File

@ -1,26 +1,84 @@
<form id="formData">
<legend id="titre_formData"><?= _("Ajouter des données") ?></legend>
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center" class="required"><?= _("Libellé Fr") ?></td>
<td width="24%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" ></td>
<td width="5%" align="center" class="required"><?= _("Libellé Eng") ?></td>
<td width="24%" ><INPUT class="form-control majuscule" TYPE="text" id="libelleEng" NAME="libelleEng" required AUTOCOMPLETE="OFF"></td>
<td width="5%" align="center">Type</td>
<td width="14%" >
<select name="codeTypePaiement" id="codeTypePaiement" class="form-select">
<?= liste_options($typepaiement,'',false) ?>
</select>
</td>
<td width="5%" align="center">Ordre</td>
<td width="8%" ><INPUT class="form-control text-center" TYPE="number" min="0" value="0" id="ordre" NAME="ordre" onBlur="controle_numerique(this);"></td>
</tr>
</tbody>
</table>
</form>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-success small" id="titre_formData">
<i class="fas fa-credit-card me-2"></i><?= _("Ajouter un mode de paiement") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<div class="row g-3 align-items-end">
<div class="col-md-3">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Fr)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/france.png" width="16" alt="FR">
</span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle" name="libelle" required autocomplete="OFF">
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Eng)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/england.png" width="16" alt="EN">
</span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelleEng" name="libelleEng" required autocomplete="OFF">
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small">Type</label>
<div class="shadow-xs">
<select name="codeTypePaiement" id="codeTypePaiement" class="selectpicker form-control border-2" data-container="body" data-live-search="true">
<?= liste_options($typepaiement, '', false) ?>
</select>
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small"><?= _("Ordre") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-light border-2 border-end-0"><i class="fas fa-sort-numeric-down text-muted"></i></span>
<input type="number" class="form-control border-2 border-start-0 text-center fw-bold"
min="0" value="0" id="ordre" name="ordre"
onBlur="controle_numerique(this);">
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation du SelectPicker selon le standard (Règle d'or)
actualiserSelectPicker('#codeTypePaiement', false);
// Focus UX Neutral Pro : 200ms sur le premier champ modifiable
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 { border-width: 2px !important; }
.majuscule { text-transform: uppercase; }
.required:after { content: " *"; color: #dc3545; font-weight: bold; }
/* Harmonisation SelectPicker pour cohérence 2px */
.bootstrap-select > .dropdown-toggle {
border-width: 2px !important;
height: 38px !important;
background-color: #fff !important;
}
</style>

View File

@ -1,21 +1,79 @@
<form id="formData">
<legend id="titre_formData"><?= _("Ajouter des données") ?></legend>
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="20%"><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" ></td>
<td width="5%" align="center" class="required">Type</td>
<td width="20%">
<select name="codeTypePaiement" id="codeTypePaiement" class="form-select" required AUTOCOMPLETE="OFF">
<?= liste_options($typepaiement,'',false) ?>
</select>
</td>
<td width="5%" align="center"> Compte</td>
<td width="20%"><INPUT class="form-control majuscule" TYPE="text" id="numeroCompte" NAME="numeroCompte"></td>
</tr>
</tbody>
</table>
</form>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-success small" id="titre_formData">
<i class="fas fa-wallet me-2"></i><?= _("Ajouter un moyen de paiement") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<div class="row g-4 align-items-end">
<div class="col-md-4">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-tag text-primary"></i></span>
<input type="text"
class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle"
name="libelle"
required
autocomplete="OFF">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small required"><?= _("Type") ?></label>
<select name="codeTypePaiement" id="codeTypePaiement"
class="selectpicker form-control border-2 shadow-xs"
data-live-search="true"
data-container="body"
required>
<?= liste_options($typepaiement, '', false) ?>
</select>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("N° Compte") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-calculator text-muted"></i></span>
<input type="text"
class="form-control border-2 border-start-0 majuscule"
id="numeroCompte"
name="numeroCompte"
autocomplete="OFF">
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation du SelectPicker selon le standard
actualiserSelectPicker('#codeTypePaiement', false);
// Règle d'Or Neutral Pro : Focus différé de 200ms
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 { border-width: 2px !important; }
.majuscule { text-transform: uppercase; }
.required:after { content: " *"; color: #dc3545; font-weight: bold; }
/* Ajustement SelectPicker pour cohérence 2px */
.bootstrap-select > .dropdown-toggle {
border-width: 2px !important;
height: 38px !important;
background-color: #fff !important;
}
</style>

View File

@ -1,16 +1,77 @@
<form id="formData">
<legend id="titre_formData"><?= _("Ajouter des données") ?></legend>
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center" class="required"><?= _("Libellé Fr") ?></td>
<td width="28%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" ></td>
<td width="5%" align="center"><?= _("Libellé Eng") ?></td>
<td width="27%"><INPUT class="form-control majuscule" TYPE="text" id="libelleEng" NAME="libelleEng"></td>
</tr>
</tbody>
</table>
</form>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-success small" id="titre_formData">
<i class="fas fa-plus-circle me-2"></i><?= _("Ajouter un type de paiement") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<div class="row g-4">
<div class="col-md-6">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Fr)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/france.png" width="16" alt="FR">
</span>
<input type="text"
class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle"
name="libelle"
required
autocomplete="OFF">
</div>
</div>
<div class="col-md-6">
<label class="form-label fw-bold text-muted small"><?= _("Libellé (Eng)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/england.png" width="16" alt="EN">
</span>
<input type="text"
class="form-control border-2 border-start-0 majuscule"
id="libelleEng"
name="libelleEng"
autocomplete="OFF">
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Règle d'Or Neutral Pro : Focus différé de 200ms
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 {
border-width: 2px !important;
border-color: #dee2e6;
}
.form-control:focus {
border-color: #212e53;
box-shadow: 0 0 0 0.25rem rgba(33, 46, 83, 0.1);
}
.majuscule { text-transform: uppercase; }
.required:after {
content: " *";
color: #dc3545;
font-weight: bold;
}
</style>

View File

@ -1,86 +1,84 @@
<?php
$nbreTotal = count($banque);
if($nbreTotal < 10){
$nbreTotal = '0'.$nbreTotal;
}else{
$nbreTotal = format_N($nbreTotal);
}
if (est_anglophone()){
if($existeselection){
$libbouton = "Uncheck all";
}else{
$libbouton = "Check all";
}
}else{
if($existeselection){
$libbouton = "Décocher tous";
}else{
$libbouton = "Cocher tous";
}
}
<?php
// Préparation simplifiée du compteur Standard Neutral Pro
$nbreTotal = count($banque);
?>
<?php $superUser = $_SESSION['superUser']; ?>
<div class="card border-0 shadow-sm overflow-hidden">
<div class="card-header bg-white py-3 border-bottom d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<h6 class="mb-0 fw-bold text-uppercase text-primary small">
<i class="fas fa-university me-2"></i><?= _("Référentiel des Banques") ?>
</h6>
<span class="badge bg-primary-ghost text-primary ms-3 px-3 py-2 rounded-pill fw-bold" id="badge-total">
<?= $nbreTotal ?> <?= _("Lignes") ?>
</span>
</div>
<div id="table-buttons" class="d-flex gap-2"></div>
</div>
<table style="margin: auto" class="table-responsive">
<tbody>
<td><input class="form-control" style="text-align: center; font-size:10pt;" type="text" id="nbreTotal" name="nbreTotal" value="<?= _("Lignes Total").": ". $nbreTotal; ?>" readonly> </td>
</tbody>
</table>
<input type="hidden" id="total" value="<?= $nbreTotal; ?>">
<table id="tableLister" class="table table-striped table-bordered table-hover table-condensed table-responsive compact">
<thead>
<tr>
<th class="text-center"><?= _("Centre gestion") ?></th>
<th class="text-center" >Code</th>
<th class="text-center"><?= _("Libellé") ?></th>
<th class="text-center"><?= _("N° Compte") ?></th>
<!--
<th class="text-center">
<button type="button" style="font-size:10pt; font-weight: bold; width:100%; background-color:#4caf50; color: white;" class="form-control btn" onclick="javascript:cocherDecocherTout($('#fichier_lister').val());" > <?= $libbouton; ?> </button>
</th>
-->
<th class="text-center"><?= _("Modifier") ?></th>
<!--
<th class="text-center">Supprimer</th>
-->
</tr>
</thead>
<tbody>
<?php foreach ($banque as $v):
$idData = $this->nettoyer($v['id']);
?>
<tr valign="top">
<td class="text-center" width="15%"><?= $this->nettoyer($v['codeSociete']);; ?>
<td class="text-center" width="10%"><?= $this->nettoyer($v['codeBanque']) ?></td>
<td class="text-left" width="40%"><?= $this->nettoyer($v['libelle']) ?></td>
<td class="text-center" width="20%"><?= $this->nettoyer($v['numeroCompteCpt']) ?></td>
<!--
<td class="text-center" width="10%">
<?php
if($this->nettoyer($v['choix'] == '0')){
$check ='';
}
else{
$check = 'checked';
}
?>
<INPUT TYPE="checkbox" class="custom-control-input" style="width: 2rem;height: 2rem;" id="choix" NAME="choix" value="<?=(($this->nettoyer($v['choix'])==0)? 0 : 1);?>" onclick="if (this.checked) this.value=1; else this.value=0;cocherDecocherUn($('#fichier_lister').val(),<?= $idData; ?>);" <?= $check;?>>
</td>
-->
<td class="text-center" width="10%">
<button style="width:100%" class ="form-control btn btn-primary" type="button" id="btn-editer" name="Modifier"
onclick="JAVASCRIPT:formModifTableRef(<?= $idData; ?>);" ><?= _("Modifier") ?></button>
</td>
<!--
<td class="text-center" width="10%">
<button style="width:100%" class = "form-control btn btn-danger" type="button" id="btn-supprimer" name="Supprimer"
onclick="JAVASCRIPT:supprimeLigneListe(<?= $idData; ?>,'<?= $superUser; ?>')">Supprimer</button>
</td>
-->
</tr>
<?php endforeach; ?>
</tbody>
</table>
<div class="card-body p-0">
<div class="table-responsive">
<table id="tableLister" class="table table-hover align-middle mb-0" style="width:100%">
<thead class="bg-light text-muted small text-uppercase">
<tr>
<th class="ps-4 border-0" width="15%"><?= _("Centre") ?></th>
<th class="border-0" width="10%">Code</th>
<th class="border-0"><?= _("Libellé") ?></th>
<th class="border-0"><?= _("N° Compte") ?></th>
<th class="border-0 text-center pe-4" width="15%"><?= _("Actions") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($banque as $v):
$idData = $this->nettoyer($v['id']);
?>
<tr>
<td class="ps-4 fw-medium text-muted small">
<?= $this->nettoyer($v['codeSociete']) ?>
</td>
<td>
<span class="badge bg-light text-dark border fw-bold px-2 py-1">
<?= $this->nettoyer($v['codeBanque']) ?>
</span>
</td>
<td class="fw-bold text-dark text-uppercase">
<?= $this->nettoyer($v['libelle']) ?>
</td>
<td>
<code class="text-primary fw-bold">
<i class="fas fa-credit-card me-1 opacity-50"></i>
<?= $this->nettoyer($v['numeroCompteCpt']) ?>
</code>
</td>
<td class="text-center pe-4">
<button type="button"
class="btn btn-outline-primary btn-sm px-3 rounded-pill fw-bold shadow-xs"
onclick="formModifTableRef(<?= $idData; ?>);">
<i class="fas fa-edit me-1"></i> <?= _("Modifier") ?>
</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation standard DataTables avec exports et compteur
initDataTableReference('#tableLister', 'Liste_Banques');
});
</script>
<style>
/* Rappel des constantes du Design System Neutral Pro */
#tableLister tbody td {
height: 60px;
border-bottom: 1px solid #f1f4f6;
}
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08) !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.text-primary { color: #212e53 !important; }
</style>

View File

@ -1,95 +1,94 @@
<?php
$nbreTotal = count($modepaiement);
if($nbreTotal < 10){
$nbreTotal = '0'.$nbreTotal;
}else{
$nbreTotal = format_N($nbreTotal);
}
if (est_anglophone()){
if($existeselection){
$libbouton = "Uncheck all";
}else{
$libbouton = "Check all";
}
}else{
if($existeselection){
$libbouton = "Décocher tous";
}else{
$libbouton = "Cocher tous";
}
}
<?php
// Préparation simplifiée du compteur Standard Neutral Pro
$nbreTotal = count($modepaiement);
?>
<?php $superUser = $_SESSION['superUser']; ?>
<div class="card border-0 shadow-sm overflow-hidden">
<div class="card-header bg-white py-3 border-bottom d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<h6 class="mb-0 fw-bold text-uppercase text-primary small">
<i class="fas fa-credit-card me-2"></i><?= _("Référentiel des Modes de Paiement") ?>
</h6>
<span class="badge bg-primary-ghost text-primary ms-3 px-3 py-2 rounded-pill fw-bold" id="badge-total">
<?= $nbreTotal ?> <?= _("Lignes") ?>
</span>
</div>
<div id="table-buttons" class="d-flex gap-2"></div>
</div>
<table style="margin: auto" class="table-responsive">
<tbody>
<td><input class="form-control" style="text-align: center; font-size:10pt;" type="text" id="nbreTotal" name="nbreTotal" value="<?= _("Lignes Total").": ". $nbreTotal; ?>" readonly> </td>
</tbody>
</table>
<input type="hidden" id="total" value="<?= $nbreTotal; ?>">
<input type="hidden" id="selectionne" value="<?= $existeselection ? 'true' : 'false'; ?>">
<table id="tableLister" class="table table-striped table-bordered table-hover table-condensed table-responsive">
<thead>
<tr>
<th class="text-center"><?= _("Centre gestion") ?></th>
<th class="text-center">Code</th>
<th class="text-center"><?= _("Libellé") ?></th>
<th class="text-center">Type</th>
<!--
<th class="text-center">
<button type="button" style="font-size:10pt; font-weight: bold; width:100%; background-color:#4caf50; color: white;" class="form-control btn" onclick="javascript:cocherDecocherTout($('#fichier_lister').val());" > <?= $libbouton; ?> </button>
</th>
-->
<th class="text-center"><?= _("Modifier") ?></th>
<!--
<th class="text-center">Supprimer</th>
-->
</tr>
</thead>
<tbody>
<?php foreach ($modepaiement as $v):
$idData = $this->nettoyer($v['id']);
if (est_anglophone()){
$libelle = $this->nettoyer($v['libelleEng']);
$libtypepaie = $this->nettoyer($v['libtypeeng']);
}else{
$libelle = $this->nettoyer($v['libelle']);
$libtypepaie = $this->nettoyer($v['libtypefr']);
}
?>
<tr valign="top">
<td class="text-center" width="15%"><?= $this->nettoyer($v['codeSociete']);; ?>
<td class="text-center" width="10%"><?= $this->nettoyer($v['codeModePaiement']) ?></td>
<td class="text-left" width="55%"><?= $libelle; ?></td>
<td class="text-left" width="55%"><?= $libtypepaie; ?></td>
<!--
<td class="text-center" width="10%">
<?php
if($this->nettoyer($v['choix'] == '0')){
$check ='';
}
else{
$check = 'checked';
}
?>
<INPUT TYPE="checkbox" class="custom-control-input" style="width: 2rem;height: 2rem;" id="choix" NAME="choix" value="<?=(($this->nettoyer($v['choix'])==0)? 0 : 1);?>" onclick="if (this.checked) this.value=1; else this.value=0;cocherDecocherUn($('#fichier_lister').val(),<?= $idData; ?>);" <?= $check;?>>
</td>
-->
<td class="text-center" width="10%">
<button style="width:100%" class ="form-control btn btn-primary" type="button" id="btn-editer" name="Modifier"
onclick="JAVASCRIPT:formModifTableRef(<?= $idData; ?>);" ><?= _("Modifier") ?></button>
</td>
<!--
<td class="text-center" width="10%">
<button style="width:100%" class = "form-control btn btn-danger" type="button" id="btn-supprimer" name="Supprimer"
onclick="JAVASCRIPT:supprimeLigneListe(<?= $idData; ?>,'<?= $superUser; ?>')">Supprimer</button>
</td>
-->
</tr>
<?php endforeach; ?>
</tbody>
</table>
<div class="card-body p-0">
<div class="table-responsive">
<table id="tableLister" class="table table-hover align-middle mb-0" style="width:100%">
<thead class="bg-light text-muted small text-uppercase">
<tr>
<th class="ps-4 border-0" width="15%"><?= _("Centre") ?></th>
<th class="border-0" width="10%">Code</th>
<th class="border-0"><?= _("Libellé") ?></th>
<th class="border-0"><?= _("Type") ?></th>
<th class="border-0 text-center pe-4" width="15%"><?= _("Actions") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($modepaiement as $v):
$idData = $this->nettoyer($v['id']);
// Gestion multilingue Centralisée
if (est_anglophone()){
$libelle = $this->nettoyer($v['libelleEng']);
$libtypepaie = $this->nettoyer($v['libtypeeng']);
} else {
$libelle = $this->nettoyer($v['libelle']);
$libtypepaie = $this->nettoyer($v['libtypefr']);
}
?>
<tr>
<td class="ps-4 fw-medium text-muted small">
<?= $this->nettoyer($v['codeSociete']) ?>
</td>
<td>
<span class="badge bg-light text-dark border fw-bold px-2 py-1">
<?= $this->nettoyer($v['codeModePaiement']) ?>
</span>
</td>
<td class="fw-bold text-dark text-uppercase">
<?= $libelle ?>
</td>
<td>
<span class="badge bg-info-ghost text-info px-3 rounded-pill small fw-bold">
<i class="fas fa-info-circle me-1 small"></i>
<?= $libtypepaie ?>
</span>
</td>
<td class="text-center pe-4">
<button type="button"
class="btn btn-outline-primary btn-sm px-3 rounded-pill fw-bold shadow-xs"
onclick="formModifTableRef(<?= $idData; ?>);">
<i class="fas fa-edit me-1"></i> <?= _("Modifier") ?>
</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation standard avec exports et recherche
initDataTableReference('#tableLister', 'Modes_Paiement');
});
</script>
<style>
/* Rappel des constantes du Design System Neutral Pro */
#tableLister tbody td {
height: 60px; /* Règle d'or */
border-bottom: 1px solid #f1f4f6;
}
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08) !important; }
.bg-info-ghost { background-color: rgba(13, 202, 240, 0.08) !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.text-primary { color: #212e53 !important; }
</style>

View File

@ -1,88 +1,91 @@
<?php
$nbreTotal = count($moyenpaiement);
if($nbreTotal < 10){
$nbreTotal = '0'.$nbreTotal;
}else{
$nbreTotal = format_N($nbreTotal);
}
if (est_anglophone()){
if($existeselection){
$libbouton = "Uncheck all";
}else{
$libbouton = "Check all";
}
}else{
if($existeselection){
$libbouton = "Décocher tous";
}else{
$libbouton = "Cocher tous";
}
}
<?php
// Préparation simplifiée du compteur Standard Neutral Pro
$nbreTotal = count($moyenpaiement);
?>
<?php $superUser = $_SESSION['superUser']; ?>
<div class="card border-0 shadow-sm overflow-hidden">
<div class="card-header bg-white py-3 border-bottom d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<h6 class="mb-0 fw-bold text-uppercase text-primary small">
<i class="fas fa-wallet me-2"></i><?= _("Référentiel des Moyens de Paiement") ?>
</h6>
<span class="badge bg-primary-ghost text-primary ms-3 px-3 py-2 rounded-pill fw-bold" id="badge-total">
<?= $nbreTotal ?> <?= _("Lignes") ?>
</span>
</div>
<div id="table-buttons" class="d-flex gap-2"></div>
</div>
<table style="margin: auto" class="table-responsive">
<tbody>
<td><input class="form-control" style="text-align: center; font-size:10pt;" type="text" id="nbreTotal" name="nbreTotal" value="<?= _("Lignes Total").": ". $nbreTotal; ?>" readonly> </td>
</tbody>
</table>
<input type="hidden" id="total" value="<?= $nbreTotal; ?>">
<table id="tableLister" class="table table-striped table-bordered table-hover table-condensed table-responsive compact">
<thead>
<tr>
<th class="text-center"><?= _("Centre gestion") ?></th>
<th class="text-center">Code</th>
<th class="text-center"><?= _("Libellé") ?></th>
<th class="text-center"><?= _("Type Paiement") ?></th>
<th class="text-center"><?= _("Numéro Compte") ?></th>
<!--
<th class="text-center">
<button type="button" style="font-size:10pt; font-weight: bold; width:100%; background-color:#4caf50; color: white;" class="form-control btn" onclick="javascript:cocherDecocherTout($('#fichier_lister').val());" > <?= $libbouton; ?> </button>
</th>
-->
<th class="text-center"><?= _("Modifier") ?></th>
<!--
<th class="text-center">Supprimer</th>
-->
</tr>
</thead>
<tbody>
<?php foreach ($moyenpaiement as $v):
$idData = $this->nettoyer($v['id']);
?>
<tr valign="top">
<td class="text-center" width="15%"><?= $this->nettoyer($v['codeSociete']);; ?>
<td class="text-center" width="10%"><?= $this->nettoyer($v['codeMoyenPaiement']) ?></td>
<td class="text-left" width="30%"><?= $this->nettoyer($v['libelle']) ?></td>
<td class="text-left" width="20%"><?= $this->nettoyer($v['typepaiement']) ?></td>
<td class="text-left" width="20%"><?= $this->nettoyer($v['numeroCompte']) ?></td>
<!--
<td class="text-center" width="10%">
<?php
if($this->nettoyer($v['choix'] == '0')){
$check ='';
}
else{
$check = 'checked';
}
?>
<INPUT TYPE="checkbox" class="custom-control-input" style="width: 2rem;height: 2rem;" id="choix" NAME="choix" value="<?=(($this->nettoyer($v['choix'])==0)? 0 : 1);?>" onclick="if (this.checked) this.value=1; else this.value=0;cocherDecocherUn($('#fichier_lister').val(),<?= $idData; ?>);" <?= $check;?>>
</td>
-->
<td class="text-center" width="10%">
<button style="width:100%" class ="form-control btn btn-primary" type="button" id="btn-editer" name="Modifier"
onclick="JAVASCRIPT:formModifTableRef(<?= $idData; ?>);" ><?= _("Modifier") ?></button>
</td>
<!--
<td class="text-center" width="10%">
<button style="width:100%" class = "form-control btn btn-danger" type="button" id="btn-supprimer" name="Supprimer"
onclick="JAVASCRIPT:supprimeLigneListe(<?= $idData; ?>,'<?= $superUser; ?>')">Supprimer</button>
</td>
-->
</tr>
<?php endforeach; ?>
</tbody>
</table>
<div class="card-body p-0">
<div class="table-responsive">
<table id="tableLister" class="table table-hover align-middle mb-0" style="width:100%">
<thead class="bg-light text-muted small text-uppercase">
<tr>
<th class="ps-4 border-0" width="15%"><?= _("Centre") ?></th>
<th class="border-0" width="10%">Code</th>
<th class="border-0"><?= _("Libellé") ?></th>
<th class="border-0"><?= _("Type") ?></th>
<th class="border-0"><?= _("N° Compte") ?></th>
<th class="border-0 text-center pe-4" width="15%"><?= _("Actions") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($moyenpaiement as $v):
$idData = $this->nettoyer($v['id']);
?>
<tr>
<td class="ps-4 fw-medium text-muted small">
<?= $this->nettoyer($v['codeSociete']) ?>
</td>
<td>
<span class="badge bg-light text-dark border fw-bold px-2 py-1">
<?= $this->nettoyer($v['codeMoyenPaiement']) ?>
</span>
</td>
<td class="fw-bold text-dark text-uppercase">
<?= $this->nettoyer($v['libelle']) ?>
</td>
<td>
<span class="text-muted small">
<i class="fas fa-exchange-alt me-1 opacity-50"></i>
<?= $this->nettoyer($v['typepaiement']) ?>
</span>
</td>
<td>
<code class="text-primary fw-bold">
<?= $this->nettoyer($v['numeroCompte']) ?>
</code>
</td>
<td class="text-center pe-4">
<button type="button"
class="btn btn-outline-primary btn-sm px-3 rounded-pill fw-bold shadow-xs"
onclick="formModifTableRef(<?= $idData; ?>);">
<i class="fas fa-edit me-1"></i> <?= _("Modifier") ?>
</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation standard avec activation des exports et recherche
initDataTableReference('#tableLister', 'Moyens_Paiement');
});
</script>
<style>
/* Rappel des constantes du Design System Neutral Pro */
#tableLister tbody td {
height: 60px; /* Règle d'or pour le confort visuel */
border-bottom: 1px solid #f1f4f6;
}
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08) !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.text-primary { color: #212e53 !important; }
code { font-size: 0.9em; background: #f8fafc; padding: 2px 6px; border-radius: 4px; }
</style>

View File

@ -1,91 +1,78 @@
<?php
$nbreTotal = count($typepaiement);
if($nbreTotal < 10){
$nbreTotal = '0'.$nbreTotal;
}else{
$nbreTotal = format_N($nbreTotal);
}
if (est_anglophone()){
if($existeselection){
$libbouton = "Uncheck all";
}else{
$libbouton = "Check all";
}
}else{
if($existeselection){
$libbouton = "Décocher tous";
}else{
$libbouton = "Cocher tous";
}
}
<?php
// Préparation simplifiée du compteur Standard Neutral Pro
$nbreTotal = count($typepaiement);
?>
<?php $superUser = $_SESSION['superUser']; ?>
<div class="card border-0 shadow-sm overflow-hidden">
<div class="card-header bg-white py-3 border-bottom d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<h6 class="mb-0 fw-bold text-uppercase text-primary small">
<i class="fas fa-list-alt me-2"></i><?= _("Référentiel des Types de Paiement") ?>
</h6>
<span class="badge bg-primary-ghost text-primary ms-3 px-3 py-2 rounded-pill fw-bold" id="badge-total">
<?= $nbreTotal ?> <?= _("Lignes") ?>
</span>
</div>
<div id="table-buttons" class="d-flex gap-2"></div>
</div>
<table style="margin: auto" class="table-responsive">
<tbody>
<td><input class="form-control" style="text-align: center; font-size:10pt;" type="text" id="nbreTotal" name="nbreTotal" value="<?= _("Lignes Total").": ". $nbreTotal; ?>" readonly> </td>
</tbody>
</table>
<input type="hidden" id="total" value="<?= $nbreTotal; ?>">
<input type="hidden" id="selectionne" value="<?= $existeselection ? 'true' : 'false'; ?>">
<table id="tableLister" class="table table-striped table-bordered table-hover table-condensed table-responsive">
<thead>
<tr>
<th class="text-center"><?= _("Centre gestion") ?></th>
<th class="text-center">Code</th>
<th class="text-center"><?= _("Libellé") ?></th>
<!--
<th class="text-center">
<button type="button" style="font-size:10pt; font-weight: bold; width:100%; background-color:#4caf50; color: white;" class="form-control btn" onclick="javascript:cocherDecocherTout($('#fichier_lister').val());" > <?= $libbouton; ?> </button>
</th>
-->
<th class="text-center"><?= _("Modifier") ?></th>
<!--
<th class="text-center">Supprimer</th>
-->
</tr>
</thead>
<tbody>
<?php foreach ($typepaiement as $v):
$idData = $this->nettoyer($v['id']);
if (est_anglophone()){
$libelle = $this->nettoyer($v['libelleEng']);
}else{
$libelle = $this->nettoyer($v['libelle']);
}
?>
<tr valign="top">
<td class="text-center" width="15%"><?= $this->nettoyer($v['codeSociete']);; ?>
<td class="text-center" width="10%"><?= $this->nettoyer($v['codeTypePaiement']) ?></td>
<td class="text-left" width="55%"><?= $libelle; ?></td>
<!--
<td class="text-center" width="10%">
<?php
if($this->nettoyer($v['choix'] == '0')){
$check ='';
}
else{
$check = 'checked';
}
?>
<INPUT TYPE="checkbox" class="custom-control-input" style="width: 2rem;height: 2rem;" id="choix" NAME="choix" value="<?=(($this->nettoyer($v['choix'])==0)? 0 : 1);?>" onclick="if (this.checked) this.value=1; else this.value=0;cocherDecocherUn($('#fichier_lister').val(),<?= $idData; ?>);" <?= $check;?>>
</td>
-->
<td class="text-center" width="10%">
<button style="width:100%" class ="form-control btn btn-primary" type="button" id="btn-editer" name="Modifier"
onclick="JAVASCRIPT:formModifTableRef(<?= $idData; ?>);" ><?= _("Modifier") ?></button>
</td>
<!--
<td class="text-center" width="10%">
<button style="width:100%" class = "form-control btn btn-danger" type="button" id="btn-supprimer" name="Supprimer"
onclick="JAVASCRIPT:supprimeLigneListe(<?= $idData; ?>,'<?= $superUser; ?>')">Supprimer</button>
</td>
-->
</tr>
<?php endforeach; ?>
</tbody>
</table>
<div class="card-body p-0">
<div class="table-responsive">
<table id="tableLister" class="table table-hover align-middle mb-0" style="width:100%">
<thead class="bg-light text-muted small text-uppercase">
<tr>
<th class="ps-4 border-0" width="15%"><?= _("Centre gestion") ?></th>
<th class="border-0" width="15%">Code</th>
<th class="border-0"><?= _("Libellé") ?></th>
<th class="border-0 text-center pe-4" width="15%"><?= _("Actions") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($typepaiement as $v):
$idData = $this->nettoyer($v['id']);
$libelle = est_anglophone() ? $this->nettoyer($v['libelleEng']) : $this->nettoyer($v['libelle']);
?>
<tr>
<td class="ps-4 fw-medium text-muted small">
<?= $this->nettoyer($v['codeSociete']) ?>
</td>
<td>
<span class="badge bg-light text-dark border fw-bold px-2 py-1">
<?= $this->nettoyer($v['codeTypePaiement']) ?>
</span>
</td>
<td class="fw-bold text-dark text-uppercase">
<?= $libelle ?>
</td>
<td class="text-center pe-4">
<button type="button"
class="btn btn-outline-primary btn-sm px-3 rounded-pill fw-bold shadow-xs"
onclick="formModifTableRef(<?= $idData; ?>);">
<i class="fas fa-edit me-1"></i> <?= _("Modifier") ?>
</button>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation standard avec exports et recherche intelligente
initDataTableReference('#tableLister', 'Types_Paiement');
});
</script>
<style>
/* Rappel des constantes visuelles Neutral Pro */
#tableLister tbody td {
height: 60px;
border-bottom: 1px solid #f1f4f6;
}
.bg-primary-ghost { background-color: rgba(33, 46, 83, 0.08) !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.text-primary { color: #212e53 !important; }
</style>

View File

@ -1,33 +1,106 @@
<form id="formData">
<legend id="titre_formData"><?= _("Modification des données") ?></legend>
<INPUT class="sr-only" TYPE="text" id = "id" name = "id" value="<?=$banque['id']?>">
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center">Code</td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="codeBanque" NAME="codeBanque" value="<?= $this->nettoyer($banque['codeBanque']); ?>" disabled></td>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" value="<?= $this->nettoyer($banque['libelle']); ?>"></td>
<td width="5%" align="center"><?= _("Code Swift") ?></td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="codeSwift" NAME="codeSwift" value="<?= $this->nettoyer($banque['codeSwift']); ?>"></td>
</tr>
<tr>
<td width="5%" align="center"><?= _("N° Compte Comptable") ?></td>
<td width="20%" ><INPUT class="form-control" TYPE="text" id="numeroCompteCpt" NAME="numeroCompteCpt" value="<?= $this->nettoyer($banque['numeroCompteCpt']); ?>"></td>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-warning small" id="titre_formData">
<i class="fas fa-edit me-2"></i><?= _("Modification des données de la banque") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<input type="hidden" id="id" name="id" value="<?= $this->nettoyer($banque['id']) ?>">
<td width="5%" align="center"><?= _("N° Compte Bancaire") ?></td>
<td width="20%" ><INPUT class="form-control" TYPE="text" id="numeroCompteBancaire" NAME="numeroCompteBancaire" value="<?= $this->nettoyer($banque['numeroCompteBancaire']); ?>"></td>
<td width="5%" align="center"><?= _("Banque Société") ?></td>
<td width="5%">
<select name="banqueSociete" id="banqueSociete" class="form-select">
<?= liste_options($ouinonplafondmodifiable,$this->nettoyer($banque['banqueSociete']),true) ?>
</select>
</td>
</tr>
</tbody>
</table>
</form>
<div class="row g-3">
<div class="col-md-2">
<label class="form-label fw-bold text-muted small">Code</label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-light border-2 border-end-0">
<i class="fas fa-lock text-muted"></i>
</span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold bg-light"
id="codeBanque" name="codeBanque"
value="<?= $this->nettoyer($banque['codeBanque']); ?>" disabled>
</div>
</div>
<div class="col-md-6">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-university text-primary"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle" name="libelle" required autocomplete="OFF"
value="<?= $this->nettoyer($banque['libelle']); ?>">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("Code Swift") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-random text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule"
id="codeSwift" name="codeSwift"
value="<?= $this->nettoyer($banque['codeSwift']); ?>">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("N° Compte Comptable") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-calculator text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 text-primary fw-bold"
id="numeroCompteCpt" name="numeroCompteCpt"
value="<?= $this->nettoyer($banque['numeroCompteCpt']); ?>">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("N° Compte Bancaire") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-credit-card text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0"
id="numeroCompteBancaire" name="numeroCompteBancaire"
value="<?= $this->nettoyer($banque['numeroCompteBancaire']); ?>">
</div>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("Banque Société") ?></label>
<div class="shadow-xs">
<select name="banqueSociete" id="banqueSociete" class="selectpicker form-control border-2" data-container="body">
<?= liste_options($ouinonplafondmodifiable, $this->nettoyer($banque['banqueSociete']), true) ?>
</select>
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation SelectPicker Standard
$('.selectpicker').selectpicker();
// Règle d'Or Neutral Pro : Focus différé de 200ms
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 { border-width: 2px !important; }
.majuscule { text-transform: uppercase; }
.required:after { content: " *"; color: #dc3545; font-weight: bold; }
/* Harmonisation SelectPicker */
.bootstrap-select > .dropdown-toggle {
border-width: 2px !important;
height: 38px !important;
background-color: #fff !important;
}
</style>

View File

@ -1,28 +1,96 @@
<form id="formData">
<legend id="titre_formData"><?= _("Modification des données") ?></legend>
<INPUT class="sr-only" TYPE="text" id = "id" name = "id" value="<?=$modepaiement['id']?>">
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center">Code</td>
<td width="5%" ><INPUT class="form-control majuscule" TYPE="text" id="codeModePaiement" NAME="codeModePaiement" value="<?= $this->nettoyer($modepaiement['codeModePaiement']); ?>" disabled></td>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="24%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" value="<?= $this->nettoyer($modepaiement['libelle']); ?>"></td>
<td width="5%" align="center" class="required"><?= _("Libellé Eng") ?></td>
<td width="24%" ><INPUT class="form-control majuscule" TYPE="text" id="libelleEng" NAME="libelleEng" value="<?= $this->nettoyer($modepaiement['libelleEng']); ?>" required AUTOCOMPLETE="OFF"></td>
<td width="5%" align="center">Type</td>
<td width="14%" >
<select name="codeTypePaiement" id="codeTypePaiement" class="form-select">
<?= liste_options($typepaiement,$this->nettoyer($modepaiement['libelleEng']),true) ?>
</select>
</td>
<td width="5%" align="center"><?= _("Ordre") ?></td>
<td width="8%" ><INPUT class="form-control text-center" TYPE="number" min="0" value="<?= $this->nettoyer($modepaiement['ordre']); ?>" id="ordre" NAME="ordre" onBlur="controle_numerique(this);"></td>
</tr>
</tbody>
</table>
</form>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-warning small" id="titre_formData">
<i class="fas fa-edit me-2"></i><?= _("Modification des données du mode de paiement") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<input type="hidden" id="id" name="id" value="<?= $this->nettoyer($modepaiement['id']) ?>">
<div class="row g-3 align-items-end">
<div class="col-md-1">
<label class="form-label fw-bold text-muted small">Code</label>
<input type="text" class="form-control border-2 majuscule fw-bold bg-light text-center"
id="codeModePaiement" name="codeModePaiement"
value="<?= $this->nettoyer($modepaiement['codeModePaiement']); ?>" disabled>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Fr)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/france.png" width="16" alt="FR">
</span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle" name="libelle" required autocomplete="OFF"
value="<?= $this->nettoyer($modepaiement['libelle']); ?>">
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Eng)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/england.png" width="16" alt="EN">
</span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelleEng" name="libelleEng" required autocomplete="OFF"
value="<?= $this->nettoyer($modepaiement['libelleEng']); ?>">
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small">Type</label>
<div class="shadow-xs">
<select name="codeTypePaiement" id="codeTypePaiement" class="selectpicker form-control border-2" data-container="body" data-live-search="true">
<?= liste_options($typepaiement, $this->nettoyer($modepaiement['codeTypePaiement']), true) ?>
</select>
</div>
</div>
<div class="col-md-2">
<label class="form-label fw-bold text-muted small"><?= _("Ordre") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-light border-2 border-end-0"><i class="fas fa-sort-numeric-down text-muted"></i></span>
<input type="number" class="form-control border-2 border-start-0 text-center fw-bold"
min="0" id="ordre" name="ordre"
value="<?= $this->nettoyer($modepaiement['ordre']); ?>"
onBlur="controle_numerique(this);">
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation SelectPicker Standard
actualiserSelectPicker('#codeTypePaiement', false);
// Focus UX Neutral Pro : 200ms sur le champ FR
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 { border-width: 2px !important; }
.majuscule { text-transform: uppercase; }
.required:after { content: " *"; color: #dc3545; font-weight: bold; }
/* Harmonisation SelectPicker */
.bootstrap-select > .dropdown-toggle {
border-width: 2px !important;
height: 38px !important;
background-color: #fff !important;
}
</style>

View File

@ -1,26 +1,87 @@
<form id="formData">
<legend id="titre_formData"><?= _("Modification des données") ?></legend>
<INPUT class="sr-only" TYPE="text" id = "id" name = "id" value="<?=$moyenpaiement['id']?>">
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center">Code</td>
<td width="10%" ><INPUT class="form-control majuscule" TYPE="text" id="codeMoyenPaiement" NAME="codeMoyenPaiement" value="<?= $this->nettoyer($moyenpaiement['codeMoyenPaiement']); ?>" disabled></td>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" value="<?= $this->nettoyer($moyenpaiement['libelle']); ?>"></td>
<td width="5%" align="center" class="required">Type</td>
<td width="20%">
<select name="codeTypePaiement" id="codeTypePaiement" class="form-select" required AUTOCOMPLETE="OFF">
<?= liste_options($typepaiement,$this->nettoyer($moyenpaiement['codeTypePaiement']),true) ?>
</select>
</td>
<td width="5%" align="center"><?= _("N° Compte") ?></td>
<td width="20%" ><INPUT class="form-control majuscule" TYPE="text" id="numeroCompte" NAME="numeroCompte" value="<?= $this->nettoyer($moyenpaiement['numeroCompte']); ?>"></td>
</tr>
</tbody>
</table>
</form>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-warning small" id="titre_formData">
<i class="fas fa-edit me-2"></i><?= _("Modification des données du moyen de paiement") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<input type="hidden" id="id" name="id" value="<?= $this->nettoyer($moyenpaiement['id']) ?>">
<div class="row g-3 align-items-end">
<div class="col-md-2">
<label class="form-label fw-bold text-muted small">Code</label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-light border-2 border-end-0">
<i class="fas fa-lock text-muted"></i>
</span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold bg-light"
id="codeMoyenPaiement" name="codeMoyenPaiement"
value="<?= $this->nettoyer($moyenpaiement['codeMoyenPaiement']); ?>" disabled>
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-tag text-primary"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle" name="libelle" required autocomplete="OFF"
value="<?= $this->nettoyer($moyenpaiement['libelle']); ?>">
</div>
</div>
<div class="col-md-3">
<label class="form-label fw-bold text-muted small required">Type</label>
<select name="codeTypePaiement" id="codeTypePaiement"
class="selectpicker form-control border-2 shadow-xs"
data-live-search="true"
data-container="body" required>
<?= liste_options($typepaiement, $this->nettoyer($moyenpaiement['codeTypePaiement']), true) ?>
</select>
</div>
<div class="col-md-4">
<label class="form-label fw-bold text-muted small"><?= _("N° Compte") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0"><i class="fas fa-calculator text-muted"></i></span>
<input type="text" class="form-control border-2 border-start-0 majuscule fw-bold text-primary"
id="numeroCompte" name="numeroCompte"
value="<?= $this->nettoyer($moyenpaiement['numeroCompte']); ?>">
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Initialisation du SelectPicker avec votre fonction Standard
actualiserSelectPicker('#codeTypePaiement', false);
// Focus UX Neutral Pro : 200ms sur le libellé
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 { border-width: 2px !important; }
.majuscule { text-transform: uppercase; }
.required:after { content: " *"; color: #dc3545; font-weight: bold; }
/* Harmonisation SelectPicker */
.bootstrap-select > .dropdown-toggle {
border-width: 2px !important;
height: 38px !important;
background-color: #fff !important;
}
</style>

View File

@ -1,18 +1,97 @@
<form id="formData">
<legend id="titre_formData"><?= _("Modification des données") ?></legend>
<INPUT class="sr-only" TYPE="text" id = "id" name = "id" value="<?=$typepaiement['id']?>">
<table class="table table-responsive table-condensed">
<tbody>
<tr>
<td width="5%" align="center">Code</td>
<td width="5%" ><INPUT class="form-control majuscule" TYPE="text" id="codeTypePaiement" NAME="codeTypePaiement" value="<?= $this->nettoyer($typepaiement['codeTypePaiement']); ?>" disabled></td>
<td width="5%" align="center" class="required"><?= _("Libellé") ?></td>
<td width="28%" ><INPUT class="form-control majuscule" TYPE="text" id="libelle" NAME="libelle" required AUTOCOMPLETE="OFF" value="<?= $this->nettoyer($typepaiement['libelle']); ?>"></td>
<td width="5%" align="center" class="required"><?= _("Libellé Eng") ?></td>
<td width="27%" ><INPUT class="form-control majuscule" TYPE="text" id="libelleEng" NAME="libelleEng" value="<?= $this->nettoyer($typepaiement['libelleEng']); ?>" required AUTOCOMPLETE="OFF"></td>
</tr>
</tbody>
</table>
</form>
<div class="card border-0 shadow-sm border-start border-4 border-primary">
<div class="card-header bg-white py-3 border-bottom">
<h6 class="mb-0 fw-bold text-uppercase text-warning small" id="titre_formData">
<i class="fas fa-edit me-2"></i><?= _("Modification des données du type de paiement") ?>
</h6>
</div>
<div class="card-body p-4">
<form id="formData" class="container-fluid p-0">
<input type="hidden" id="id" name="id" value="<?= $this->nettoyer($typepaiement['id']) ?>">
<div class="row g-4 align-items-end">
<div class="col-md-2">
<label class="form-label fw-bold text-muted small">Code</label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-light border-2 border-end-0">
<i class="fas fa-lock text-muted"></i>
</span>
<input type="text"
class="form-control border-2 border-start-0 majuscule fw-bold bg-light text-center"
id="codeTypePaiement"
name="codeTypePaiement"
value="<?= $this->nettoyer($typepaiement['codeTypePaiement']); ?>"
disabled>
</div>
</div>
<div class="col-md-5">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Fr)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/france.png" width="16" alt="FR">
</span>
<input type="text"
class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelle"
name="libelle"
required
autocomplete="OFF"
value="<?= $this->nettoyer($typepaiement['libelle']); ?>">
</div>
</div>
<div class="col-md-5">
<label class="form-label fw-bold text-muted small required"><?= _("Libellé (Eng)") ?></label>
<div class="input-group shadow-xs">
<span class="input-group-text bg-white border-2 border-end-0">
<img src="../Bootstrap_new/images/england.png" width="16" alt="EN">
</span>
<input type="text"
class="form-control border-2 border-start-0 majuscule fw-bold"
id="libelleEng"
name="libelleEng"
required
autocomplete="OFF"
value="<?= $this->nettoyer($typepaiement['libelleEng']); ?>">
</div>
</div>
</div>
</form>
</div>
</div>
<script>
$(document).ready(function() {
// Règle d'Or Neutral Pro : Focus différé de 200ms
setTimeout(function() {
$('#libelle').focus();
}, 200);
});
</script>
<style>
/* Identité Visuelle Neutral Pro */
.border-primary { border-color: #212e53 !important; }
.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
.form-control.border-2, .input-group-text.border-2 {
border-width: 2px !important;
border-color: #dee2e6;
}
.form-control:focus {
border-color: #212e53;
box-shadow: 0 0 0 0.25rem rgba(33, 46, 83, 0.1);
}
.majuscule { text-transform: uppercase; }
.required:after {
content: " *";
color: #dc3545;
font-weight: bold;
}
</style>