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

MAJ doecker file

parent 3042257f
No related branches found
No related tags found
3 merge requests!5Module Tapes : Try fixing bug 'Mixed Content The page at was loaded over...,!3Openshift deployment,!2Openshift deployment
Pipeline #59253 failed
...@@ -61,7 +61,7 @@ RUN adduser nginx ...@@ -61,7 +61,7 @@ RUN adduser nginx
RUN addgroup nginx root RUN addgroup nginx root
RUN mkdir /var/cache/nginx RUN mkdir /var/cache/nginx
RUN mkdir -p /var/lib/nginx/fastcgi 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 USER nginx
# support running as arbitrary user which belongs to the root group # support running as arbitrary user which belongs to the root group
......
...@@ -17,15 +17,13 @@ class LibrairieController extends AbstractController ...@@ -17,15 +17,13 @@ class LibrairieController extends AbstractController
*/ */
public function listLibraries(Request $request) public function listLibraries(Request $request)
{ {
$message=$request->request->get('message');
$librairies = $this->getDoctrine() $librairies = $this->getDoctrine()
->getRepository(Librairie::class) ->getRepository(Librairie::class)
->findAll(); ->findAll();
return $this->render('librairie/main.html.twig', array('librairies' => $librairies));
return $this->render('librairie/main.html.twig', array('librairies' => $librairies, 'message'=>$message));
} }
......
...@@ -2,18 +2,160 @@ ...@@ -2,18 +2,160 @@
namespace App\Controller; namespace App\Controller;
use App\Entity\TapeModele;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\Response;
class TapeController extends AbstractController 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 @@ ...@@ -54,7 +54,7 @@
<input type="text" id="type" class="form-control" required/> <input type="text" id="type" class="form-control" required/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="type">Fabricant</label> <label for="fabricant">Fabricant</label>
<input type="text" id="fabricant" class="form-control" required/> <input type="text" id="fabricant" class="form-control" required/>
</div> </div>
<div class="form-group"> <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