Author: nathangray
New Revision: 55625
URL: http://svn.stylite.de/viewvc/egroupware?rev=55625&view=rev
Log:
Try to fix occasional black events when editing an event with multiple owners visible
Modified:
trunk/calendar/js/et2_widget_daycol.js
trunk/calendar/js/et2_widget_event.js
— trunk/calendar/js/et2_widget_daycol.js (original)
+++ trunk/calendar/js/et2_widget_daycol.js Tue Apr 5 01:58:23 2016
@@ -348,13 +348,18 @@
{
var event = egw.dataGetUIDdata(‘calendar::’+event_ids[i]);
event = event && event.data || false;
-
if(event && event.date && et2_calendar_event.owner_check(event, this) && (
event.date === this.options.date ||
// Accept multi-day events
new Date(event.start) <= this.date //&& new Date(event.end) >= this.date
))
{
events.push(event);
-
}
-
else if (event)
-
{
-
// Got an ID that doesn't belong
-
event_ids.splice(i,1);
}
}
if(!this._parent.disabled)
— trunk/calendar/js/et2_widget_event.js (original)
+++ trunk/calendar/js/et2_widget_event.js Tue Apr 5 01:58:23 2016
@@ -708,41 +708,7 @@
}
// Also check participants against owner
-
var owner_match = true;
-
if(event.participants && this._parent.options.owner)
-
{
-
var parent_owner = typeof this._parent.options.owner !== 'object' ?
-
[this._parent.options.owner] :
-
this._parent.options.owner;
-
owner_match = false;
-
var length = parent_owner.length;
-
for(var i = 0; i < length; i++ )
-
{
-
if (parseInt(parent_owner[i]) < 0)
-
{
-
// Add in groups, if we can get them (this is syncronous)
-
egw.accountData(parent_owner[i],'account_id',true,function(members) {
-
parent_owner = parent_owner.concat(Object.keys(members));
-
});
-
}
-
}
-
for(var id in event.participants)
-
{
-
if(this._parent.options.owner == id ||
-
parent_owner.indexOf &&
-
parent_owner.indexOf(id) >= 0)
-
{
-
owner_match = true;
-
break;
-
}
-
}
-
if(!owner_match)
-
{
-
owner_match = (this._parent.options.owner == event.owner ||
-
parent_owner.indexOf &&
-
parent_owner.indexOf(event.owner) >= 0);
-
}
-
}
@@ -913,6 +879,61 @@
et2_register_widget(et2_calendar_event, [“calendar-event”]);
// Static class stuff
+/**
-
- Check event owner against a parent object
-
-
- As an event is edited, its participants may change. Also, as the state
-
- changes we may change which events are displayed and show the same event
-
- in several places for different users. Here we check the event participants
-
- against an owner value (which may be an array) to see if the event should be
-
-
-
-
@param {Object} event - Event information
-
-
@param {et2_widget_daycol|et2_widget_planner_row} parent - potential parent object
-
-
-
-
@return {boolean} Should the event be displayed
- */
+et2_calendar_event.owner_check = function owner_check(event, parent)
+{
- var owner_match = true;
- if(event.participants && parent.options.owner)
- {
-
var parent_owner = typeof parent.options.owner !== 'object' ?
-
[parent.options.owner] :
-
parent.options.owner;
-
owner_match = false;
-
var length = parent_owner.length;
-
for(var i = 0; i < length; i++ )
-
{
-
if (parseInt(parent_owner[i]) < 0)
-
{
-
// Add in groups, if we can get them (this is syncronous)
-
egw.accountData(parent_owner[i],'account_id',true,function(members) {
-
parent_owner = parent_owner.concat(Object.keys(members));
-
});
-
}
-
}
-
for(var id in event.participants)
-
{
-
if(parent.options.owner == id ||
-
parent_owner.indexOf &&
-
parent_owner.indexOf(id) >= 0)
-
{
-
owner_match = true;
-
break;
-
}
-
}
-
if(!owner_match)
-
{
-
owner_match = (parent.options.owner == event.owner ||
-
parent_owner.indexOf &&
-
parent_owner.indexOf(event.owner) >= 0);
-
}
- }
- return owner_match;
+};
-
/**
-
@callback et2_calendar_event~prompt_callback
-
@param {string} button_id - One of ok, exception, series, single or cancel
eGroupWare-cvs mailing list
eGroupWare-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-cvs