Tickets - при смене родительского ресурса в админке ошибка и меняется замороженный URL

MODX Revolution 2.7.0-pl

При смене в админке родительского ресурса у неопубликованного тикета в лог летит ошибка:
...../core/xpdo/om/xpdoquery.class.php: 764) Encountered empty IN condition with key id
Кроме того меняется замороженный URL.

У опубликованного ошибки вроде нет, но замороженный URL также меняется.

Подскажите, как поправить? Или это баг и требует исправления Василием?
Дмитрий
17 апреля 2019, 04:52
modx.pro
2 073
0

Комментарии: 8

Дмитрий
17 апреля 2019, 17:32
0
Так что же это может быть?
Где пустое значение?
Куда хоть копать, подскажите?
    Дмитрий
    17 апреля 2019, 18:04
    0
    На другом сайте ошибки нет, но меняется замороженный URL при смене родительского ресурса.
      Дмитрий
      23 апреля 2019, 19:05
      0
      Неужели никто не знает в чем может быть проблема. Ведь замороженный URL в Tickets не должен меняться.
        Дмитрий
        27 апреля 2019, 19:45
        0
        Подскажите хотя бы куда копать?
          iWatchYouFromAfar
          27 апреля 2019, 21:01
          0
          Тоже обнаружил такую ошибку, возможно @tolanych подскажет.
            Дмитрий
            27 апреля 2019, 21:49
            0
            Хорошо бы… Написал @tolanych, а также Василию (@Василий Наумкин) просьбы о помощи.
            Возможно помощь уже близко :))
              Дмитрий
              30 апреля 2019, 01:27
              +1
              @tolanych по почте ответил:
              Чтобы победить этот баг надо исследовать и протестировать все пограничные случаи как заморозка повлияет на тикеты и что надо будет еще пофиксить, т.е. займет какое-то время. По срокам ничего обещать не могу, на следующей неделе попробую выкроить время и разобраться.

              Можешь себе пофиксить это поведение в этом фрагменте кода:

              github.com/bezumkin/Tickets/blob/master/core/components/tickets/model/tickets/ticket.class.php#L621

              убрать в условии
              "$new_parent ||"

              но на тестовом сервере на свой страх и риск, т.к. не просто так Василий это условие ставил, и значит есть вероятность, что что-то сломается.

              Я пофиксил и оказалось, что уудалить в условии только лишь вышеуказанную часть условия недостаточно, поэтому я удалил еще и:
              $this->isDirty('published') ||

              То есть не удалил, а убрал пока из условия эти части условия, закомментировав их:
              if (/*$new_parent ||*/ $this->isDirty('alias') || /*$this->isDirty('published') ||*/ ($this->get('uri_override') && !$this->get('uri'))) {
              Теперь вроде все нормально и замороженный URL не меняется. Да и по моему ничего не сломалось.

              Надеюсь что @tolanych, как и обещал, проверит все и разберется, как будет время.

              Не поборол пока ошибку:
              ...../core/xpdo/om/xpdoquery.class.php: 764) Encountered empty IN condition with key id
              Однако @tolanych посоветовал:
              … попробуй в сист настройках MODX установи уровень логирования на максимальный: log_level = 4
              Мб повезет и в лог запишутся действия или запросы предшествующие этой ошибке.
              Эта ошибка, я так понимаю, не общая, а только у меня на одном сайте, поэтому буду искать причины.
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              8