Skip to content
Snippets Groups Projects
Commit 418706dd authored by COLLINOT Baptiste's avatar COLLINOT Baptiste
Browse files

consulter les transactions

parent d4bbc190
No related branches found
No related tags found
1 merge request!65consulter les transactions
......@@ -329,4 +329,28 @@ button {
.non_aime {
color: lightgray;
}
.container-mes-annonces {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
background-color: rgba(223, 220, 220, 0.952);
box-shadow: 0 2px 4px rgba(0, 0, 0, .5), 0 5px 10px rgba(0, 0, 0, .5);
}
.btn-navigation {
width: 100%;
background-color: white;
color: black;
padding: 10px 20px;
text-align: center;
margin: 4px 2px;
cursor: pointer;
border-radius: 8px;
}
.btn-navigation.active {
background-color: #4CAF50;
color: white;
}
\ No newline at end of file
......@@ -18,4 +18,8 @@ filtres:
filtmes_annonces_filtres:
path: /mes_annonces/filtres/
controller: App\Controller\ModifUserController::mesAnnoncesFiltres
\ No newline at end of file
controller: App\Controller\ModifUserController::mesAnnoncesFiltres
filtmes_annonces_repondues_filtres:
path: /mes_annonces_repondues/filtres/
controller: App\Controller\ModifUserController::mesAnnoncesReponduesFiltres
\ No newline at end of file
......@@ -178,6 +178,26 @@ class ModifUserController extends AbstractController
]);
}
#[Route('/mes_annonces_repondues', name: 'app_mes_annonces_repondues')]
public function mesAnnoncesRepondues(Request $request, EntityManagerInterface $entityManager, PrestationsRepository $prestationsRepository): Response
{
$user = $this->getUser();
$prestations = $prestationsRepository->findMesAnnoncesRepondues($user->getId());
$entrees = $entityManager->getRepository(Prestations::class)->findAll();
$prets = $entityManager->getRepository(Pret::class)->findAll();
$services = $entityManager->getRepository(Services::class)->findAll();
return $this->render('security/mes_annonces_repondues.html.twig', [
'controller_name' => 'ModifUserController',
'entrees' => $entrees,
'prets' => $prets,
'services' => $services,
'prestations' => $prestations,
]);
}
#[Route('', name: 'mes_annonces_filtres')]
public function mesAnnoncesFiltres(Request $request, EntityManagerInterface $entityManager, PrestationsRepository $prestationsRepository): Response
{
......@@ -214,6 +234,42 @@ class ModifUserController extends AbstractController
]);
}
#[Route('', name: 'mes_annonces_repondues_filtres')]
public function mesAnnoncesReponduesFiltres(Request $request, EntityManagerInterface $entityManager, PrestationsRepository $prestationsRepository): Response
{
$user = $this->getUser();
$keyword = $request->query->get('keyword');
$prixMin = $request->query->get('prixMin');
$prixMax = $request->query->get('prixMax');
$typePrestation = $request->query->get('type_prestation');
if ($prixMin == '') $prixMin = null;
if ($prixMax == '') $prixMax = null;
$res = [];
$prestations = $prestationsRepository->findMesAnnoncesRepondues($user->getId());
$prestations2 = $prestationsRepository->findFilteredPrestations($keyword, $prixMin, $prixMax, $typePrestation);
foreach ($prestations as $pres) {
foreach ($prestations2 as $pres2) {
if ($pres === $pres2)
array_push($res,$pres);
}
}
$entrees = $entityManager->getRepository(Prestations::class)->findAll();
$prets = $entityManager->getRepository(Pret::class)->findAll();
$services = $entityManager->getRepository(Services::class)->findAll();
return $this->render('security/mes_annonces_repondues.html.twig', [
'controller_name' => 'ModifUserController',
'entrees' => $entrees,
'prets' => $prets,
'services' => $services,
'prestations' => $res,
]);
}
#[Route('/userCoord', name: 'app_user_coord')]
public function userCoord(Request $request, UserPasswordHasherInterface $userPasswordHasher, EntityManagerInterface $entityManager): Response
{
......
......@@ -95,4 +95,15 @@ class PrestationsRepository extends ServiceEntityRepository
return $queryBuilder->getQuery()->getResult();
}
public function findMesAnnoncesRepondues(int $id = null): array
{
$queryBuilder = $this->createQueryBuilder('p');
$queryBuilder
->andWhere('p.client = :id')
->setParameter('id', $id);
return $queryBuilder->getQuery()->getResult();
}
}
......@@ -3,7 +3,6 @@
{% block title %}Création d'annonce{% endblock %}
{% block body %}
<h1>Création d'annonce</h1>
<div class="container-connexion3">
<div class="container-connexion">
{{ form_start(form) }}
......
......@@ -3,11 +3,6 @@
{% block title %}Mes annonces{% endblock %}
{% block body %}
<style>
.example-wrapper { margin: 1em auto; width: 95%; font: 18px/1.5 sans-serif; align: "center"; }
.example-wrapper code { padding: 2px 6px; }
.footer { margin: 15px; position: absolute; bottom: 0; }
</style>
<div class="container-recherche">
<form id="filterForm" method="post">
<input class="txt_form" type="text" name="keyword" value="{{ app.request.query.get('keyword') }}" placeholder="Mot-clé">
......@@ -37,6 +32,11 @@
</script>
</div>
<div class="container-mes-annonces">
<a id="btnPostees" class="btn-navigation active" href="{{ path('app_mes_annonces') }}">Annonces postées</a>
<a id="btnRepondues" class="btn-navigation" href="{{ path('app_mes_annonces_repondues') }}">Annonces répondues</a>
</div>
<div class="prestations">
{% for prestation in prestations %}
<div class="prestation">
......@@ -55,29 +55,18 @@
{% endfor %}
</div>
{#<div class="prestations">
{% for entree in entrees %}
{% for pret in prets %}
{% if pret.id == entree.id %}
<div class="prestation">
<p class="tag_pret" id="tag">Prêt</p>
<p>{{ entree.titre }}</p>
<p>{{ entree.CoutPrestation }} florains</p>
<a href="{{ path('annonce_detail', {'id': entree.id}) }}"><button class="tag_pret">Voir le détail >></button></a>
</div>
{% endif %}
{% endfor %}
{% for service in services %}
{% if service.id == entree.id %}
<div class="prestation">
<p class="tag_service" id="tag">Service</p>
<p>{{ entree.titre }}</p>
<p>{{ entree.CoutPrestation }} florains</p>
<a href="{{ path('annonce_detail', {'id': entree.id}) }}"><button class="tag_service">Voir le détail >></button></a>
</div>
{% endif %}
{% endfor %}
{% endfor %}
</div>#}
<script>
const btnPostees = document.getElementById('btnPostees');
const btnRepondues = document.getElementById('btnRepondues');
btnPostees.addEventListener('click', () => {
btnPostees.classList.add('active');
btnRepondues.classList.remove('active');
});
btnRepondues.addEventListener('click', () => {
btnRepondues.classList.add('active');
btnPostees.classList.remove('active');
});
</script>
{% endblock %}
{% extends 'base.html.twig' %}
{% block title %}Mes annonces{% endblock %}
{% block body %}
<div class="container-recherche">
<form id="filterForm" method="post">
<input class="txt_form" type="text" name="keyword" value="{{ app.request.query.get('keyword') }}" placeholder="Mot-clé">
<input class="txt_form prix" type="number" name="prixMin" value="{{ app.request.query.get('prixMin') }}" placeholder="€ minimum">
<input class="txt_form prix" type="number" name="prixMax" value="{{ app.request.query.get('prixMax') }}" placeholder="€ maximum">
<select class="txt_form" name="type_prestation">
<option value="">Tous les types de prestation</option>
<option value="pret" {% if app.request.query.get('type_prestation') == 'pret' %} selected {% endif %}>Prêts</option>
<option value="service" {% if app.request.query.get('type_prestation') == 'service' %} selected {% endif %}>Services</option>
</select>
<button type="submit" class="btn_recherche">Filtrer</button>
</form>
<script>
document.getElementById("filterForm").addEventListener("submit", function(event) {
event.preventDefault();
var keyword = document.getElementsByName("keyword")[0].value;
var prixMin = document.getElementsByName("prixMin")[0].value;
var prixMax = document.getElementsByName("prixMax")[0].value;
var typePrestation = document.getElementsByName("type_prestation")[0].value;
var url = "../../mes_annonces_repondues/filtres/?keyword=" + encodeURIComponent(keyword) + "&prixMin=" + encodeURIComponent(prixMin) + "&prixMax=" + encodeURIComponent(prixMax) + "&type_prestation=" + encodeURIComponent(typePrestation);
window.location.href = url;
});
</script>
</div>
<div class="container-mes-annonces">
<a id="btnPostees" class="btn-navigation" href="{{ path('app_mes_annonces') }}">Annonces postées</a>
<a id="btnRepondues" class="btn-navigation active" href="{{ path('app_mes_annonces_repondues') }}">Annonces répondues</a>
</div>
<div class="prestations">
{% for prestation in prestations %}
<div class="prestation">
{% if prestation.getType() == 'Pret' %}
<p class="tag_pret" id="tag">Prêt</p>
<p>{{ prestation.titre }}</p>
<p>{{ prestation.CoutPrestation }} florains</p>
<a href="{{ path('annonce_detail', {'id': prestation.id}) }}"><button class="tag_pret">Voir le détail >></button></a>
{% elseif prestation.getType() == 'Service' %}
<p class="tag_service" id="tag">Service</p>
<p>{{ prestation.titre }}</p>
<p>{{ prestation.CoutPrestation }} florains</p>
<a href="{{ path('annonce_detail', {'id': prestation.id}) }}"><button class="tag_service">Voir le détail >></button></a>
{% endif %}
</div>
{% endfor %}
</div>
<script>
const btnPostees = document.getElementById('btnPostees');
const btnRepondues = document.getElementById('btnRepondues');
btnPostees.addEventListener('click', () => {
btnPostees.classList.add('active');
btnRepondues.classList.remove('active');
});
btnRepondues.addEventListener('click', () => {
btnRepondues.classList.add('active');
btnPostees.classList.remove('active');
});
</script>
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment