[evolution] [itip-formatter] Meeting request attendee response address not properly filled
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] [itip-formatter] Meeting request attendee response address not properly filled
- Date: Tue, 27 Feb 2018 14:08:35 +0000 (UTC)
commit 720be6155dc4e810a220522421021ce98c834c24
Author: Milan Crha <mcrha redhat com>
Date: Tue Feb 27 15:06:15 2018 +0100
[itip-formatter] Meeting request attendee response address not properly filled
Two issues:
a) the ATTENDEE property value is supposed to be URI, specifically
a mailto: URI for email addresses
b) when the calendar has set no user email backend property, the code
returns an empty string, which had been used as the attendee address.
This had been discovered while working on a downstream bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1515776
src/modules/itip-formatter/itip-view.c | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
---
diff --git a/src/modules/itip-formatter/itip-view.c b/src/modules/itip-formatter/itip-view.c
index e27af2e..ee16eef 100644
--- a/src/modules/itip-formatter/itip-view.c
+++ b/src/modules/itip-formatter/itip-view.c
@@ -4469,9 +4469,13 @@ change_status (ESourceRegistry *registry,
} else {
icalparameter *param;
- if (address != NULL) {
- prop = icalproperty_new_attendee (address);
+ if (address && *address) {
+ gchar *mailto_uri;
+
+ mailto_uri = g_strconcat ("mailto:";, itip_strip_mailto (address), NULL);
+ prop = icalproperty_new_attendee (mailto_uri);
icalcomponent_add_property (ical_comp, prop);
+ g_free (mailto_uri);
param = icalparameter_new_role (ICAL_ROLE_OPTPARTICIPANT);
icalproperty_add_parameter (prop, param);
@@ -4481,15 +4485,20 @@ change_status (ESourceRegistry *registry,
} else {
gchar *default_name = NULL;
gchar *default_address = NULL;
+ gchar *mailto_uri;
itip_get_default_name_and_address (
registry, &default_name, &default_address);
- prop = icalproperty_new_attendee (default_address);
+ mailto_uri = g_strconcat ("mailto:";, itip_strip_mailto (address), NULL);
+ prop = icalproperty_new_attendee (mailto_uri);
icalcomponent_add_property (ical_comp, prop);
+ g_free (mailto_uri);
- param = icalparameter_new_cn (default_name);
- icalproperty_add_parameter (prop, param);
+ if (default_name && *default_name && g_strcmp0 (default_name, default_address) != 0) {
+ param = icalparameter_new_cn (default_name);
+ icalproperty_add_parameter (prop, param);
+ }
param = icalparameter_new_role (ICAL_ROLE_REQPARTICIPANT);
icalproperty_add_parameter (prop, param);
@@ -5955,9 +5964,15 @@ view_response_cb (ItipView *view,
e_cal_component_set_transparency (view->priv->comp, E_CAL_COMPONENT_TRANSP_OPAQUE);
}
- if (!view->priv->to_address && view->priv->current_client != NULL)
+ if (!view->priv->to_address && view->priv->current_client != NULL) {
e_client_get_backend_property_sync (E_CLIENT (view->priv->current_client),
CAL_BACKEND_PROPERTY_CAL_EMAIL_ADDRESS, &view->priv->to_address, NULL, NULL);
+ if (view->priv->to_address && !*view->priv->to_address) {
+ g_free (view->priv->to_address);
+ view->priv->to_address = NULL;
+ }
+ }
+
/* check if it is a recur instance (no master object) and
* add a property */
if (itip_view_get_recur_check_state (view)) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]