federated: Log why invitations aren't offered
With -vvv, say which check stopped people from being invited to an event: a read-only calendar, a calendar that isn't on a Core's Nextcloud, or an event organized by someone else. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -221,11 +221,17 @@ gcal_federated_core_get_organizer (GcalCalendar *calendar,
|
|||||||
g_return_val_if_fail (GCAL_IS_CALENDAR (calendar), FALSE);
|
g_return_val_if_fail (GCAL_IS_CALENDAR (calendar), FALSE);
|
||||||
|
|
||||||
if (gcal_calendar_is_read_only (calendar))
|
if (gcal_calendar_is_read_only (calendar))
|
||||||
|
{
|
||||||
|
g_debug ("No invitations on %s: the calendar is read-only", gcal_calendar_get_name (calendar));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
source = gcal_calendar_get_source (calendar);
|
source = gcal_calendar_get_source (calendar);
|
||||||
if (!source || !e_source_has_extension (source, E_SOURCE_EXTENSION_WEBDAV_BACKEND))
|
if (!source || !e_source_has_extension (source, E_SOURCE_EXTENSION_WEBDAV_BACKEND))
|
||||||
|
{
|
||||||
|
g_debug ("No invitations on %s: not a CalDAV calendar", gcal_calendar_get_name (calendar));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
webdav = e_source_get_extension (source, E_SOURCE_EXTENSION_WEBDAV_BACKEND);
|
webdav = e_source_get_extension (source, E_SOURCE_EXTENSION_WEBDAV_BACKEND);
|
||||||
uri = e_source_webdav_dup_uri (webdav);
|
uri = e_source_webdav_dup_uri (webdav);
|
||||||
@@ -234,7 +240,13 @@ gcal_federated_core_get_organizer (GcalCalendar *calendar,
|
|||||||
config_dir = g_build_filename (g_get_home_dir (), ".config", "coredesktop", NULL);
|
config_dir = g_build_filename (g_get_home_dir (), ".config", "coredesktop", NULL);
|
||||||
|
|
||||||
if (!uri || !gcal_federated_core_find_core (config_dir, g_uri_get_host (uri), &core_email, &core_name))
|
if (!uri || !gcal_federated_core_find_core (config_dir, g_uri_get_host (uri), &core_email, &core_name))
|
||||||
|
{
|
||||||
|
g_debug ("No invitations on %s: %s is not the Nextcloud of a Core in %s",
|
||||||
|
gcal_calendar_get_name (calendar),
|
||||||
|
uri ? g_uri_get_host (uri) : "(no address)",
|
||||||
|
config_dir);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Nextcloud only sends invitations when the organizer is one of the
|
* Nextcloud only sends invitations when the organizer is one of the
|
||||||
@@ -243,6 +255,12 @@ gcal_federated_core_get_organizer (GcalCalendar *calendar,
|
|||||||
*/
|
*/
|
||||||
server_email = e_source_webdav_dup_email_address (webdav);
|
server_email = e_source_webdav_dup_email_address (webdav);
|
||||||
|
|
||||||
|
g_debug ("Invitations on %s are organized by %s (server: %s, Core: %s)",
|
||||||
|
gcal_calendar_get_name (calendar),
|
||||||
|
(server_email && *server_email) ? server_email : core_email,
|
||||||
|
server_email ? server_email : "(none)",
|
||||||
|
core_email);
|
||||||
|
|
||||||
if (out_email)
|
if (out_email)
|
||||||
*out_email = (server_email && *server_email) ? g_steal_pointer (&server_email) : g_steal_pointer (&core_email);
|
*out_email = (server_email && *server_email) ? g_steal_pointer (&server_email) : g_steal_pointer (&core_email);
|
||||||
if (out_name)
|
if (out_name)
|
||||||
|
|||||||
@@ -159,6 +159,9 @@ update_invite_state (GcalEventEditorDialog *self)
|
|||||||
organizer_email = gcal_util_get_email_from_mailto_uri (gcal_event_organizer_get_uri (organizer));
|
organizer_email = gcal_util_get_email_from_mailto_uri (gcal_event_organizer_get_uri (organizer));
|
||||||
|
|
||||||
can_invite = !organizer_email || g_ascii_strcasecmp (organizer_email, email) == 0;
|
can_invite = !organizer_email || g_ascii_strcasecmp (organizer_email, email) == 0;
|
||||||
|
|
||||||
|
if (!can_invite)
|
||||||
|
g_debug ("No invitations: the event is organized by %s, not %s", organizer_email, email);
|
||||||
}
|
}
|
||||||
|
|
||||||
gcal_attendees_section_set_inviter (GCAL_ATTENDEES_SECTION (self->attendees_section),
|
gcal_attendees_section_set_inviter (GCAL_ATTENDEES_SECTION (self->attendees_section),
|
||||||
|
|||||||
Reference in New Issue
Block a user