[evolution-patches] Additional static capabilities for groupwise [calendar]



Hi,
  Added a static capability to prevent assigning tasks by right clicking
on the existing task which the GW does not support. Disabled it after
checking for the static capability. Added another static capability to
prevent the conversion of non-recurring appointment to a recurrence
appointment. Disabled the widgets for the recurrence appointment when
viewing an existing appointment in GW, checking the capability.

thanks, chenthill.
? assign_value.diff
? capabilities.diff
? clear_cache.diff
? patch
? patch_60265.diff
? patch_62866.diff
? populate_cac.diff
? recurrence.diff
? update_requests.diff
? ~?
? libecal/.e-cal.c.swp
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/ChangeLog,v
retrieving revision 1.323
diff -u -r1.323 ChangeLog
--- ChangeLog	27 Aug 2004 05:39:52 -0000	1.323
+++ ChangeLog	27 Aug 2004 09:19:29 -0000
@@ -1,3 +1,14 @@
+2004-08-27  chenthill Palanisamy <pchenthill novell com>
+
+	* libecal/e-cal-utils.h:
+       	defined two macros for the handling the static capabilities for 
+	backends which does not support the conversion of a non-recurring
+	appointment to a recurrence appointment and conversion of posted
+	task to group task.
+	* backends/groupwise/e-cal-backend-groupwise.c
+	(e_cal_backend_groupwise_get_static_capabilities): Added the 
+	two macros in this function.
+
 2004-08-27  Chenthill Palanisamy <pchenthill novell com>
 
 	* backends/groupwise/e-cal-backend-groupwise-utils.c
Index: backends/groupwise/e-cal-backend-groupwise.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/backends/groupwise/e-cal-backend-groupwise.c,v
retrieving revision 1.89
diff -u -r1.89 e-cal-backend-groupwise.c
--- backends/groupwise/e-cal-backend-groupwise.c	25 Aug 2004 15:12:12 -0000	1.89
+++ backends/groupwise/e-cal-backend-groupwise.c	27 Aug 2004 09:19:29 -0000
@@ -504,6 +504,8 @@
 				  CAL_STATIC_CAPABILITY_REMOVE_ALARMS ","   \
 	                          CAL_STATIC_CAPABILITY_NO_THISANDPRIOR "," \
 				  CAL_STATIC_CAPABILITY_NO_THISANDFUTURE "," \
+				  CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK "," \
+				  CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR "," \ 
 				  CAL_STATIC_CAPABILITY_SAVE_SCHEDULES);
 
 	return GNOME_Evolution_Calendar_Success;
Index: libecal/e-cal-util.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/calendar/libecal/e-cal-util.h,v
retrieving revision 1.4
diff -u -r1.4 e-cal-util.h
--- libecal/e-cal-util.h	7 Jan 2004 18:15:26 -0000	1.4
+++ libecal/e-cal-util.h	27 Aug 2004 09:19:29 -0000
@@ -121,6 +121,8 @@
 #define CAL_STATIC_CAPABILITY_ORGANIZER_NOT_EMAIL_ADDRESS "organizer-not-email-address"
 #define CAL_STATIC_CAPABILITY_REMOVE_ALARMS               "remove-alarms"
 #define CAL_STATIC_CAPABILITY_SAVE_SCHEDULES              "save-schedules"
+#define CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK	  "no-conv-to-assign-task"
+#define CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR		  "no-conv-to-recur"
 
 /* Recurrent events. Management for instances */
 icalcomponent *e_cal_util_construct_instance (icalcomponent *icalcomp,
? :w
? capability.diff
? forget_pass
? forget_pass.diff
? patch
? patch_auth_evo.diff
? patch_calendar_sel.diff
? patch_calendar_selection.diff
? set_status.diff
? gui/.e-calendar-table.c.swp
? gui/.temp_gw.swp
? gui/check_patch
? gui/groupwise_calendar:
? gui/patch_pass.diff
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.2496
diff -u -r1.2496 ChangeLog
--- ChangeLog	26 Aug 2004 16:16:53 -0000	1.2496
+++ ChangeLog	27 Aug 2004 09:16:17 -0000
@@ -1,3 +1,15 @@
+2004-08-27  Chenthill Palanisamy  <pchenthill novell com>
+
+	* gui/e-calendar-table.c
+	(e_calendar_table_show_popup_menu): Check the
+	static capability to enable or disable the assign
+	tasks in the popup menu.
+
+	* gui/dialogs/recurrence-page.c
+	(sensitize_buttons): Check for the static capability
+	to convert a existing appointment to recurrence appointment
+	for enabling or diabling the recurrence widgets.
+
 2004-08-26  Christian Neumair  <chris gnome-de org>
 
 	* gui/GNOME_Evolution_Calendar.server.in.in:
Index: gui/e-calendar-table.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/e-calendar-table.c,v
retrieving revision 1.122
diff -u -r1.122 e-calendar-table.c
--- gui/e-calendar-table.c	22 Jul 2004 13:09:32 -0000	1.122
+++ gui/e-calendar-table.c	27 Aug 2004 09:16:17 -0000
@@ -1133,6 +1133,9 @@
 	if (e_cal_get_static_capability (comp_data->client, CAL_STATIC_CAPABILITY_NO_TASK_ASSIGNMENT))
 		disable_mask |= MASK_ASSIGNABLE;
 
+	if (e_cal_get_static_capability (comp_data->client, CAL_STATIC_CAPABILITY_NO_CONV_TO_ASSIGN_TASK))
+		disable_mask |= MASK_ASSIGNABLE;
+
 	setup_popup_icons (tasks_popup_menu);
         gtk_menu = e_popup_menu_create (tasks_popup_menu, disable_mask,
 					hide_mask, cal_table);
Index: gui/dialogs/recurrence-page.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/recurrence-page.c,v
retrieving revision 1.59
diff -u -r1.59 recurrence-page.c
--- gui/dialogs/recurrence-page.c	22 Jun 2004 22:35:41 -0000	1.59
+++ gui/dialogs/recurrence-page.c	27 Aug 2004 09:16:18 -0000
@@ -531,6 +531,8 @@
 	gboolean read_only;
 	gint selected_rows;
 	RecurrencePagePrivate *priv;
+	icalcomponent *icalcomp;
+	char *uid;
 
 	priv = rpage->priv;
 
@@ -539,6 +541,15 @@
 
 	if (!e_cal_is_read_only (COMP_EDITOR_PAGE (rpage)->client, &read_only, NULL))
 		read_only = TRUE;
+	
+	if (!read_only) {
+		e_cal_component_get_uid (priv->comp, &uid);
+
+		if (e_cal_get_static_capability (COMP_EDITOR_PAGE (rpage)->client, CAL_STATIC_CAPABILITY_NO_CONV_TO_RECUR) && e_cal_get_object(COMP_EDITOR_PAGE (rpage)->client, uid, NULL, &icalcomp, NULL)) {
+			read_only = TRUE;
+			g_free (icalcomp);
+		}
+	}
 
 	if (!read_only)
 		sensitize_recur_widgets (rpage);
@@ -1540,6 +1551,7 @@
 		gtk_signal_handler_block_by_data (GTK_OBJECT (priv->recurs), rpage);
 		e_dialog_toggle_set (priv->recurs, FALSE);
 		gtk_signal_handler_unblock_by_data (GTK_OBJECT (priv->recurs), rpage);
+
 
 		sensitize_buttons (rpage);
 		preview_recur (rpage);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]