diff --git a/public/css/style.css b/public/css/style.css index 8d08d10..aa4f65b 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -41,3 +41,14 @@ body { background: var(--calendar-color); border-radius: 2px; } + +/* Special indicator badge */ +.badge.badge-indicator { + height: 16px; + width: 16px; + padding: 0; + border-radius: 50%; +} +.popover .popover-body { + user-select: text; +} diff --git a/public/js/app.js b/public/js/app.js index e9abe2f..e50ee2f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -57,6 +57,9 @@ $(document).ready(function() { }) document.body.style.setProperty('--calendar-color', $('#calendar_instance_calendarColor').val()); + // Initialize popovers + $('.popover-dismiss').popover() + // Modal to add a sharee on a calendar, catch the click to add the query parameter $('a.add-sharee').click(function(e) { e.preventDefault() diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php index 612288c..96503ff 100644 --- a/src/Controller/AdminController.php +++ b/src/Controller/AdminController.php @@ -19,6 +19,7 @@ use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Symfony\Contracts\Translation\TranslatorInterface; class AdminController extends AbstractController @@ -327,7 +328,7 @@ class AdminController extends AbstractController /** * @Route("/calendars/{username}", name="calendars") */ - public function calendars(string $username) + public function calendars(UrlGeneratorInterface $router, string $username) { $principal = $this->get('doctrine')->getRepository(Principal::class)->findOneByUri(Principal::PREFIX.$username); $allCalendars = $this->get('doctrine')->getRepository(CalendarInstance::class)->findByPrincipalUri(Principal::PREFIX.$username); @@ -337,9 +338,15 @@ class AdminController extends AbstractController $shared = []; foreach ($allCalendars as $calendar) { if (CalendarInstance::ACCESS_OWNER === $calendar->getAccess()) { - $calendars[] = $calendar; + $calendars[] = [ + 'entity' => $calendar, + 'uri' => $router->generate('dav', ['path' => 'calendars/'.$username.'/'.$calendar->getUri()], UrlGeneratorInterface::ABSOLUTE_URL), + ]; } else { - $shared[] = $calendar; + $shared[] = [ + 'entity' => $calendar, + 'uri' => $router->generate('dav', ['path' => 'calendars/'.$username.'/'.$calendar->getUri()], UrlGeneratorInterface::ABSOLUTE_URL), + ]; } } diff --git a/templates/calendars/index.html.twig b/templates/calendars/index.html.twig index 3113ef0..1bc1d1b 100644 --- a/templates/calendars/index.html.twig +++ b/templates/calendars/index.html.twig @@ -8,10 +8,12 @@