From bf2fff51f6c8ebdd595a9c28b1b7cde5e1ac243a Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 11 Aug 2015 23:20:24 +0000 Subject: [PATCH] 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 --- calendar/js/app.js | 10 +++++----- calendar/js/et2_widget_timegrid.js | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/calendar/js/app.js b/calendar/js/app.js index 406d30ab7a..b663da35e4 100644 --- a/calendar/js/app.js +++ b/calendar/js/app.js @@ -1263,10 +1263,10 @@ app.classes.calendar = AppJS.extend( if(cachable_changes.indexOf(s) === -1) { // 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++) { - egw.dataDeleteUID(this.DAYWISE_CACHE_ID + '::' + daywise[i]); + egw.dataDeleteUID(app.classes.calendar.DAYWISE_CACHE_ID + '::' + daywise[i]); } } if (new_state[s] !== _set[s]) @@ -1929,13 +1929,13 @@ app.classes.calendar = AppJS.extend( instance ? instance.etemplate_exec_id : this.sidebox_et2.getInstanceManager().etemplate_exec_id, {start: 0, num_rows:0}, - jQuery.extend({}, app.calendar.state, - { + jQuery.extend({}, { get_rows: 'calendar.calendar_uilist.get_rows', row_id:'row_id', startdate:state.first || state.date, 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 status_filter: state.filter, cat_id: state.cat_id, diff --git a/calendar/js/et2_widget_timegrid.js b/calendar/js/et2_widget_timegrid.js index 6edf2a0eed..2049b302ee 100644 --- a/calendar/js/et2_widget_timegrid.js +++ b/calendar/js/et2_widget_timegrid.js @@ -1004,8 +1004,21 @@ var et2_calendar_timegrid = et2_valueWidget.extend([et2_IDetachedDOM, et2_IResiz { var old = this.options.owner || 0; - // Let select-account widget handle value validation - this.owner.set_value(typeof _owner == "string" || typeof _owner == "number" ? _owner : jQuery.extend([],_owner)); + if(typeof _owner == 'string' && isNaN(_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(); if(this.isAttached() && (