Skip to content
Snippets Groups Projects
Commit 230d120e authored by Cyril L'Orphelin's avatar Cyril L'Orphelin
Browse files

MAJ doecker file

parent 707b2cdb
No related branches found
No related tags found
No related merge requests found
......@@ -61,7 +61,7 @@ RUN adduser nginx
RUN addgroup nginx root
RUN mkdir /var/cache/nginx
RUN mkdir -p /var/lib/nginx/fastcgi
RUN chmod 777 -r /var/cache/nginx /var/log/nginx /var/lib/nginx
RUN chmod ugo+w /var/cache/nginx /var/log/nginx /var/lib/nginx
USER nginx
# support running as arbitrary user which belongs to the root group
......
......@@ -17,15 +17,13 @@ class LibrairieController extends AbstractController
*/
public function listLibraries(Request $request)
{
$message=$request->request->get('message');
$librairies = $this->getDoctrine()
->getRepository(Librairie::class)
->findAll();
return $this->render('librairie/main.html.twig', array('librairies' => $librairies, 'message'=>$message));
return $this->render('librairie/main.html.twig', array('librairies' => $librairies));
}
......
......@@ -2,18 +2,160 @@
namespace App\Controller;
use App\Entity\TapeModele;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
class TapeController extends AbstractController
{
/**
* @Route("/listTapes")
/**
* @Route("/listModel",name="show_models")
*/
public function listTapes()
public function listModel(Request $request)
{
// this looks exactly the same
$models = $this->getDoctrine()
->getRepository(TapeModele::class)
->findAll();
return $this->render('tapes/main.html.twig', array('models' => $models));
}
/**
* @Route("/addModel", name="add_Model")
*/
public function addModel(Request $request){
$nom=$request->request->get('nom');
$fabricant=$request->request->get('fabricant');
$capacite=$request->request->get('capacite');
$longueur=$request->request->get('longueur');
$em = $this->getDoctrine()->getManager();
/** @var TYPE_NAME $exception */
try {
$entityManager = $this->getDoctrine()->getManager();
$model=new TapeModele();
$model->setNom($nom);
$model->setFabricant($fabricant);
$model->setCapacite($capacite);
$model->setLongueur($longueur);
$model->setDatecreation(new \DateTime());
$entityManager->persist($model);
$entityManager->flush();
$response = new Response(json_encode(array(
'status' => '200',
'message' => 'Base de données mise à jour'
)));
}
catch (DBALException $e) {
$response = new Response(json_encode(array(
'status' => '500',
'message' => $e
)));
}
$response->headers->set('Content-Type', 'application/json');
return $response;
}
/**
* @Route("/editModel", name="edit_Model")
*/
public function editModel(Request $request){
$id=$request->request->get('id');
$nom=$request->request->get('nom');
$fabricant=$request->request->get('fabricant');
$capacite=$request->request->get('capacite');
$longueur=$request->request->get('longueur');
$em = $this->getDoctrine()->getManager();
/** @var TYPE_NAME $exception */
try {
$id=$request->request->get('id');
$em = $this->getDoctrine()->getManager();
$model=$this->getDoctrine()
->getRepository(TapeModele::class)->find($id);
$model->setNom($nom);
$model->setFabricant($fabricant);
$model->setCapacite($capacite);
$model->setLongueur($longueur);
$em->persist($model);
$em->flush();
$response = new Response(json_encode(array(
'status' => '200',
'message' => 'Base de données mise à jour'
)));
}
catch (DBALException $e) {
$response = new Response(json_encode(array(
'status' => '500',
'message' => $e
)));
}
$response->headers->set('Content-Type', 'application/json');
return $response;
}
/**
* @Route("/removeModel", name="remove_Model")
*/
public function removeModel(Request $request){
$id=$request->request->get('id');
$em = $this->getDoctrine()->getManager();
/** @var TYPE_NAME $exception */
try {
$model=$this->getDoctrine()
->getRepository(TapeModele::class)->find($id);
$em->remove($model);
$em->flush($model);
$response = new Response(json_encode(array(
'status' => '200',
'message' => 'Base de données mise à jour'
)));
}
catch (DBALException $e) {
$response = new Response(json_encode(array(
'status' => '500',
'message' => $e
)));
}
$response->headers->set('Content-Type', 'application/json');
return $response;
}
}
\ No newline at end of file
......@@ -54,7 +54,7 @@
<input type="text" id="type" class="form-control" required/>
</div>
<div class="form-group">
<label for="type">Fabricant</label>
<label for="fabricant">Fabricant</label>
<input type="text" id="fabricant" class="form-control" required/>
</div>
<div class="form-group">
......
{% extends 'base.html.twig' %}
{% block container %}
<div class="container">
<div class="row m-4 p-4" >
<div class="col-9 p-4">
<h2 class="m-2">BANDES</h2><hr/>
<div class="row">
<a class="btn btn-primary text-white" data-toggle="modal" data-target="#addModal"><i class="fas fa-plus-circle"></i> Ajouter un modèle de bande</a>
</div>
<div class="row m-2 p-2">
<div class="messageSuccess m-2 d-none spinner-border text-success" role="status"></div>
<div class="messageSuccess ml-2 d-none alert alert-success">Base de données - Mise à jour en cours ...</div>
<div id="messageError" class="ml-2 alert alert-danger d-none">Problème de mise à jour</div>
</div>
<!-- Modal associé au bouton d'ajout -->
<div class="modal fade" id="addModal">
<div class="modal-dialog">
<div class="modal-content">
<form class="needs-validation" novalidate>
<div class="modal-header">
<h5 class="modal-title">Ajout d'une 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</label>
<input type="number" id="capacite" class="form-control" required/>
</div>
<div class="form-group">
<label for="longueur">Longueur</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 une librairie</a>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</div>
<div class="col-10 text-left border-primary p-4" style="border-left : 4px solid;">
<table id="tableLibraries" class="dataTable m-4 table table-bordered" >
<thead>
<tr>
<th>Nom</th>
<th>Description</th>
<th>Fabricant</th>
<th>Nombre de Slots</th>
<th>Date de creation</th>
<th></th>
</tr>
</thead>
<tbody>
{% for librairy in librairies %}
<tr>
<td>{{ librairy.nom }}</td>
<td>{{ librairy.type }}</td>
<td>{{ librairy.fabricant }}</td>
<td>{{ librairy.nbslots }}</td>
<td class="small">{{ librairy.datecreation |date('Y-m-d h:m') }}</td>
<td>
<a title="Remove Model" id="remove_{{ librairy.librairieid }}" class="removeModel" href="#"><i class="fas fa-trash-alt m-2"></i></a>
<a title="Edit Model" data-toggle="modal" data-target="#editModal_{{ librairy.librairieid }}" href="edit_{{ librairy.librairieid }}" > <i class="fas fa-edit m-2"></i></a>
<!-- Modal associé au bouton d'édition -->
<div class="modal fade" id="editModal_{{ librairy.librairieid }}">
<div class="modal-dialog">
<div class="modal-content">
<form class="needs-validation" novalidate>
<div class="modal-header">
<h5 class="modal-title">Edition d'une librairie</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_{{ librairy.librairieid }}" class="form-control" value="{{ librairy.nom }}" required />
</div>
<div class="form-group">
<label for="type">Description</label>
<input type="text" id="type_{{ librairy.librairieid }}" class="form-control" value="{{ librairy.type }}" required/>
</div>
<div class="form-group">
<label for="type">Fabricant</label>
<input type="text" id="fabricant_{{ librairy.librairieid }}" class="form-control" value="{{ librairy.fabricant }}" required/>
</div>
<div class="form-group">
<label for="nbslots">Nombre de Slots</label>
<input type="number" id="nbslots_{{ librairy.librairieid }}" class="form-control" value="{{ librairy.nbslots }}" required/>
</div>
</div>
<div class="modal-footer">
<a id="edit_{{ librairy.librairieid }}" class="editModel btn btn-primary text-white" data-toggle="modal"><i class="fas fa-plus-circle"></i> Modifier la librairie</a>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endblock %}
{% block javascripts%}
<script>
$(document).ready(function() {
'use strict';
window.addEventListener('load', function() {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document.getElementsByClassName('needs-validation');
// Loop over them and prevent submission
var validation = Array.prototype.filter.call(forms, function(form) {
form.addEventListener('submit', function(event) {
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.classList.add('was-validated');
}, false);
});
}, false);
$('#addModel').click(function () {
var nom=$("#nom").val();
var type=$("#type").val();
var fabricant=$("#fabricant").val();
var nbslots=$("#nbslots").val();
$.ajax({
url:'/addModel',
type: "POST",
dataType: "json",
data: {
"nom": nom,
"fabricant": fabricant,
"type": type,
"nbslots": nbslots
},
async: false,
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 type=$("#type_"+id).val();
var fabricant=$("#fabricant_"+id).val();
var nbslots=$("#nbslots_"+id).val();
$.ajax({
url:'/editModel',
type: "POST",
dataType: "json",
data: {
"id": id,
"nom": nom,
"fabricant": fabricant,
"type": type,
"nbslots": nbslots
},
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();
$.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 %}
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