mirror of
https://github.com/tchapi/davis.git
synced 2025-04-22 05:22:15 +02:00
Fix #47: Add the calendar url for easier setup
This commit is contained in:
parent
0e4198a890
commit
fae4ac0097
@ -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;
|
||||
}
|
||||
|
@ -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()
|
||||
|
@ -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),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -8,10 +8,12 @@
|
||||
<h1 class="display-4 font-weight-lighter d-flex justify-content-between">{{ "calendars.for"|trans({'who': principal.displayName}) }} <a href="{{ path('calendar_create', {username: username}) }}" class="btn btn-sm btn-success mb-auto mt-auto">+ {{ "calendars.new"|trans }}</a></h1>
|
||||
|
||||
<div class="list-group mt-5">
|
||||
{% for calendar in calendars %}
|
||||
<div class="list-group-item list-group-item-action p-3">
|
||||
{% for compoundObject in calendars %}
|
||||
{% set calendar = compoundObject.entity %}
|
||||
{% set davUri = compoundObject.uri %}
|
||||
<div class="list-group-item p-3">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1 mr-auto">{{ calendar.displayName }} <span class="badge badge-pill" style="background-color: {{ calendar.calendarColor }}"> </span></h5>
|
||||
<h5 class="mb-1 mr-auto">{{ calendar.displayName }} <a href="#" class="badge badge-indicator popover-dismiss" role="button" data-toggle="popover" title="{{ 'calendars.setup.title'|trans }}" data-html='true' data-content="<code>{{ davUri }}</code>">ⓘ</a> <span class="badge badge-indicator" style="background-color: {{ calendar.calendarColor }}"> </span></h5>
|
||||
<div class="mr-0 text-right d-md-block d-none">
|
||||
<a href="#" data-sharees-href="{{ path('calendar_shares',{username: username, calendarid: calendar.calendar.id})}}" data-href="{{ path('calendar_share_add', {username: principal.username, instanceid: calendar.id}) }}" class="btn btn-sm btn-outline-info ml-1 share-modal">🔗 {{ "sharing"|trans }}</a>
|
||||
<a href="{{ path('calendar_edit',{username: username, id: calendar.id})}}" class="btn btn-sm btn-outline-primary ml-1">✎ {{ "edit"|trans }}</a>
|
||||
@ -40,8 +42,10 @@
|
||||
<h2 class="display-5 mt-4 font-weight-lighter">{{ "calendars.shared.with"|trans({'who': principal.displayName}) }}</h2>
|
||||
|
||||
<div class="list-group mt-3">
|
||||
{% for calendar in shared %}
|
||||
<div class="list-group-item list-group-item-action p-3">
|
||||
{% for compoundObject in shared %}
|
||||
{% set calendar = compoundObject.entity %}
|
||||
{% set davUri = compoundObject.uri %}
|
||||
<div class="list-group-item p-3">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1 mr-auto">
|
||||
{{ calendar.displayName }}
|
||||
@ -50,7 +54,7 @@
|
||||
{% else %}
|
||||
<span class="badge badge-info ml-1">{{ ('calendar.share_access.' ~ calendar.access)|trans }}</span>
|
||||
{% endif %}
|
||||
<span class="badge badge-pill" style="background-color: {{ calendar.calendarColor }}"> </span>
|
||||
<a href="#" class="badge badge-indicator popover-dismiss" role="button" data-toggle="popover" title="{{ 'calendars.setup.title'|trans }}" data-html='true' data-content="<code>{{ davUri }}</code>">ⓘ</a> <span class="badge badge-indicator" style="background-color: {{ calendar.calendarColor }}"> </span>
|
||||
</h5>
|
||||
<div class="mr-0 text-right d-md-block d-none">
|
||||
<a href="{{ path('calendar_edit',{username: username, id: calendar.id})}}" class="btn btn-sm btn-outline-primary ml-1">✎ {{ "edit"|trans }}</a>
|
||||
|
@ -165,6 +165,10 @@
|
||||
<source>calendars.component.todos</source>
|
||||
<target>Todos</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="B2WpruE" resname="calendars.setup.title">
|
||||
<source>calendars.setup.title</source>
|
||||
<target>Setup information</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="obdwi48" resname="calendars.component.notes">
|
||||
<source>calendars.component.notes</source>
|
||||
<target>Notes</target>
|
||||
|
Loading…
x
Reference in New Issue
Block a user