You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
330 lines
14 KiB
330 lines
14 KiB
<!-- Content Wrapper. Contains page content -->
|
|
<div class="content-wrapper">
|
|
<?php
|
|
function stringToArray($data)
|
|
{
|
|
// Ensure the string is properly formatted for JSON decoding
|
|
$data = str_replace("'", '"', $data); // Convert single quotes to double quotes
|
|
|
|
// Decode JSON to an array
|
|
return json_decode($data, true);
|
|
}
|
|
?>
|
|
<!-- Content Header (Page header) -->
|
|
<section class="content-header">
|
|
<h1>
|
|
Gérer les
|
|
<small>Produits</small>
|
|
</h1>
|
|
<ol class="breadcrumb">
|
|
<li><a href="#"><i class="fa fa-dashboard"></i> Accueil</a></li>
|
|
<li class="active">Produits</li>
|
|
</ol>
|
|
</section>
|
|
|
|
<!-- Main content -->
|
|
<section class="content">
|
|
<!-- Small boxes (Stat box) -->
|
|
<div class="row">
|
|
<div class="col-md-12 col-xs-12">
|
|
|
|
<div id="messages"></div>
|
|
|
|
<?php if (session()->getFlashdata('success')): ?>
|
|
<div class="alert alert-success alert-dismissible" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<?php echo session()->getFlashdata('success'); ?>
|
|
</div>
|
|
<?php elseif (session()->getFlashdata('error')): ?>
|
|
<div class="alert alert-error alert-dismissible" role="alert">
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<?php echo session()->getFlashdata('error'); ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3 class="box-title">Mise à jours Moto</h3>
|
|
</div>
|
|
<!-- /.box-header -->
|
|
<form role="form" action="<?php base_url('users/update') ?>" method="post" enctype="multipart/form-data">
|
|
<div class="box-body">
|
|
<div class="form-group">
|
|
<label>Image: </label>
|
|
<img src="<?php echo base_url() . 'assets/images/product_image/' . $product_data['image'] ?>" width="150" height="150" class="img-circle">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="product_image">Nouvelle Image</label>
|
|
<div class="kv-avatar">
|
|
<div class="file-loading">
|
|
<input id="product_image" name="product_image" type="file" accept="image/*">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="product_name">Nom de Moto</label>
|
|
<input type="text" class="form-control" id="product_name" name="nom_de_produit" placeholder="Nom du moto" autocomplete="off" value="<?php echo $product_data['name']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="marque">Marque</label>
|
|
<select class="form-control" id="marque" name="marque">
|
|
<?php foreach ($marque as $k => $v): ?>
|
|
<option value="<?php echo $v['id'] ?>" <?php if ($product_data['marque'] == $v['id']) {
|
|
echo "selected='selected'";
|
|
} ?>><?php echo $v['name'] ?></option>
|
|
<?php endforeach ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="moteur">Numéro de moteur</label>
|
|
<input type="text" class="form-control" id="moteur" name="numero_de_moteur" placeholder="Numéro de série" autocomplete="off" value="<?php echo $product_data['numero_de_moteur']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="chassis">Châssis</label>
|
|
<input type="text" class="form-control" id="chassis" name="chasis" placeholder="Chassis" autocomplete="off" value="<?php echo $product_data['chasis']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="price">Prix d'Achat</label>
|
|
<input type="number" min="0" class="form-control" id="price" name="price" placeholder="Prix d'achat" autocomplete="off" value="<?php echo $product_data['price']; ?>" />
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="price_vente">Prix de Vente</label>
|
|
<input type="number" min="0" class="form-control" id="price_vente" name="price_vente" placeholder="Prix de vente" autocomplete="off" value="<?php echo $product_data['prix_vente']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="qty">Quantiter</label>
|
|
<input type="number" min="0" class="form-control" id="qty" name="quantiter" placeholder="Quantiter" autocomplete="off" value="<?php echo $product_data['qty']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="datea">Date d'arrivage</label>
|
|
<input type="date" class="form-control" id="datea" name="datea" autocomplete="off" value="<?php echo $product_data['date_arivage']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="puissance">Puissances</label>
|
|
<input type="text" class="form-control" id="puissance" name="puissance" placeholder="Puissances" autocomplete="off" value="<?php echo $product_data['puissance']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="cler">Clé</label>
|
|
<input type="text" class="form-control" id="cler" name="cler" placeholder="Type de clé" autocomplete="off" value="<?php echo $product_data['cler']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="description">Description</label>
|
|
<textarea type="text" class="form-control" id="description" name="description" placeholder="Description" autocomplete="off">
|
|
<?php echo $product_data['description']; ?>
|
|
</textarea>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="sku">Numéro de série</label>
|
|
<input type="text" class="form-control" id="sku" name="numero_de_serie" placeholder="Numéro de série" autocomplete="off" value="<?php echo $product_data['sku']; ?>" />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="categorie">Catégories</label>
|
|
<?php
|
|
// Normalisation de la valeur de product_data['categorie_id']
|
|
$rawCats = $product_data['categorie_id'] ?? null;
|
|
|
|
if (is_array($rawCats)) {
|
|
$catIds = array_map('intval', $rawCats);
|
|
} elseif (is_string($rawCats)) {
|
|
// transforme "1,2,3" en [1,2,3]
|
|
$catIds = array_filter(array_map('intval', explode(',', $rawCats)), fn($id) => $id > 0);
|
|
} elseif (is_int($rawCats) || ctype_digit((string)$rawCats)) {
|
|
// wrap l'int en tableau
|
|
$catIds = [(int) $rawCats];
|
|
} else {
|
|
$catIds = [];
|
|
}
|
|
?>
|
|
|
|
<select class="form-control select_group" id="categorie" name="categorie[]" multiple="multiple">
|
|
<?php foreach ($categorie as $k => $v): ?>
|
|
<option value="<?= $v['id']; ?>"
|
|
<?= in_array($v['id'], $catIds, true) ? 'selected="selected"' : '' ?>>
|
|
<?= esc($v['name']); ?>
|
|
</option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="store">Magasin</label>
|
|
<select class="form-control select_group" id="store" name="store">
|
|
<?php foreach ($stores as $k => $v): ?>
|
|
<option value="<?php echo $v['id'] ?>" <?php if ($product_data['store_id'] == $v['id']) {
|
|
echo "selected='selected'";
|
|
} ?>><?php echo $v['name'] ?></option>
|
|
<?php endforeach ?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="store">Disponibilité</label>
|
|
<select class="form-control" id="availability" name="availability">
|
|
<option value="1" <?php if ($product_data['availability'] == 1) {
|
|
echo "selected='selected'";
|
|
} ?>>Oui</option>
|
|
<option value="2" <?php if ($product_data['availability'] != 1) {
|
|
echo "selected='selected'";
|
|
} ?>>Non</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="store">Etats</label>
|
|
<select class="form-control" id="etat" name="etats">
|
|
<option value="1" <?php if ($product_data['etats'] == 1) {
|
|
echo "selected='selected'";
|
|
} ?>>Kit</option>
|
|
<option value="2" <?php if ($product_data['etats'] != 1) {
|
|
echo "selected='selected'";
|
|
} ?>>Non Kit</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="store">type</label>
|
|
<select class="form-control" id="type" name="type">
|
|
<option value="A" <?php if ($product_data['type'] == "A") echo "selected"; ?>>A</option>
|
|
<option value="B" <?php if ($product_data['type'] == "B") echo "selected"; ?>>B</option>
|
|
<option value="C" <?php if ($product_data['type'] == "C") echo "selected"; ?>>C</option>
|
|
<option value="D" <?php if ($product_data['type'] == "D") echo "selected"; ?>>D</option>
|
|
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group" id="boxsuplementairekit"></div>
|
|
|
|
<div class="form-group">
|
|
<label for="store">Pièce Manquant</label>
|
|
<select class="form-control" id="info" name="info">
|
|
<option value="2" <?php if ($product_data['info'] != 1) {
|
|
echo "selected='selected'";
|
|
} ?>>Non</option>
|
|
<option value="1" <?php if ($product_data['info'] == 1) {
|
|
echo "selected='selected'";
|
|
} ?>>Oui</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group" id="boxsuplementaire"></div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="box-footer">
|
|
<button type="submit" class="btn btn-primary">Enregistrer</button>
|
|
<a href="<?php echo base_url('products/') ?>" class="btn btn-warning">Retour</a>
|
|
</div>
|
|
</form>
|
|
<!-- /.box-body -->
|
|
</div>
|
|
<!-- /.box -->
|
|
</div>
|
|
<!-- col-md-12 -->
|
|
</div>
|
|
<!-- /.row -->
|
|
|
|
|
|
</section>
|
|
<!-- /.content -->
|
|
</div>
|
|
<!-- /.content-wrapper -->
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function() {
|
|
$(".select_group").select2();
|
|
$("#description").wysihtml5();
|
|
|
|
$("#mainProductNav").addClass('active');
|
|
$("#manageProductNav").addClass('active');
|
|
|
|
var btnCust = '<button type="button" class="btn btn-secondary" title="Add picture tags" ' +
|
|
'onclick="alert(\'Call your custom code here.\')">' +
|
|
'<i class="glyphicon glyphicon-tag"></i>' +
|
|
'</button>';
|
|
$("#product_image").fileinput({
|
|
overwriteInitial: true,
|
|
maxFileSize: 1500,
|
|
showClose: false,
|
|
showCaption: false,
|
|
browseLabel: '',
|
|
removeLabel: '',
|
|
browseIcon: '<i class="glyphicon glyphicon-folder-open"></i>',
|
|
removeIcon: '<i class="glyphicon glyphicon-remove"></i>',
|
|
removeTitle: 'Cancel or reset changes',
|
|
elErrorContainer: '#kv-avatar-errors-1',
|
|
msgErrorClass: 'alert alert-block alert-danger',
|
|
// defaultPreviewContent: '<img src="/uploads/default_avatar_male.jpg" alt="Your Avatar">',
|
|
layoutTemplates: {
|
|
main2: '{preview} ' + btnCust + ' {remove} {browse}'
|
|
},
|
|
allowedFileExtensions: ["jpg", "png", "gif", "jpeg", 'webp']
|
|
});
|
|
|
|
const info = document.getElementById('info');
|
|
const divSupp = document.getElementById('boxsuplementaire')
|
|
|
|
window.addEventListener('load', () => {
|
|
if (info.value == 1) {
|
|
divSupp.innerHTML = `
|
|
<label for="infoManque">Information</label>
|
|
<textarea type="text" class="form-control" id="infoManque" name="infoManque" placeholder="Description sur des trucs manquants" autocomplete="off"><?php echo $product_data['infoManque']; ?></textarea>
|
|
`;
|
|
} else {
|
|
divSupp.innerHTML = '';
|
|
}
|
|
|
|
if (etat.value == 1) {
|
|
boxsuplementairekit.innerHTML = `
|
|
<label for="infoManquekit">Information sur le kit</label>
|
|
<textarea type="text" class="form-control" id="infoManquekit" name="infoManquekit" placeholder="Description sur le kit" autocomplete="off"><?php echo $product_data['infoManquekit']; ?></textarea>
|
|
`;
|
|
} else {
|
|
boxsuplementairekit.innerHTML = '';
|
|
}
|
|
})
|
|
|
|
info.addEventListener('change', () => {
|
|
if (info.value == 1) {
|
|
divSupp.innerHTML = `
|
|
<label for="infoManque">Information</label>
|
|
<textarea type="text" class="form-control" id="infoManque" name="infoManque" placeholder="Description sur des trucs manquants" autocomplete="off"><?php echo $product_data['infoManque']; ?></textarea>
|
|
`;
|
|
} else {
|
|
divSupp.innerHTML = '';
|
|
}
|
|
})
|
|
|
|
const etat = document.getElementById('etat');
|
|
const boxsuplementairekit = document.getElementById('boxsuplementairekit')
|
|
|
|
etat.addEventListener('change', () => {
|
|
if (etat.value == 1) {
|
|
boxsuplementairekit.innerHTML = `
|
|
<label for="infoManquekit">Information sur le kit</label>
|
|
<textarea type="text" class="form-control" id="infoManquekit" name="infoManquekit" placeholder="Description sur le kit" autocomplete="off"><?php echo $product_data['infoManquekit']; ?></textarea>
|
|
`;
|
|
} else {
|
|
boxsuplementairekit.innerHTML ='';
|
|
}
|
|
})
|
|
|
|
});
|
|
</script>
|