Fix recurring private events breaking things

This commit is contained in:
Nathan Gray 2015-11-25 17:20:30 +00:00
parent 85135e6790
commit 9a97d108a5
4 changed files with 8 additions and 7 deletions

View File

@ -803,7 +803,7 @@ class calendar_ui
if ($event['recur_type'] != MCAL_RECUR_NONE)
{
$event['app_id'] .= ':'.$event['recur_date'];
$event['app_id'] .= ':'.($event['recur_date'] ? $event['recur_date'] : $event['start']);
}
$event['parts'] = implode(",\n",$this->bo->participants($event,false));
$event['date'] = $this->bo->date2string($event['start']);

View File

@ -450,7 +450,7 @@ class calendar_uilist extends calendar_ui
elseif ($event['recur_type'] != MCAL_RECUR_NONE)
{
$event['edit_link'] = "edit_series({$event['id']}, {$event['start']});return false;";
$event['app_id'] .= ':'.$event['recur_date'];
$event['app_id'] .= ':'.($event['recur_date'] ? $event['recur_date'] : $event['start']);
}
else
{
@ -459,7 +459,7 @@ class calendar_uilist extends calendar_ui
}
// set id for grid
$event['row_id'] = $event['id'].($event['recur_type'] ? ':'.$event['recur_date'] : '');
$event['row_id'] = $event['id'].($event['recur_type'] ? ':'.($event['recur_date'] ? $event['recur_date'] : $event['start']) : '');
// Format start and end with timezone
foreach(array('start','end') as $time)

View File

@ -315,7 +315,7 @@ var et2_calendar_daycol = et2_valueWidget.extend([et2_IDetachedDOM],
for(var i = 0; i < event_ids.length; i++)
{
var event = egw.dataGetUIDdata('calendar::'+event_ids[i]);
event = event.data || false;
event = event && event.data || false;
if(event && event.date && (
event.date === this.options.date ||
// Accept multi-day events

View File

@ -122,7 +122,7 @@ var et2_calendar_event = et2_valueWidget.extend([et2_IDetachedDOM],
// Unregister, or we'll continue to be notified...
if(this.options.value)
{
var old_app_id = this.options.value.id + (this.options.value.recur_type ? ':'+this.options.value.recur_date : '');
var old_app_id = this.options.value.app_id;
egw.dataUnregisterUID('calendar::'+old_app_id,false,this);
}
},
@ -131,13 +131,14 @@ var et2_calendar_event = et2_valueWidget.extend([et2_IDetachedDOM],
// Un-register for updates
if(this.options.value)
{
var old_app_id = this.options.value.id + (this.options.value.recur_type ? ':'+this.options.value.recur_date : '');
var old_app_id = this.options.value.app_id;
egw.dataUnregisterUID('calendar::'+old_app_id,false,this);
}
this.options.value = _value;
// Register for updates
var app_id = this.options.value.id + (this.options.value.recur_type ? ':'+this.options.value.recur_date : '');
var app_id = this.options.value.id + (this.options.value.recur_type ? ':'+
(this.options.value.recur_date ? this.options.value.recur_date : this.options.value.start) : '');
egw.dataRegisterUID('calendar::'+app_id, function(event) {
// Check for changing days in the grid view
if(!this._sameday_check(event))