#1066 closed дефект (не воспроизводится)

Ошибка при попытке запроса тестировавшихся плат

Reported by: alx Owned by: Denis_N
Priority: major Component: БД изделий АДС
Keywords: Cc:

Description

В r153/base на главной странице:

  • нажал "Показать фильтры";
  • установил отметку чекбокса "Тестирование" в группе "Имело запись в истории" (кстати, почему в прошедшем времени?);
  • нажал Enter.

В результате получил сообщение об ошибке: Ошибка запроса в Продукты1: mysqli_queryYou have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') order by `products`.`UID` desc LIMIT 0, 30' at line 1

Change History (7)

comment:1 by san, 14 months ago

Я не могу собрать такой запрос в интерфейсе...
Эффект #1062?

in reply to:  1 comment:2 by alx, 14 months ago

Replying to san:

Эффект #1062?

Не знаю... Я теперь вообще не могу понять, как это работает... Можешь описать по шагам, что я должен сделать?

Что я пробовал:

  • Загрузил главную страницу.
  • Нажал "Показать фильтры".
  • Нажал "+Добавить фильтры по истории".
  • Выбрал в появившемся списке "Тестирование".
  • Нажимаю Enter - ничего не происходит. Никакого запроса серверу не отправляется...

Как применить фильтр?

comment:3 by san, 14 months ago

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

Т.е для твоего запроса нужно сделать так:
Загрузил главную страницу.
Нажал "Показать фильтры".
Нажал "+Добавить фильтры по истории".
Выбрал в появившемся списке "Тестирование".
Выбрал в появившейся группе "Статус записи в истории" "Успешно" и "Неуспешно".
Нажимаю Enter

p.s. На мой взгляд, само добавление фильтра по истории Тестирование уже должно подразумевать что ты ищешь изделия у которых есть хотя-бы одна запись Тестирования в истории.

Last edited 14 months ago by san (previous) (diff)

in reply to:  3 comment:4 by alx, 14 months ago

Replying to san:

Насколько я понял реализацию фильтров автором - выбрать Тестирование не достаточно.

Как я (как пользователь) должен был догадаться, что того, что я сделал, недостаточно?

после выбора "Тестирование" появился чекбокс Фильтр "Тестирование", в котором стоит отметка. То есть фильтр есть, но применить я его не могу! Это уже само по себе странно (и по-моему неправильно)!

Ну хорошо, допустим, что не могу (предположим на секунду, что не должен мочь). Но если глупый пользователь пытается применить то, что применить не может (и не должен), разве не следует ему, в таком случае, сообщить, что он делает что-то не то? Это был риторический вопрос. :)

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

После серии экспериментов я обнаружил, что фильтр применяется (и то не всегда), только если на момент нажатия Enter открыт список поля "Статус записи в истории". Если же он не открыт - фильтр не применяется... Это тоже так задумано?

Плюс, ты прав, требуется изменить фильтр чтобы он применился... Вот, например, какая у меня получилась последовательность действий чтобы отфильтровать нетестированные изделия:

  • Загрузить главную страницу.
  • Нажать "Показать фильтры".
  • Нажать "+Добавить фильтры по истории".
  • Выбрать в появившемся списке "Тестирование".
  • Нажать "Статус записи в истории".
  • В появившемся списке установить отметку какого-нибудь чекбокса и снять ее обратно.
  • Не закрывая список поля "Статус записи в истории" применить фильтр (нажать Enter). Если закроешь - не применится...

Это тоже вот так все и было задумано??? Серьезно? =8-()

А если изменения фильтров не было, то и запрос интерфейс не отправит.

То есть чтобы повторить тот же самый запрос без изменения, пользователь должен что-то изменить в фильтре, а потом вернуть обратно - и только тогда запрос можно повторить? И это - хорошо и правильно?

p.s. На мой взгляд, само добавление фильтра по истории Тестирование уже должно подразумевать что ты ищешь изделия у которых есть хотя-бы одна запись Тестирования в истории.

Странный взгляд... Может я как раз ищу изделия, которые до сих пор не тестировали! Или я чего-то не понимаю, и изделия, для которых нет записей о тестировании, можно найти как-то по-другому, проще?

comment:5 by alx, 14 months ago

Кстати, описанное выше (фильтр нетестированных изделий) еще и не работает. Он выдает, например, изделие RM-48 s/n F00068, которое имеет запись об успешном тестировании. Создал тикет #1078.

comment:6 by san, 14 months ago

фильтр нетестированных изделий

Насколько я вижу, сейчас невозможно собрать фильтр так чтобы он показал только нетестированые изделия

comment:7 by alx, 14 months ago

Resolution: не воспроизводится
Status: newclosed

Хорошо. Похоже, эта ошибка сама не воспроизводится, но можно легко воспроизвести ее с помощью SQL-инъекции (правкой HTML). Этот тикет закрываю.

Note: See TracTickets for help on using tickets.