show offers on user page

This commit is contained in:
Jannis Portmann 2021-05-08 17:03:25 +02:00
parent b5d7281d77
commit b3500b630a
3 changed files with 36 additions and 9 deletions

View file

@ -6,6 +6,7 @@ use App\Entity\Wish;
use App\Entity\User; use App\Entity\User;
use App\Form\WishFormType; use App\Form\WishFormType;
use App\Repository\OfferingRepository;
use App\Repository\WishRepository; use App\Repository\WishRepository;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
@ -25,10 +26,13 @@ class UserController extends AbstractController
} }
#[Route('/user', name: 'user_page')] #[Route('/user', name: 'user_page')]
public function user(): Response public function user(OfferingRepository $offeringRepository): Response
{ {
$user = $this->getUser();
return $this->render('user/index.html.twig', [ return $this->render('user/index.html.twig', [
'user' => $this->getUser(), 'user' => $user,
'offers' => $offeringRepository->findByUser($user),
]); ]);
} }
@ -71,7 +75,7 @@ class UserController extends AbstractController
public function deleteWish(Wish $wish): Response public function deleteWish(Wish $wish): Response
{ {
$user = $this->getUser(); $user = $this->getUser();
$user->removeWish($wish); $user->removeWish($wish);
$this->entityManager->persist($wish); $this->entityManager->persist($wish);
$this->entityManager->flush(); $this->entityManager->flush();

View file

@ -22,19 +22,16 @@ class OfferingRepository extends ServiceEntityRepository
// /** // /**
// * @return Offering[] Returns an array of Offering objects // * @return Offering[] Returns an array of Offering objects
// */ // */
/* public function findByUser($user)
public function findByExampleField($value)
{ {
return $this->createQueryBuilder('o') return $this->createQueryBuilder('o')
->andWhere('o.exampleField = :val') ->andWhere('o.byUser = :val')
->setParameter('val', $value) ->setParameter('val', $user)
->orderBy('o.id', 'ASC') ->orderBy('o.id', 'ASC')
->setMaxResults(10)
->getQuery() ->getQuery()
->getResult() ->getResult()
; ;
} }
*/
/* /*
public function findOneBySomeField($value): ?Offering public function findOneBySomeField($value): ?Offering

View file

@ -42,4 +42,30 @@
<h3 class="mb-3">Delete Account</h3> <h3 class="mb-3">Delete Account</h3>
<button class="btn btn-danger">Delete Account</button> <button class="btn btn-danger">Delete Account</button>
</div> </div>
<hr>
<h1>Offers</h1>
{% if offers|length > 0 %}
<div class="card-deck d-flex justify-content-around justify-content-sm-around justify-content-md-between flex-wrap">
{% for offer in offers %}
<a href="./offer/{{ offer.id }}" class="mb-5">
<div class="card offer h-100">
{% if offer.photoFilename %}
<img class="card-img-top" src="{{ asset('uploads/photos/' ~ offer.photofilename) }}" />
{% endif %}
<div class="card-body">
<h5 class="card-title">{{ offer.title }}</h5>
<p class="card-text">{{ offer.description }}</p>
</div>
<div class="card-footer offer-footer">
<p class="username"><i class="fas fa-user mt-3"></i> {{ offer.byUser }}</p>
<p class="zip"><i class="fas fa-map-marker-alt mt-3"></i> {{ offer.zipCode }}</p>
</div>
</div>
</a>
{% endfor %}
</div>
{% else %}
<div class="alert alert-warning" role="alert">There are currently no active offers.</div>
{% endif %}
{% endblock %} {% endblock %}