Added messages, notifications, count, and supporting elements
This commit is contained in:
@ -5,6 +5,7 @@ namespace App\Controller;
|
||||
use App\Entity\Member;
|
||||
use App\Entity\User;
|
||||
use App\Entity\MemberCase;
|
||||
use App\Entity\Messages;
|
||||
use App\Form\MemberFormType;
|
||||
use App\Libs\Breadcrumb;
|
||||
use App\Libs\NavList;
|
||||
@ -17,6 +18,15 @@ use Symfony\Component\Security\Http\Attribute\CurrentUser;
|
||||
|
||||
class MemberController extends AbstractController
|
||||
{
|
||||
/**
|
||||
* Variable to store unread notification messages
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private array $msgs;
|
||||
|
||||
private int $notificationCount;
|
||||
|
||||
public function __construct(
|
||||
private EntityManagerInterface $entityManager,
|
||||
private array $navLinks = [],
|
||||
@ -28,6 +38,9 @@ class MemberController extends AbstractController
|
||||
#[Route('/list-members/{id}', name: 'app_case_members')]
|
||||
public function listMembers(Request $request, #[CurrentUser()] User $user, string $id): Response
|
||||
{
|
||||
$this->msgs = $this->entityManager->getRepository(Messages::class)->getUnreadMessages($user);
|
||||
$this->notificationCount = $this->entityManager->getRepository(Messages::class)->getUnreadMessageCount($user);
|
||||
|
||||
$case = $this->entityManager->getRepository(MemberCase::class)->find($id);
|
||||
$members = $this->entityManager->getRepository(Member::class)->getCaseMembersByName($case);
|
||||
|
||||
@ -40,9 +53,10 @@ class MemberController extends AbstractController
|
||||
new Breadcrumb($this->generateUrl('app_list_cases'), 'List Cases'),
|
||||
new Breadcrumb($this->generateUrl('app_case_members', ['id' => $id]), 'List Members'),
|
||||
],
|
||||
'notifications' => $user->retrieveUnreadNotifications(),
|
||||
'notifications' => $this->msgs,
|
||||
'case' => $case,
|
||||
'members' => $members,
|
||||
'notificationCount' => $this->notificationCount,
|
||||
]
|
||||
)
|
||||
);
|
||||
@ -51,6 +65,9 @@ class MemberController extends AbstractController
|
||||
#[Route('/add-member/{id}', name: 'app_case_add_member')]
|
||||
public function addMember(Request $request, #[CurrentUser()] User $user, string $id): Response
|
||||
{
|
||||
$this->msgs = $this->entityManager->getRepository(Messages::class)->getUnreadMessages($user);
|
||||
$this->notificationCount = $this->entityManager->getRepository(Messages::class)->getUnreadMessageCount($user);
|
||||
|
||||
/** @var MemberCase $case */
|
||||
$case = $this->entityManager->getRepository(MemberCase::class)->find($id);
|
||||
|
||||
@ -110,9 +127,10 @@ class MemberController extends AbstractController
|
||||
new Breadcrumb($this->generateUrl('app_case_members', ['id' => $id]), 'List Members'),
|
||||
new Breadcrumb($this->generateUrl('app_case_add_member', ['id' => $id]), 'Add Member'),
|
||||
],
|
||||
'notifications' => $user->retrieveUnreadNotifications(),
|
||||
'notifications' => $this->msgs,
|
||||
'case' => $case,
|
||||
'form' => $form->createView(),
|
||||
'notificationCount' => $this->notificationCount,
|
||||
]
|
||||
)
|
||||
);
|
||||
@ -121,6 +139,9 @@ class MemberController extends AbstractController
|
||||
#[Route('/case/{caseId}/edit-member/{memberId}', name: 'app_case_edit_member')]
|
||||
public function editMember(Request $request, #[CurrentUser()] User $user, string $caseId, string $memberId): Response
|
||||
{
|
||||
$this->msgs = $this->entityManager->getRepository(Messages::class)->getUnreadMessages($user);
|
||||
$this->notificationCount = $this->entityManager->getRepository(Messages::class)->getUnreadMessageCount($user);
|
||||
|
||||
$member = $this->entityManager->getRepository(Member::class)->find($memberId);
|
||||
|
||||
$form = $this->createForm(MemberFormType::class, $member);
|
||||
@ -175,7 +196,8 @@ class MemberController extends AbstractController
|
||||
new Breadcrumb($this->generateUrl('app_case_members', ['id' => $caseId]), 'List Members'),
|
||||
new Breadcrumb($this->generateUrl('app_case_edit_member', ['caseId' => $caseId, 'memberId' => $memberId]), 'Edit Member'),
|
||||
],
|
||||
'notifications' => $user->retrieveUnreadNotifications(),
|
||||
'notifications' => $this->msgs,
|
||||
'notificationCount' => $this->notificationCount,
|
||||
'member' => $member,
|
||||
'form' => $form->createView(),
|
||||
'caseId' => $caseId,
|
||||
|
Reference in New Issue
Block a user