Calendar et2 bugs:

- Fix daywise cache kept even when changing owner
- Fix filtering for a single participant did not return correct results
- Fix sometimes missing resource name in single calendars
This commit is contained in:
Nathan Gray 2015-08-11 23:20:24 +00:00
parent f0730feff1
commit bf2fff51f6
2 changed files with 20 additions and 7 deletions

View File

@ -1263,10 +1263,10 @@ app.classes.calendar = AppJS.extend(
if(cachable_changes.indexOf(s) === -1) if(cachable_changes.indexOf(s) === -1)
{ {
// Expire daywise cache // Expire daywise cache
var daywise = egw.dataKnownUIDs(this.DAYWISE_CACHE_ID); var daywise = egw.dataKnownUIDs(app.classes.calendar.DAYWISE_CACHE_ID);
for(var i = 0; i < daywise.length; i++) for(var i = 0; i < daywise.length; i++)
{ {
egw.dataDeleteUID(this.DAYWISE_CACHE_ID + '::' + daywise[i]); egw.dataDeleteUID(app.classes.calendar.DAYWISE_CACHE_ID + '::' + daywise[i]);
} }
} }
if (new_state[s] !== _set[s]) if (new_state[s] !== _set[s])
@ -1929,13 +1929,13 @@ app.classes.calendar = AppJS.extend(
instance ? instance.etemplate_exec_id : instance ? instance.etemplate_exec_id :
this.sidebox_et2.getInstanceManager().etemplate_exec_id, this.sidebox_et2.getInstanceManager().etemplate_exec_id,
{start: 0, num_rows:0}, {start: 0, num_rows:0},
jQuery.extend({}, app.calendar.state, jQuery.extend({}, {
{
get_rows: 'calendar.calendar_uilist.get_rows', get_rows: 'calendar.calendar_uilist.get_rows',
row_id:'row_id', row_id:'row_id',
startdate:state.first || state.date, startdate:state.first || state.date,
enddate:state.last, enddate:state.last,
col_filter: {participant: state.owner}, // Participant must be an array or it won't work
col_filter: {participant: (typeof state.owner == 'string' || typeof state.owner == 'number' ? [state.owner] : state.owner)},
filter:'custom', // Must be custom to get start & end dates filter:'custom', // Must be custom to get start & end dates
status_filter: state.filter, status_filter: state.filter,
cat_id: state.cat_id, cat_id: state.cat_id,

View File

@ -1004,8 +1004,21 @@ var et2_calendar_timegrid = et2_valueWidget.extend([et2_IDetachedDOM, et2_IResiz
{ {
var old = this.options.owner || 0; var old = this.options.owner || 0;
// Let select-account widget handle value validation if(typeof _owner == 'string' && isNaN(_owner))
this.owner.set_value(typeof _owner == "string" || typeof _owner == "number" ? _owner : jQuery.extend([],_owner)); {
switch(_owner[0])
{
case 'r':
this.owner.options.application = 'resources';
this.owner.set_value(_owner.substr(1));
break;
}
}
else
{
this.owner.options.application = 'home-accounts'
this.owner.set_value(typeof _owner == "string" || typeof _owner == "number" ? _owner : jQuery.extend([],_owner));
}
this.options.owner = _owner;//this.owner.getValue(); this.options.owner = _owner;//this.owner.getValue();
if(this.isAttached() && ( if(this.isAttached() && (