Skip to content
Snippets Groups Projects
Commit db7403b1 authored by ZZZ[GONE] PERRIER Guillaume's avatar ZZZ[GONE] PERRIER Guillaume
Browse files

Module Modeles : Setup page with split js code.

parent 6df6fb90
No related branches found
No related tags found
1 merge request!5Module Tapes : Try fixing bug 'Mixed Content The page at was loaded over...
$(document).ready(function () {
$('#addModel').click(function () {
var nom = $("#nom").val();
var capacite = $("#capacite").val();
var fabricant = $("#fabricant").val();
var longueur = $("#longueur").val();
var formInvalid = 0;
if (longueur.length == 0)
longueur = 0;
if (nom.length == 0) {
formInvalid++;
$('#nom').addClass("is-invalid");
} else
$('#nom').addClass("is-valid");
if (fabricant.length == 0) {
formInvalid++;
$('#fabricant').addClass("is-invalid");
} else
$('#fabricant').addClass("is-valid");
if (capacite.length == 0) {
formInvalid++;
$('#capacite').addClass("is-invalid");
} else
$('#capacite').addClass("is-valid");
if (formInvalid == 0) {
$.ajax({
url: '/addModel',
type: "POST",
dataType: "json",
data: {
"nom": nom,
"fabricant": fabricant,
"capacite": capacite,
"longueur": longueur
},
success: function (data) {
$("#addModal").hide();
$(".messageSuccess").removeClass('d-none');
$(".messageSuccess").fadeOut(5000);
setInterval(function () {
location.reload();
}, 5000);
},
error: function (xhr, textStatus, errorThrown) {
$("#messageError").removeClass('d-none');
$("#messageError").fadeOut(5000);
}
});
}
});
$('.editModel').click(function () {
var id = $(this).attr('id').split("edit_").pop();
var nom = $("#nom_" + id).val();
var capacite = $("#capacite_" + id).val();
var fabricant = $("#fabricant_" + id).val();
var longueur = $("#longueur_" + id).val();
$.ajax({
url: '/editModel',
type: "POST",
dataType: "json",
data: {
"id": id,
"nom": nom,
"fabricant": fabricant,
"capacite": capacite,
"longueur": longueur
},
async: false,
success: function (data) {
$("#editModal_" + id).hide();
$(".messageSuccess").removeClass('d-none');
$(".messageSuccess").fadeOut(5000);
setInterval(function () {
location.reload();
}, 5000);
},
error: function (xhr, textStatus, errorThrown) {
$("#messageError").removeClass('d-none');
$("#messageError").fadeOut(5000);
}
});
});
$('.removeModel').click(function () {
var id = $(this).attr('id').split("remove_").pop();
console.log('id' + id);
$.ajax({
url: '/removeModel',
type: "POST",
dataType: "json",
data: {
"id": id
},
async: false,
success: function (data) {
$(".messageSuccess").removeClass('d-none');
$(".messageSuccess").fadeOut(5000);
setInterval(function () {
location.reload();
}, 5000);
},
error: function (xhr, textStatus, errorThrown) {
$("#messageError").removeClass('d-none');
$("#messageError").fadeOut(5000);
}
});
});
});
\ No newline at end of file
<div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-labelledby="addModal" aria-modal="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Ajout d'un modèle de bande</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form id="formTapesM" class="needs-validation">
<div class="modal-body">
<div class="form-group">
<label for="nom">Nom</label>
<input type="text" id="nom" class="form-control" required/>
</div>
<div class="form-group">
<label for="fabricant">Fabricant</label>
<input type="text" id="fabricant" class="form-control" required/>
</div>
<div class="form-group">
<label for="capacite">Capacite - To</label>
<input type="number" id="capacite" class="form-control" required/>
</div>
<div class="form-group">
<label for="longueur">Longueur - M</label>
<input type="number" id="longueur" class="form-control" required/>
</div>
</div>
<div class="modal-footer">
<a id="addModel" class="btn btn-primary text-white">
<i class="fas fa-plus-circle"></i>Ajouter
</a>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
\ No newline at end of file
<div class="modal fade" id="editModal_{{ model.modelid }}" tabindex="-1" role="dialog" aria-labelledby="editModal_{{ model.modelid }}" aria-modal="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Edition d'un modèle</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form class="needs-validation">
<div class="modal-body">
<div class="form-group">
<label for="nom">Nom</label>
<input type="text" id="nom_{{ model.modelid }}" class="form-control"
value="{{ model.nom }}" required/>
</div>
<div class="form-group">
<label for="type">Fabricant</label>
<input type="text" id="fabricant_{{ model.modelid }}"
class="form-control" value="{{ model.fabricant }}" required/>
</div>
<div class="form-group">
<label for="capacite">Capacite - To</label>
<input type="number" id="capacite_{{ model.modelid }}"
class="form-control" value="{{ model.capacite }}"/>
</div>
<div class="form-group">
<label for="longueur">Longueur - M</label>
<input type="number" id="longueur_{{ model.modelid }}"
class="form-control" value="{{ model.longueur }}"/>
</div>
</div>
<div class="modal-footer">
<a id="edit_{{ model.modelid }}" class="editModel btn btn-primary text-white">
<i class="fas fa-plus-circle"></i> Modifier
</a>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
\ No newline at end of file
...@@ -42,8 +42,7 @@ ...@@ -42,8 +42,7 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
<button type="button" class="btn btn-primary valid_maj" id="valid_maj">Valider les <button type="button" class="btn btn-primary valid_maj" id="valid_maj">Modifier
changements
</button> </button>
</div> </div>
</div> </div>
......
...@@ -15,9 +15,11 @@ ...@@ -15,9 +15,11 @@
<hr/> <hr/>
<div class="row"> <div class="row">
<a class="btn btn-primary text-white" data-toggle="modal" data-target="#addModal"><i <div class="col-12">
class="fas fa-plus-circle"></i> Ajouter un modèle de bande</a> <a class="btn btn-primary text-white float-end" data-bs-toggle="modal" data-bs-target="#addModal">
<i class="fas fa-plus-circle"></i> Ajouter un modèle de bande
</a>
</div>
</div> </div>
<div class="row m-2 p-2"> <div class="row m-2 p-2">
<div class="messageSuccess m-2 d-none spinner-border text-success" role="status"></div> <div class="messageSuccess m-2 d-none spinner-border text-success" role="status"></div>
...@@ -25,295 +27,60 @@ ...@@ -25,295 +27,60 @@
<div id="messageError" class="ml-2 alert alert-danger d-none">Problème de mise à jour</div> <div id="messageError" class="ml-2 alert alert-danger d-none">Problème de mise à jour</div>
</div> </div>
<!-- Modal associé au bouton d'ajout --> <div class="col-12 text-left border-primary p-4" style="border-left : 4px solid;">
<div class="modal fade" id="addModal">
<div class="modal-dialog">
<div class="modal-content">
<form id="formTapesM" class="needs-validation" novalidate>
<div class="modal-header">
<h5 class="modal-title">Ajout d'un modèle de bande</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="nom">Nom</label>
<input type="text" id="nom" class="form-control" required/>
</div>
<div class="form-group">
<label for="fabricant">Fabricant</label>
<input type="text" id="fabricant" class="form-control" required/>
</div>
<div class="form-group">
<label for="capacite">Capacite - To</label>
<input type="number" id="capacite" class="form-control" required/>
</div>
<div class="form-group">
<label for="longueur">Longueur - M</label>
<input type="number" id="longueur" class="form-control" required/>
</div>
</div>
<div class="modal-footer">
<a id="addModel" class="btn btn-primary text-white" data-toggle="modal"><i
class="fas fa-plus-circle"></i>Ajouter un modèle de bande</a>
</div>
</form>
</div><!-- /.modal-content --> <table id="tableModels" class=" dataTable table-striped m-4 table table-bordered">
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div> <thead>
<div class="col-12 text-left border-primary p-4" style="border-left : 4px solid;">
<table id="tableModels" class=" dataTable table-striped m-4 table table-bordered">
<thead>
<tr>
<th>Nom</th>
<th>Fabricant</th>
<th>Capacité - To</th>
<th>Longueur - M</th>
<th></th>
</tr>
</thead>
<tbody>
{% for model in models %}
<tr> <tr>
<td>{{ model.nom }}</td> <th>Nom</th>
<td>{{ model.fabricant }}</td> <th>Fabricant</th>
<td>{{ model.capacite }}</td> <th>Capacité - To</th>
<td>{{ model.longueur }}</td> <th>Longueur - M</th>
<td> <th></th>
<a title="Remove Model" id="remove_{{ model.modelid }}" class="removeModel"
href="#remove_{{ model.modelid }}"><i class="fas fa-trash-alt ml-2"></i></a>
<a title="Edit Model" data-toggle="modal" data-target="#editModal_{{ model.modelid }}"
href="edit_{{ model.modelid }}"> <i class="fas fa-edit ml-2"></i></a>
<!-- Modal associé au bouton d'édition -->
<div class="modal fade" id="editModal_{{ model.modelid }}">
<div class="modal-dialog">
<div class="modal-content">
<form class="needs-validation" novalidate>
<div class="modal-header">
<h5 class="modal-title">Edition d'un modèle</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="nom">Nom</label>
<input type="text" id="nom_{{ model.modelid }}" class="form-control"
value="{{ model.nom }}" required/>
</div>
</tr>
</thead>
<tbody>
{% for model in models %}
<tr>
<td>{{ model.nom }}</td>
<td>{{ model.fabricant }}</td>
<td>{{ model.capacite }}</td>
<td>{{ model.longueur }}</td>
<td>
<a title="Remove Model" id="remove_{{ model.modelid }}" class="removeModel"
href="#remove_{{ model.modelid }}"><i class="fas fa-trash-alt ml-2"></i></a>
<a title="Edit Model" data-bs-toggle="modal" data-bs-target="#editModal_{{ model.modelid }}"
href="edit_{{ model.modelid }}"> <i class="fas fa-edit ml-2"></i></a>
<div class="form-group"> <!-- Modal associé au bouton d'édition -->
<label for="type">Fabricant</label> {% include 'tapes/modals/modal-edit-model.html.twig' with {'model': model} %}
<input type="text" id="fabricant_{{ model.modelid }}"
class="form-control" value="{{ model.fabricant }}" required/>
</div>
<div class="form-group">
<label for="capacite">Capacite - To</label>
<input type="number" id="capacite_{{ model.modelid }}"
class="form-control" value="{{ model.capacite }}"/>
</div>
<div class="form-group">
<label for="longueur">Longueur - M</label>
<input type="number" id="longueur_{{ model.modelid }}"
class="form-control" value="{{ model.longueur }}"/>
</div>
</div>
<div class="modal-footer">
<a id="edit_{{ model.modelid }}"
class="editModel btn btn-primary text-white" data-toggle="modal"><i
class="fas fa-plus-circle"></i> Modifier le modèle</a>
</div>
</form>
</div><!-- /.modal-content --> </td>
</div><!-- /.modal-dialog -->
</div>
</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<hr/> <hr/>
</div>
</div> </div>
</div> </div>
<!-- Modal associé au bouton d'ajout -->
{{ include('tapes/modals/modal-add-model.html.twig') }}
{% endblock %} {% endblock %}
{% block javascripts %} {% block javascripts %}
{{ parent() }}
<script> {{ encore_entry_script_tags('model') }}
$(document).ready(function () {
$('#addModel').click(function () {
var nom = $("#nom").val();
var capacite = $("#capacite").val();
var fabricant = $("#fabricant").val();
var longueur = $("#longueur").val();
var formInvalid = 0;
if (longueur.length == 0)
longueur = 0;
if (nom.length == 0) {
formInvalid++;
$('#nom').addClass("is-invalid");
} else
$('#nom').addClass("is-valid");
if (fabricant.length == 0) {
formInvalid++;
$('#fabricant').addClass("is-invalid");
} else
$('#fabricant').addClass("is-valid");
if (capacite.length == 0) {
formInvalid++;
$('#capacite').addClass("is-invalid");
} else
$('#capacite').addClass("is-valid");
if (formInvalid == 0) {
$.ajax({
url: '/addModel',
type: "POST",
dataType: "json",
data: {
"nom": nom,
"fabricant": fabricant,
"capacite": capacite,
"longueur": longueur
},
success: function (data) {
$("#addModal").hide();
$(".messageSuccess").removeClass('d-none');
$(".messageSuccess").fadeOut(5000);
setInterval(function () {
location.reload();
}, 5000);
},
error: function (xhr, textStatus, errorThrown) {
$("#messageError").removeClass('d-none');
$("#messageError").fadeOut(5000);
}
});
}
});
$('.editModel').click(function () {
var id = $(this).attr('id').split("edit_").pop();
var nom = $("#nom_" + id).val();
var capacite = $("#capacite_" + id).val();
var fabricant = $("#fabricant_" + id).val();
var longueur = $("#longueur_" + id).val();
$.ajax({
url: '/editModel',
type: "POST",
dataType: "json",
data: {
"id": id,
"nom": nom,
"fabricant": fabricant,
"capacite": capacite,
"longueur": longueur
},
async: false,
success: function (data) {
$("#editModal_" + id).hide();
$(".messageSuccess").removeClass('d-none');
$(".messageSuccess").fadeOut(5000);
setInterval(function () {
location.reload();
}, 5000);
},
error: function (xhr, textStatus, errorThrown) {
$("#messageError").removeClass('d-none');
$("#messageError").fadeOut(5000);
}
});
});
$('.removeModel').click(function () {
var id = $(this).attr('id').split("remove_").pop();
console.log('id' + id);
$.ajax({
url: '/removeModel',
type: "POST",
dataType: "json",
data: {
"id": id
},
async: false,
success: function (data) {
$(".messageSuccess").removeClass('d-none');
$(".messageSuccess").fadeOut(5000);
setInterval(function () {
location.reload();
}, 5000);
},
error: function (xhr, textStatus, errorThrown) {
$("#messageError").removeClass('d-none');
$("#messageError").fadeOut(5000);
}
});
});
});
</script>
{% endblock %} {% endblock %}
...@@ -30,6 +30,7 @@ Encore ...@@ -30,6 +30,7 @@ Encore
.addEntry('lot', './assets/js/lot.js') .addEntry('lot', './assets/js/lot.js')
.addEntry('library', './assets/js/library.js') .addEntry('library', './assets/js/library.js')
.addEntry('tapes', './assets/js/tapes.js') .addEntry('tapes', './assets/js/tapes.js')
.addEntry('model', './assets/js/model.js')
// enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js) // enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
.enableStimulusBridge('./assets/controllers.json') .enableStimulusBridge('./assets/controllers.json')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment