From 1f08d409f8b76aa22fd0af80b31312189f28967b Mon Sep 17 00:00:00 2001 From: Chenthill Palanisamy Date: Mon, 9 Jul 2007 11:23:34 +0000 Subject: reviewed by: Veerapuram Varadhan 2007-07-09 Chenthill Palanisamy reviewed by: Veerapuram Varadhan * gui/dialogs/comp-editor.c: (save_comp), (save_comp_with_send), (real_edit_comp): Organizer/Sentby can save/edit components. * gui/dialogs/event-editor.c: (event_editor_edit_comp): * gui/e-calendar-view.c: (e_calendar_view_add_event), (e_calendar_view_cut_clipboard), (delete_event), (e_calendar_view_delete_selected_occurrence), (set_attendee_status_for_delegate), (e_calendar_view_edit_appointment), (e_calendar_view_modify_and_send): * gui/itip-utils.c: (get_attendee), (get_attendee_if_attendee_sentby_is_user), (sanitize_component), (itip_get_comp_attendee), (comp_to_list), (comp_subject), (comp_limit_attendees), (comp_sentby), (itip_send_comp), (reply_to_calendar_comp): Adding the exchange delegation feature. Committing on behalf of Suman Manjunath svn path=/trunk/; revision=33786 --- calendar/gui/dialogs/comp-editor.c | 8 ++++---- calendar/gui/dialogs/event-editor.c | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) (limited to 'calendar/gui/dialogs') diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 3e4a77d0ee..4a6c1468af 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -749,7 +749,7 @@ save_comp (CompEditor *editor) } /* If we are not the organizer, we don't update the sequence number */ - if (!e_cal_component_has_organizer (clone) || itip_organizer_is_user (clone, priv->client)) + if (!e_cal_component_has_organizer (clone) || itip_organizer_is_user (clone, priv->client) || itip_sentby_is_user (clone)) e_cal_component_commit_sequence (clone); else e_cal_component_abort_sequence (clone); @@ -784,7 +784,7 @@ save_comp (CompEditor *editor) if (result && priv->mod == CALOBJ_MOD_THIS) { /* FIXME do we really need to do this ? */ - if ((priv->flags & COMP_EDITOR_DELEGATE) || !e_cal_component_has_organizer (clone) || itip_organizer_is_user (clone, priv->client)) + if ((priv->flags & COMP_EDITOR_DELEGATE) || !e_cal_component_has_organizer (clone) || itip_organizer_is_user (clone, priv->client) || itip_sentby_is_user (clone)) e_cal_component_commit_sequence (clone); else e_cal_component_abort_sequence (clone); @@ -881,7 +881,7 @@ save_comp_with_send (CompEditor *editor) return FALSE; if ((delegate && !e_cal_get_save_schedules (priv->client)) || (send && send_component_dialog ((GtkWindow *) editor, priv->client, priv->comp, !priv->existing_org))) { - if (itip_organizer_is_user (priv->comp, priv->client)) { + if ((itip_organizer_is_user (priv->comp, priv->client) || itip_sentby_is_user (priv->comp))) { if (e_cal_component_get_vtype (priv->comp) == E_CAL_COMPONENT_JOURNAL) return comp_editor_send_comp (editor, E_CAL_COMPONENT_METHOD_PUBLISH); else @@ -2495,7 +2495,7 @@ real_edit_comp (CompEditor *editor, ECalComponent *comp) priv->comp = e_cal_component_clone (comp); priv->existing_org = e_cal_component_has_organizer (comp); - priv->user_org = itip_organizer_is_user (comp, priv->client); + priv->user_org = (itip_organizer_is_user (comp, priv->client) || itip_sentby_is_user (comp)); priv->warned = FALSE; set_title_from_comp (editor); diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c index eac3de7832..7ebf2a1871 100644 --- a/calendar/gui/dialogs/event-editor.c +++ b/calendar/gui/dialogs/event-editor.c @@ -66,7 +66,6 @@ static void model_row_delete_cb (GtkTreeModel *model, GtkTreePath *path, gpointe static gboolean window_delete_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); static void create_schedule_page (EventEditor *ee); - G_DEFINE_TYPE (EventEditor, event_editor, TYPE_COMP_EDITOR) /* Class initialization function for the event editor */ @@ -757,7 +756,7 @@ event_editor_edit_comp (CompEditor *editor, ECalComponent *comp) } e_cal_component_free_attendee_list (attendees); - comp_editor_set_needs_send (COMP_EDITOR (ee), priv->meeting_shown && itip_organizer_is_user (comp, client)); + comp_editor_set_needs_send (COMP_EDITOR (ee), priv->meeting_shown && (itip_organizer_is_user (comp, client) || itip_sentby_is_user (comp))); priv->updating = FALSE; } -- cgit