diff --git a/calendar/js/et2_widget_event.js b/calendar/js/et2_widget_event.js index 0905a21a79..5204b8c46e 100644 --- a/calendar/js/et2_widget_event.js +++ b/calendar/js/et2_widget_event.js @@ -999,7 +999,16 @@ et2_calendar_event.recur_prompt = function(event_data, callback, extra_data) { var edit_id = event_data.app_id; var edit_date = event_data.start; + + // seems window.opener somehow in certian conditions could be from different origin + // we try to catch the exception and in this case retrive the egw object from current window. + try { var egw = this.egw ? (typeof this.egw == 'function' ? this.egw() : this.egw) : window.opener && typeof window.opener.egw != 'undefined' ? window.opener.egw('calendar'):window.egw('calendar'); + } + catch(e){ + var egw = window.egw('calendar'); + } + var that = this; var extra_params = extra_data && typeof extra_data == 'object' ? extra_data : {}; @@ -1063,7 +1072,15 @@ et2_calendar_event.recur_prompt = function(event_data, callback, extra_data) */ et2_calendar_event.series_split_prompt = function(event_data, instance_date, callback) { + // seems window.opener somehow in certian conditions could be from different origin + // we try to catch the exception and in this case retrive the egw object from current window. + try { var egw = this.egw ? (typeof this.egw == 'function' ? this.egw() : this.egw) : window.opener && typeof window.opener.egw != 'undefined' ? window.opener.egw('calendar'):window.egw('calendar'); + } + catch(e){ + var egw = window.egw('calendar'); + } + var that = this; if(typeof instance_date == 'string')