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);
|
||||
|
||||
if (gcal_calendar_is_read_only (calendar))
|
||||
return FALSE;
|
||||
{
|
||||
g_debug ("No invitations on %s: the calendar is read-only", gcal_calendar_get_name (calendar));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
source = gcal_calendar_get_source (calendar);
|
||||
if (!source || !e_source_has_extension (source, E_SOURCE_EXTENSION_WEBDAV_BACKEND))
|
||||
return FALSE;
|
||||
{
|
||||
g_debug ("No invitations on %s: not a CalDAV calendar", gcal_calendar_get_name (calendar));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
webdav = e_source_get_extension (source, E_SOURCE_EXTENSION_WEBDAV_BACKEND);
|
||||
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);
|
||||
|
||||
if (!uri || !gcal_federated_core_find_core (config_dir, g_uri_get_host (uri), &core_email, &core_name))
|
||||
return FALSE;
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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);
|
||||
|
||||
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)
|
||||
*out_email = (server_email && *server_email) ? g_steal_pointer (&server_email) : g_steal_pointer (&core_email);
|
||||
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));
|
||||
|
||||
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),
|
||||
|
||||
Reference in New Issue
Block a user