После удачного обновления до версии 7.13.0 настройки пользователей сбросились (все колонки везде и остальное).

Левая панель навигации перестала запоминать положение, типа свернута или развернута. При развертывании ее и перезагрузки страницы она снова сворачивается.

Нравится

1 комментарий

Удачным обновлением можно назвать обновление хотя бы до 7.15, а до 7.13 — ну, так себе.frown

Логика этой панели и сворачивания реализована в схеме LeftPanelTopMenuModule и её функции collapseSideBar. Она, в свою очередь, вызывает из LeftPanelUtilitiesV2 функцию changeCollapsed. Текущее состояние берётся из профиля, меняется на противоположное, добавляется или убирается CSS-атрибут и новое значение состояния также записывается в профиль.

getDefaultCollapsed: function() {
	if (this.useProfile) {
		if (profile !== null) {
			return profile;
		} else {
			return true;
		}
	} else {
		return true;
	}
},
 
getCollapsed: function() {
	var body = Ext.getBody();
	return body.hasCls("left-panel-collapsed");
},
 
changeCollapsed: function() {
	var collapsed = this.getCollapsed();
	this.setCollapsed(!collapsed);
},
 
setCollapsed: function(collapsed) {
	var body = Ext.getBody();
	var internalCollapsed = this.getCollapsed();
	if (collapsed) {
		body.addCls("left-panel-collapsed");
	} else {
		body.removeCls("left-panel-collapsed");
	}
	if (internalCollapsed !== collapsed) {
		this.fireEvent("collapsedChanged", collapsed);
	}
	if (this.useProfile) {
		Terrasoft.utils.saveUserProfile("LeftPanelCollapsed", collapsed, false);
	}
}

Если у Вас механизм работает неправильно, проверьте, не выполнялось ли доработок в этих схемах, особенно связанных с профилем. Возможно, они конфликтуют с новой стандартной логикой, или после переопределений у Вас осталась старая логика, которая в стандартных пакетах уже была адаптирована при обновлении.

Показать все комментарии

Когда проблема решена, кажется, что всё было так просто, что и писать об этом не стоит. Тем более, что ничто под луной не ново, наверняка кто-то уже преодолевал те же трудности, что встретились мне. Преодолевать-то он, может, и преодолевал, а вот опытом с товарищами не поделился. Подумав так, я решил описать найденное решение для следующей проблемы: в 3.2.1 оутлуковский плагин затягивал в систему всю почту автоматически. Что бы там ни стояло в окне пользовательских настроек! Приходит письмо на сто тысяч миллионов – и тут же оказывается в системе. Права доступа как-то сдерживают эту проблему, хоть письмо и есть, но доступно не всем. И всё же… Никогда ведь не знаешь, что там попадёт в почтовый ящик, а злодея Supervisorа не остановит даже отсутствие прав. Беда, однако, в том, что ранг Супервизора в системе куда выше, чем в реальной жизни, и ему тоже не следует знать, о чём пишут директоры.

Словом, проблема есть, и усугубляется она тем, что в старых версиях интеграция полностью сделана средствами ядра, scr_MSOutlookLibrary в 3.2.1 ещё не было. Однако зацепка всё-таки обнаружилась. Заодно и стало ясно, почему, по крайней мере, в одной конфигурации почта загружалась втихую, автоматически, вне зависимости от пользовательских настроек.

Стать на пути «бесшумной» интеграции поможет отладчик в wnd_UserSettingsScript. Я подумал, что при соединении плагина к конфигурации он должен хоть разок заглянуть сюда, и не ошибся:

Здесь же открылись и вот эти строки:

var DefAutobindingReceivedMessages = true;
()
var DefAutobindingSendedMessages = true;

Как ясно из названий переменных (самодокументированный код!) это именно то, что надо. Плагин считывал эти переменные и довольствовался ими, зачем ещё в профиль окна смотреть… Соответственно, сколько бы пользователи не снимали соответствующие галочки в пользовательских настройках, плагин всё равно втихую загружал всё, что попадало в почтовый ящик.

Решение же просто, как две копейки. В этих строчках вместо true ставим false. Автоматическая загрузка прекратилась при следующем старте Оутлука…

Ну, вот, никаких откровений, всего-то true на false поменять. Главное знать, где именно. Вдруг у кого-то случится та же беда – видите, как всё просто решается, если знать, куда ткнуть.

Нравится

Поделиться

0 комментариев
Показать все комментарии