modx-pro / miniShop2

Second version of simple online shop for MODX Revolution
GNU General Public License v2.0
149 stars 128 forks source link

При сохранении доставки форматирование цены применяется к названию доставки, а к ценам не применяется, что приводит к ошибке object_err_save #909

Open neverfan opened 6 months ago

neverfan commented 6 months ago

Сохранение доставки приводит к ошибке "object_err_save"

Резюме / Summary

Кажется ошибка в коде, 42 строчка, для форматирования цены берется переменная $tmp в которой значение из названия доставки (name), а должно быть из поля с названием $field, т.е. перед строчкой 42 должна быть строчка trim($this->getProperty($field)):

$prices = ['price', 'distance_price', 'weight_price', 'free_delivery_amount'];
foreach ($prices as $field) {
  $tmp = trim($this->getProperty($field));// предполалаемый пропущенный код
  $tmp = $this->preparePrice($tmp);
  $this->setProperty($field, $tmp);
}

Шаг для воспроизведения / Step to play

Через админку создать доставку, ввести название содержащее запятые и цифры, пример: "Самовывоз из пункта выдачи (СПб, Загородный пр-т,40)"

Наблюдаемое поведение / Observed behavior

Приводит к ошибке "object_err_save"

Ожидаемое поведение / Expected behavior

Ожидается, что такое название не приводит к ошибке и доставка создается успешно.

Environment

Версия miniShop2: 4.2.2-pl, версия MODX: 2.8.5-pl