Баг домотикза - не работает кнопка Upload на странице Custom Icons

Столкнулся с не работающей кнопкой загрузки иконок в домотикзе.

При нажатии на кнопку - "ничего" не происходит.
При этом в консоли хрома ошибка "TypeError: $http.post(...).success is not a function..." и видно что проблема в строке №14 в файле domoticz\www\app\CustomIconsController.js.

Сколько эта кнопка уже не работает - мне не известно.

Причина: в ангуляре с сентября 16 года!!! не работают методы .success и .error в сервисе $http, и вместо этого надо использовать конструкцию:
.then(function(response) { /*Success*/ }, function(response) { /*Error*/ }); 

Когда это исправят в домотикзе - не известно, поэтому исправляем багу сами:


В файле domoticz\www\app\CustomIconsController.js заменяем этот кусок кода (с 14 строки и ниже)
.success(function (data) {
 if (data.status != "OK") {
  HideNotify();
  ShowNotify($.t('Error uploading Iconset') + ": " + data.error, 5000, true);
 }
 $scope.RefreshIconList();
})
.error(function (data) {
 HideNotify();
 ShowNotify($.t('Error uploading Iconset'), 5000, true);
});
на это:
.then(function(response) { //Success
 var data = response.data;
 if (data.status != "OK") {
  HideNotify();
  ShowNotify($.t('Error uploading Iconset') + ": " + data.error, 5000, true);
 }
 $scope.RefreshIconList();
}, function(response) { //Error
 HideNotify();
 ShowNotify($.t('Error uploading Iconset'), 5000, true);
}); 

Изменения я выделил желтым.

Очищаем кэш браузера (обязательно) и после этого кнопка работает без проблем.

Насколько долго это будет работать, пока не было возможности проверить - возможно только до следующего обновления, а потом придется всё повторить.

Комментарии

Популярные сообщения