WIP: tout fonctionne + corrections de bug
This commit is contained in:
@@ -227,3 +227,19 @@ body {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ordregf-btn-petit {
|
||||||
|
width: 90px;
|
||||||
|
height: 30px;
|
||||||
|
padding: 0 10px;
|
||||||
|
font-size: 0.8em;
|
||||||
|
font-weight: 600;
|
||||||
|
cursor: pointer;
|
||||||
|
border: none;
|
||||||
|
border-radius: 4px;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
box-sizing: border-box;
|
||||||
|
transition: background 0.2s ease;
|
||||||
|
}
|
||||||
|
|||||||
+12
-1
@@ -97,7 +97,18 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
detail.Frais_etat || 0;
|
detail.Frais_etat || 0;
|
||||||
document.getElementById("edit_frais_autre").value =
|
document.getElementById("edit_frais_autre").value =
|
||||||
detail.Frais_autre || 0;
|
detail.Frais_autre || 0;
|
||||||
document.getElementById("edit_ordre").value = detail.Ordre;
|
document.getElementById("edit_type").value = (
|
||||||
|
detail.Type || ""
|
||||||
|
).toLowerCase();
|
||||||
|
|
||||||
|
document.getElementById("edit_etat").value = (
|
||||||
|
detail.Etat || ""
|
||||||
|
).toLowerCase();
|
||||||
|
|
||||||
|
document.getElementById("edit_ordre").value = (
|
||||||
|
detail.Ordre || ""
|
||||||
|
).toLowerCase();
|
||||||
|
|
||||||
modal.showModal();
|
modal.showModal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,13 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
Frais_brocker = :f_b,
|
Frais_brocker = :f_b,
|
||||||
Frais_etat = :f_e,
|
Frais_etat = :f_e,
|
||||||
Frais_autre = :f_a,
|
Frais_autre = :f_a,
|
||||||
Ordre = :ordre
|
Ordre = :ordre,
|
||||||
|
Type = :type,
|
||||||
|
Etat = :etat
|
||||||
WHERE Id = :id";
|
WHERE Id = :id";
|
||||||
|
|
||||||
$stmt = $db->prepare($sql);
|
$stmt = $db->prepare($sql);
|
||||||
|
|
||||||
$stmt->execute([
|
$stmt->execute([
|
||||||
':date' => $_POST['Date_op'],
|
':date' => $_POST['Date_op'],
|
||||||
':qte' => $_POST['Quantite'],
|
':qte' => $_POST['Quantite'],
|
||||||
@@ -28,11 +31,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
':f_e' => $_POST['Frais_etat'],
|
':f_e' => $_POST['Frais_etat'],
|
||||||
':f_a' => $_POST['Frais_autre'],
|
':f_a' => $_POST['Frais_autre'],
|
||||||
':ordre' => $_POST['Ordre'],
|
':ordre' => $_POST['Ordre'],
|
||||||
|
':type' => $_POST['Type'],
|
||||||
|
':etat' => $_POST['Etat'],
|
||||||
':id' => $_POST['id']
|
':id' => $_POST['id']
|
||||||
]);
|
]);
|
||||||
|
|
||||||
echo json_encode(['success' => true]);
|
echo json_encode(['success' => true]);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
|
echo json_encode([
|
||||||
|
'success' => false,
|
||||||
|
'message' => $e->getMessage()
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+111
-96
@@ -9,9 +9,12 @@ if (empty($_SESSION['user_id'])) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*A supprimer quand la page fonctionnera correctement*/
|
||||||
ini_set('display_errors', 1);
|
ini_set('display_errors', 1);
|
||||||
ini_set('display_startup_errors', 1);
|
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
/**************************************************** */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$pageStylesheets = ['/css/ordreGF.css'];
|
$pageStylesheets = ['/css/ordreGF.css'];
|
||||||
$bodyClass = 'ordregf-page';
|
$bodyClass = 'ordregf-page';
|
||||||
@@ -19,11 +22,9 @@ $bodyClass = 'ordregf-page';
|
|||||||
$database = new App\Database\Database();
|
$database = new App\Database\Database();
|
||||||
$connection = $database->getConnection();
|
$connection = $database->getConnection();
|
||||||
|
|
||||||
// --- Fonctions ---
|
|
||||||
function fetchOrdreGF(PDO $connection): array
|
function fetchOrdreGF(PDO $connection): array
|
||||||
{
|
{
|
||||||
$query = 'SELECT * FROM `ordreGF` ORDER BY `ID` DESC';
|
$stmt = $connection->query('SELECT * FROM `ordreGF` ORDER BY `ID` DESC');
|
||||||
$stmt = $connection->query($query);
|
|
||||||
return $stmt->fetchAll(PDO::FETCH_ASSOC) ?: [];
|
return $stmt->fetchAll(PDO::FETCH_ASSOC) ?: [];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,18 +39,14 @@ $ordres = fetchOrdreGF($connection);
|
|||||||
|
|
||||||
require_once __DIR__ . '/header.php';
|
require_once __DIR__ . '/header.php';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<section class="ordregf-shell">
|
<section class="ordregf-shell">
|
||||||
<div class="ordregf-card">
|
<div class="ordregf-card">
|
||||||
<header class="ordregf-card-header" style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
|
<header class="ordregf-card-header" style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
|
||||||
<h1 class="ordregf-title">Gestion des ordres GF</h1>
|
<h1 class="ordregf-title">Gestion des ordres GF</h1>
|
||||||
|
|
||||||
<div style="display: flex; gap: 10px;">
|
<div style="display: flex; gap: 10px;">
|
||||||
<button type="button" class="ordregf-btn-creer" onclick="document.getElementById('modalCreerOrdre').showModal();">
|
<button type="button" class="ordregf-btn-creer" onclick="document.getElementById('modalCreerOrdre').showModal();">Créer un ordre</button>
|
||||||
Créer un ordre
|
<button type="button" class="ordregf-btn-menu" onclick="window.location.href='/php/menu.php';">Retour au menu</button>
|
||||||
</button>
|
|
||||||
<button type="button" class="ordregf-btn-menu" onclick="window.location.href='/php/menu.php';">
|
|
||||||
Retour au menu
|
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
@@ -58,21 +55,77 @@ require_once __DIR__ . '/header.php';
|
|||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($ordres as $ordre): ?>
|
<?php foreach ($ordres as $ordre): ?>
|
||||||
<?php
|
<?php
|
||||||
// Pré-calcul pour les boutons
|
|
||||||
$details = fetchOrdreGFPied($connection, (string)$ordre['ID']);
|
$details = fetchOrdreGFPied($connection, (string)$ordre['ID']);
|
||||||
$totalQ = 0;
|
$totalQ = 0;
|
||||||
|
|
||||||
|
// Détection d'un ordre annulé
|
||||||
|
$isCanceled = false;
|
||||||
|
|
||||||
foreach ($details as $d) {
|
foreach ($details as $d) {
|
||||||
|
if (strtolower($d['Etat'] ?? '') === 'annulé') {
|
||||||
|
$isCanceled = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 1. Calcul du total des quantités actives
|
||||||
|
foreach ($details as $d) {
|
||||||
|
if (strtolower($d['Etat'] ?? '') === 'actif') {
|
||||||
$q = (int)($d['Quantite'] ?? 0);
|
$q = (int)($d['Quantite'] ?? 0);
|
||||||
$oType = strtolower($d['Ordre'] ?? '');
|
$oType = strtolower($d['Ordre'] ?? '');
|
||||||
$tOp = strtolower($d['Type'] ?? '');
|
$tOp = strtolower($d['Type'] ?? '');
|
||||||
if (strtolower($d['Etat'] ?? '') === 'actif') {
|
$signe = ($tOp === 'long') ? ($oType === 'achat' ? 1 : -1) : ($oType === 'achat' ? -1 : 1);
|
||||||
$totalQ += ($tOp === 'long' ? ($oType === 'achat' ? $q : -$q) : ($oType === 'achat' ? -$q : $q));
|
$totalQ += ($q * $signe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$isSold = ($totalQ === 0 && count($details) > 0);
|
|
||||||
// Désactiver si vendu OU si une plus-value existe déjà
|
|
||||||
$isDisabled = $isSold || (isset($ordre['PlusValue']) && (float)$ordre['PlusValue'] !== 0.0);
|
// 2. Calcul Plus-Value et Mise à jour statut
|
||||||
$disabledAttr = $isDisabled ? 'disabled style="opacity:0.5; cursor:not-allowed;"' : '';
|
$plusvalue = 0.0000;
|
||||||
|
|
||||||
|
if ($isCanceled) {
|
||||||
|
$plusvalue = 0;
|
||||||
|
|
||||||
|
if ((float)$ordre['PlusValue'] != 0) {
|
||||||
|
$connection->prepare(
|
||||||
|
"UPDATE ordreGF SET PlusValue = 0 WHERE ID = ?"
|
||||||
|
)->execute([$ordre['ID']]);
|
||||||
|
|
||||||
|
$ordre['PlusValue'] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$isSold = (!$isCanceled && $totalQ === 0 && count($details) > 0);
|
||||||
|
|
||||||
|
if ($isSold) {
|
||||||
|
foreach ($details as $detail) {
|
||||||
|
$qte = (int)$detail['Quantite'];
|
||||||
|
$fraisDetail = (float)$detail['Frais_brocker'] + (float)$detail['Frais_etat'] + (float)$detail['Frais_autre'];
|
||||||
|
$oType = strtolower($detail['Ordre']);
|
||||||
|
$prixNet = ($oType === 'vente') ? (float)$detail['Prix_brut'] - $fraisDetail : (float)$detail['Prix_brut'] + $fraisDetail;
|
||||||
|
$tOp = strtolower($detail['Type']);
|
||||||
|
$signePV = ($oType === 'vente') ? 1 : -1;
|
||||||
|
$plusvalue += ($qte * $prixNet * $signePV);
|
||||||
|
}
|
||||||
|
$plusvalue = round($plusvalue, 4);
|
||||||
|
|
||||||
|
// Mise à jour si la PlusValue n'est pas encore enregistrée en base (différente de 0)
|
||||||
|
if (abs((float)$ordre['PlusValue']) < 0.0001) {
|
||||||
|
$connection->prepare("UPDATE ordreGF SET PlusValue = ? WHERE ID = ?")->execute([$plusvalue, $ordre['ID']]);
|
||||||
|
$connection->prepare("UPDATE ordreGF_pied SET Etat = 'soldé' WHERE Id_entete = ? AND Etat != 'soldé'")->execute([$ordre['ID']]);
|
||||||
|
// On met à jour la valeur locale
|
||||||
|
$ordre['PlusValue'] = $plusvalue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Désactivation si ordre soldé ou annulé
|
||||||
|
$isDisabled = $isCanceled || abs((float)$ordre['PlusValue']) > 0.0001;
|
||||||
|
|
||||||
|
$disabledAttr = $isDisabled
|
||||||
|
? 'disabled style="opacity:0.5; cursor:not-allowed;"'
|
||||||
|
: '';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<tr class="ordregf-master-row ordregf-header-style">
|
<tr class="ordregf-master-row ordregf-header-style">
|
||||||
@@ -91,103 +144,50 @@ require_once __DIR__ . '/header.php';
|
|||||||
<th>Prix Brut</th>
|
<th>Prix Brut</th>
|
||||||
<th>Frais</th>
|
<th>Frais</th>
|
||||||
<th>Prix Net</th>
|
<th>Prix Net</th>
|
||||||
<th>Engagement Brut</th>
|
<th>Eng. Brut</th>
|
||||||
<th>Engagement Net</th>
|
<th>Eng. Net</th>
|
||||||
<th>Ordre</th>
|
<th>Ordre</th>
|
||||||
<th>Type</th>
|
<th>Type</th>
|
||||||
<th>Etat</th>
|
<th>Etat</th>
|
||||||
<th style="text-align: right;">
|
<th style="text-align: right;"><button type="button" class="ordregf-btn-creer-petit ordregf-btn-petit" <?= $disabledAttr ?> onclick="document.getElementById('Id_entete_detail').value='<?= $ordre['ID'] ?>'; document.getElementById('modalCreerDetail').showModal();">Créer</button></th>
|
||||||
<button type="button" class="ordregf-btn-petit ordregf-btn-creer-petit"
|
|
||||||
<?= $disabledAttr ?>
|
|
||||||
onclick="document.getElementById('Id_entete_detail').value='<?= $ordre['ID'] ?>'; document.getElementById('modalCreerDetail').showModal();">
|
|
||||||
Créer
|
|
||||||
</button>
|
|
||||||
</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
$engaBrut = 0;
|
$engaBrut = 0;
|
||||||
$engaNet = 0;
|
$engaNet = 0;
|
||||||
|
|
||||||
foreach ($details as $detail):
|
foreach ($details as $detail):
|
||||||
$qte = (int)($detail['Quantite'] ?? 0);
|
$qte = (int)($detail['Quantite'] ?? 0);
|
||||||
$prix = (float)($detail['Prix_brut'] ?? 0);
|
$prix = (float)($detail['Prix_brut'] ?? 0);
|
||||||
$frais = (float)($detail['Frais_brocker'] ?? 0) + (float)($detail['Frais_etat'] ?? 0) + (float)($detail['Frais_autre'] ?? 0);
|
$frais = (float)($detail['Frais_brocker'] ?? 0) + (float)($detail['Frais_etat'] ?? 0) + (float)($detail['Frais_autre'] ?? 0);
|
||||||
$prixNet = $prix + $frais;
|
$ordreType = strtolower($detail['Ordre'] ?? '');
|
||||||
|
$prixNet = ($ordreType === 'vente') ? $prix - $frais : $prix + $frais;
|
||||||
$date = !empty($detail['Date_op']) ? date('d/m/Y', strtotime($detail['Date_op'])) : '--/--/----';
|
$date = !empty($detail['Date_op']) ? date('d/m/Y', strtotime($detail['Date_op'])) : '--/--/----';
|
||||||
|
if (strtolower($detail['Etat'] ?? '') === 'actif') {
|
||||||
$ordre_type = strtolower($detail['Ordre'] ?? '');
|
$mult = (strtolower($detail['Type'] ?? '') === 'long' ? 1 : -1) * (strtolower($detail['Ordre'] ?? '') === 'achat' ? 1 : -1);
|
||||||
$type_op = strtolower($detail['Type'] ?? '');
|
$engaBrut += ($qte * $prix) * $mult;
|
||||||
$etat = strtolower($detail['Etat'] ?? '');
|
$engaNet += ($qte * $prixNet) * $mult;
|
||||||
|
|
||||||
if ($etat === 'actif') {
|
|
||||||
if ($type_op === 'long') {
|
|
||||||
if ($ordre_type === 'achat') {
|
|
||||||
$engaBrut += $qte * $prix;
|
|
||||||
$engaNet += $qte * $prixNet;
|
|
||||||
} else {
|
|
||||||
$engaBrut -= $qte * $prix;
|
|
||||||
$engaNet -= $qte * $prixNet;
|
|
||||||
}
|
|
||||||
} elseif ($type_op === 'short') {
|
|
||||||
if ($ordre_type === 'achat') {
|
|
||||||
$engaBrut -= $qte * $prix;
|
|
||||||
$engaNet -= $qte * $prixNet;
|
|
||||||
} else {
|
|
||||||
$engaBrut += $qte * $prix;
|
|
||||||
$engaNet += $qte * $prixNet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<tr class="ordregf-detail-row">
|
<tr>
|
||||||
<td><?= htmlspecialchars($date) ?></td>
|
<td><?= htmlspecialchars($date) ?></td>
|
||||||
<td class="text-right"><?= number_format($qte, 0, ',', ' ') ?></td>
|
<td class="text-right"><?= $qte ?></td>
|
||||||
<td class="text-right"><?= number_format($prix, 3, ',', ' ') ?></td>
|
<td class="text-right"><?= number_format($prix, 3, ',', ' ') ?></td>
|
||||||
<td class="text-right"><?= number_format($frais, 3, ',', ' ') ?></td>
|
<td class="text-right"><?= number_format($frais, 3, ',', ' ') ?></td>
|
||||||
<td class="text-right"><?= number_format($prixNet, 3, ',', ' ') ?></td>
|
<td class="text-right"><?= number_format($prixNet, 3, ',', ' ') ?></td>
|
||||||
<td class="text-right"><?= number_format($qte * $prix, 3, ',', ' ') ?></td>
|
<td class="text-right"><?= number_format($qte * $prix, 3, ',', ' ') ?></td>
|
||||||
<td class="text-right"><?= number_format($qte * $prixNet, 3, ',', ' ') ?></td>
|
<td class="text-right"><?= number_format($qte * $prixNet, 3, ',', ' ') ?></td>
|
||||||
<td><?= htmlspecialchars($detail['Ordre'] ?? '') ?></td>
|
<td style="text-align: center"><?= htmlspecialchars($detail['Ordre'] ?? '') ?></td>
|
||||||
<td><?= htmlspecialchars($detail['Type'] ?? '') ?></td>
|
<td style="text-align: center"><?= htmlspecialchars($detail['Type'] ?? '') ?></td>
|
||||||
<td><?= htmlspecialchars($detail['Etat'] ?? '') ?></td>
|
<td style="text-align: center"><?= htmlspecialchars($detail['Etat'] ?? '') ?></td>
|
||||||
<td style="text-align: right;">
|
<td style="text-align: center"><button type=" button" class="ordregf-btn-petit ordregf-btn-modifier-petit" <?= $disabledAttr ?> data-detail='<?= htmlspecialchars(json_encode($detail), ENT_QUOTES, 'UTF-8') ?>'>Modifier</button></td>
|
||||||
<button type="button" class="ordregf-btn-petit ordregf-btn-modifier-petit"
|
|
||||||
<?= $disabledAttr ?>
|
|
||||||
data-detail='<?= htmlspecialchars(json_encode($detail), ENT_QUOTES, 'UTF-8') ?>'>
|
|
||||||
Modifier
|
|
||||||
</button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
||||||
<?php
|
<?php if ($isDisabled): ?>
|
||||||
$plusvalue = 0.0000;
|
|
||||||
if ($isSold) {
|
|
||||||
foreach ($details as $detail) {
|
|
||||||
$qte = (int)$detail['Quantite'];
|
|
||||||
$prixNet = (float)$detail['Prix_brut'] + (float)$detail['Frais_brocker'] + (float)$detail['Frais_etat'] + (float)$detail['Frais_autre'];
|
|
||||||
$eNet = round($qte * $prixNet, 4);
|
|
||||||
$oType = strtolower($detail['Ordre']);
|
|
||||||
$tOp = strtolower($detail['Type']);
|
|
||||||
$signe = ($tOp === 'long') ? (($oType === 'vente') ? 1 : -1) : (($oType === 'achat') ? 1 : -1);
|
|
||||||
$plusvalue += ($eNet * $signe);
|
|
||||||
}
|
|
||||||
$plusvalue = round($plusvalue, 4);
|
|
||||||
if (abs((float)$ordre['PlusValue'] - $plusvalue) > 0.0001) {
|
|
||||||
$connection->prepare("UPDATE ordreGF SET PlusValue = ? WHERE ID = ?")->execute([$plusvalue, $ordre['ID']]);
|
|
||||||
$connection->prepare("UPDATE ordreGF_pied SET Etat = 'soldé' WHERE Id_entete = ? AND Etat != 'soldé'")->execute([$ordre['ID']]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<?php if ($isSold): ?>
|
|
||||||
<tr style="background-color: rgba(255, 255, 255, 0.08); font-weight: bold;">
|
<tr style="background-color: rgba(255, 255, 255, 0.08); font-weight: bold;">
|
||||||
<td colspan="6" style="text-align: right;">Plus value :</td>
|
<td colspan="6" style="text-align: right;">Plus value :</td>
|
||||||
<td class="text-right" style="color: <?= $plusvalue < 0 ? 'red' : 'green' ?>;">
|
<td style="color: <?= (float)$ordre['PlusValue'] < 0 ? 'red' : 'green' ?>;"><?= number_format((float)$ordre['PlusValue'], 3, ',', ' ') ?></td>
|
||||||
<?= number_format((float)($ordre['PlusValue'] ?: $plusvalue), 3, ',', ' ') ?>
|
|
||||||
</td>
|
|
||||||
<td colspan="4"></td>
|
<td colspan="4"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
@@ -272,22 +272,22 @@ require_once __DIR__ . '/header.php';
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Ordre (Achat/Vente) :</label>
|
<label>Ordre (Achat/Vente) :</label>
|
||||||
<select name="Ordre">
|
<select name="Ordre">
|
||||||
<option value="Achat">Achat</option>
|
<option value="achat">achat</option>
|
||||||
<option value="Vente">Vente</option>
|
<option value="vente">vente</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Type (Long/Short) :</label>
|
<label>Type (Long/Short) :</label>
|
||||||
<select name="Type">
|
<select name="Type">
|
||||||
<option value="Long">Long</option>
|
<option value="long">long</option>
|
||||||
<option value="Short">Short</option>
|
<option value="short">short</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Etat :</label>
|
<label>Etat :</label>
|
||||||
<select name="Etat">
|
<select name="Etat">
|
||||||
<option value="Actif">Actif</option>
|
<option value="actif">actif</option>
|
||||||
<option value="Cloture">Cloture</option>
|
<option value="annulé">annulé</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-actions" style="margin-top: 20px;">
|
<div class="modal-actions" style="margin-top: 20px;">
|
||||||
@@ -323,8 +323,23 @@ require_once __DIR__ . '/header.php';
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Ordre :</label>
|
<label>Ordre :</label>
|
||||||
<select name="Ordre" id="edit_ordre">
|
<select name="Ordre" id="edit_ordre">
|
||||||
<option value="Achat">Achat</option>
|
<option value="achat">achat</option>
|
||||||
<option value="Vente">Vente</option>
|
<option value="vente">vente</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Type :</label>
|
||||||
|
<select name="Type" id="edit_type">
|
||||||
|
<option value="long">long</option>
|
||||||
|
<option value="short">short</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label>Etat :</label>
|
||||||
|
<select name="Etat" id="edit_etat">
|
||||||
|
<option value="actif">actif</option>
|
||||||
|
<option value="annulé">annulé</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-actions" style="margin-top: 20px;">
|
<div class="modal-actions" style="margin-top: 20px;">
|
||||||
|
|||||||
Reference in New Issue
Block a user