diff --git a/calendar/inc/class.calendar_timezones.inc.php b/calendar/inc/class.calendar_timezones.inc.php
index 81b3e63f3c..a8d59c494a 100644
--- a/calendar/inc/class.calendar_timezones.inc.php
+++ b/calendar/inc/class.calendar_timezones.inc.php
@@ -374,7 +374,7 @@ class calendar_timezones
}
$output .= '
'.self::import_tz_aliases()."
\n";
- $GLOBALS['egw']->framework->render($output, lang('Update timezones'), true);
+ $GLOBALS['egw']->framework->render($output, lang('Update timezones'), false);
}
/**
diff --git a/calendar/inc/class.calendar_uiforms.inc.php b/calendar/inc/class.calendar_uiforms.inc.php
index d43ce40df4..9092546f91 100644
--- a/calendar/inc/class.calendar_uiforms.inc.php
+++ b/calendar/inc/class.calendar_uiforms.inc.php
@@ -2479,6 +2479,7 @@ class calendar_uiforms extends calendar_ui
$GLOBALS['egw_info']['flags']['app_header'] = lang('Calendar').' - '.lang('Category ACL');
$tmp = new etemplate_new('calendar.cat_acl');
+ $GLOBALS['egw_info']['flags']['nonavbar'] = 1;
$tmp->exec('calendar.calendar_uiforms.cat_acl',$content,null,$readonlys,$preserv);
}
diff --git a/calendar/inc/class.uiholiday.inc.php b/calendar/inc/class.uiholiday.inc.php
index efb67faf1d..2764aedd42 100755
--- a/calendar/inc/class.uiholiday.inc.php
+++ b/calendar/inc/class.uiholiday.inc.php
@@ -70,7 +70,6 @@
unset($GLOBALS['egw_info']['flags']['noheader']);
unset($GLOBALS['egw_info']['flags']['nonavbar']);
$GLOBALS['egw_info']['flags']['noappfooter'] = True;
- common::egw_header();
$p = &$GLOBALS['egw']->template;
$p->set_file(Array('locales'=>'locales.tpl'));
diff --git a/calendar/js/app.js b/calendar/js/app.js
index b663da35e4..a6241faab2 100644
--- a/calendar/js/app.js
+++ b/calendar/js/app.js
@@ -1493,7 +1493,7 @@ app.classes.calendar = AppJS.extend(
grid.iterateOver(function(widget) {
if(widget.set_show_weekend)
{
- widget.set_show_weekend(view.show_weekend(state));
+ widget.set_show_weekend(view.show_weekend(state.state));
}
},this, et2_valueWidget);
}
@@ -1537,12 +1537,7 @@ app.classes.calendar = AppJS.extend(
// Toggle todos
if(state.state.view == 'day')
{
- if(state.state.owner.length !== 1)
- {
- $j(view.etemplates[1].DOMContainer).hide();
- view.etemplates[0].widgetContainer.set_width("");
- }
- else
+ if(state.state.owner.length === 1 && !isNaN(state.state.owner) && state.state.owner[0] > 0)
{
view.etemplates[0].widgetContainer.set_width("70%");
// TODO: Maybe some caching here
@@ -1551,6 +1546,11 @@ app.classes.calendar = AppJS.extend(
this.getWidgetById('todos').set_value({content:data.todos||''});
},view.etemplates[1].widgetContainer);
}
+ else
+ {
+ $j(view.etemplates[1].DOMContainer).hide();
+ view.etemplates[0].widgetContainer.set_width("");
+ }
}
else
{
@@ -2058,6 +2058,7 @@ app.classes.calendar = AppJS.extend(
// Here we look for things like owner: ['r1,r2'] and change them
// to owner: ['r1','r2']
state[this.name.replace('[]','')] = $j(this).val();
+ $j('option', this).removeAttr('selected');
for(var key in state)
{
if(state[key] && typeof state[key].length !== 'undefined')
diff --git a/calendar/js/et2_widget_timegrid.js b/calendar/js/et2_widget_timegrid.js
index 2049b302ee..cc3638ded1 100644
--- a/calendar/js/et2_widget_timegrid.js
+++ b/calendar/js/et2_widget_timegrid.js
@@ -544,9 +544,12 @@ var et2_calendar_timegrid = et2_valueWidget.extend([et2_IDetachedDOM, et2_IResiz
if(typeof this.value[this.day_list[i]] === 'undefined')
{
var ids = (egw.dataGetUIDdata(app.classes.calendar._daywise_cache_id(this.day_list[i],this.options.owner))||{data:[]});
- for(var j = 0; j < ids.data.length; j++)
+ if(ids.data.length > 0)
{
this.value[this.day_list[i]] = [];
+ }
+ for(var j = 0; j < ids.data.length; j++)
+ {
if(egw.dataHasUID('calendar::'+ids.data[j]))
{
this.value[this.day_list[i]].push(egw.dataGetUIDdata('calendar::'+ids.data[j]).data);
@@ -1014,6 +1017,19 @@ var et2_calendar_timegrid = et2_valueWidget.extend([et2_IDetachedDOM, et2_IResiz
break;
}
}
+ else if (typeof _owner == 'object' && _owner.length)
+ {
+ this.owner.options.application = false;
+ var owner_objected = [];
+ for(var i = 0; i < _owner.length; i++)
+ {
+ owner_objected[i] = {
+ app: _owner[i][0] == 'r' ? 'resources' : 'home-accounts',
+ id: isNaN(_owner[i]) ? _owner[i].substr(1) : _owner[i]
+ };
+ }
+ this.owner.set_value(owner_objected);
+ }
else
{
this.owner.options.application = 'home-accounts'