mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-27 02:14:45 +01:00
Calendar: Fix existing event filtering on push changes
Fixes new events did not show up
This commit is contained in:
parent
3a8554c266
commit
eb7e00a908
@ -995,7 +995,7 @@ class calendar_uiforms extends calendar_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
$response = Api\Json\Response::get();
|
$response = Api\Json\Response::get();
|
||||||
if($response && $update_type != 'delete')
|
if($response && $update_type != 'delete' && !$client_updated)
|
||||||
{
|
{
|
||||||
$client_updated = $this->update_client($event['id']);
|
$client_updated = $this->update_client($event['id']);
|
||||||
}
|
}
|
||||||
@ -1110,7 +1110,7 @@ class calendar_uiforms extends calendar_ui
|
|||||||
}
|
}
|
||||||
// New event, send data before updating so it's there
|
// New event, send data before updating so it's there
|
||||||
$response = Api\Json\Response::get();
|
$response = Api\Json\Response::get();
|
||||||
if($response && !$content['id'] && $event['id'])
|
if($response && !$content['id'] && $event['id'] && !$client_updated)
|
||||||
{
|
{
|
||||||
$client_updated = $this->update_client($event['id']);
|
$client_updated = $this->update_client($event['id']);
|
||||||
}
|
}
|
||||||
|
@ -578,17 +578,22 @@ var CalendarApp = /** @class */ (function (_super) {
|
|||||||
// The event is outside our current view
|
// The event is outside our current view
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Ask for the real data
|
// Do we already have "fresh" data? Most user actions give fresh data in response
|
||||||
|
var existing = egw.dataGetUIDdata('calendar::' + pushData.id);
|
||||||
|
if (existing && Math.abs(existing.timestamp - new Date().valueOf()) < 1000) {
|
||||||
|
// Update directly
|
||||||
|
this._update_events(this.state, ['calendar::' + pushData.id]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
// Ask for the real data, we don't have it
|
||||||
egw.json("calendar.calendar_ui.ajax_get", [[pushData.id]], function (data) {
|
egw.json("calendar.calendar_ui.ajax_get", [[pushData.id]], function (data) {
|
||||||
if (data && data.data && data.data.data)
|
if (data && data.data && data.data.data)
|
||||||
return;
|
return;
|
||||||
var unknown = (typeof egw.dataGetUIDdata(data.uid) === "undefined");
|
|
||||||
// Store it, which will call all registered listeners
|
// Store it, which will call all registered listeners
|
||||||
egw.dataStoreUID(data.uid, data.data);
|
egw.dataStoreUID(data.uid, data.data);
|
||||||
// Any existing events were updated. Run this to catch new events or events moved into view
|
// Any existing events were updated. Run this to catch new events or events moved into view
|
||||||
if (unknown) {
|
this._update_events(this.state, [data.uid]);
|
||||||
this._update_events(this.state, [data.uid]);
|
|
||||||
}
|
|
||||||
}.bind(this)).sendRequest(true);
|
}.bind(this)).sendRequest(true);
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
|
@ -520,19 +520,24 @@ class CalendarApp extends EgwApp
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask for the real data
|
// Do we already have "fresh" data? Most user actions give fresh data in response
|
||||||
|
let existing = egw.dataGetUIDdata('calendar::'+pushData.id);
|
||||||
|
if(existing && Math.abs(existing.timestamp - new Date().valueOf()) < 1000)
|
||||||
|
{
|
||||||
|
// Update directly
|
||||||
|
this._update_events(this.state, ['calendar::'+pushData.id]);
|
||||||
|
return;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Ask for the real data, we don't have it
|
||||||
egw.json("calendar.calendar_ui.ajax_get", [[pushData.id]], function(data) {
|
egw.json("calendar.calendar_ui.ajax_get", [[pushData.id]], function(data) {
|
||||||
if(data && data.data && data.data.data) return;
|
if(data && data.data && data.data.data) return;
|
||||||
|
|
||||||
let unknown = (typeof egw.dataGetUIDdata(data.uid) === "undefined");
|
|
||||||
// Store it, which will call all registered listeners
|
// Store it, which will call all registered listeners
|
||||||
egw.dataStoreUID(data.uid, data.data);
|
egw.dataStoreUID(data.uid, data.data);
|
||||||
|
|
||||||
// Any existing events were updated. Run this to catch new events or events moved into view
|
// Any existing events were updated. Run this to catch new events or events moved into view
|
||||||
if(unknown)
|
this._update_events(this.state, [data.uid]);
|
||||||
{
|
|
||||||
this._update_events(this.state, [data.uid]);
|
|
||||||
}
|
|
||||||
}.bind(this)).sendRequest(true);
|
}.bind(this)).sendRequest(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user