Этап
Готова
Тип
Ошибка
Приоритет
Высокий
Трудоемкость
Обычная
Создана
Дата создания
2 года назад
Назначена
Обновлена
год и 7 месяцев назад

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

Надо на момент создания проверять существование, и апгрейдить слаг.

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

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius год и 7 месяцев назад

готова

 demius год и 8 месяцев назад

Ну, в целом готово. Надо подумать над красотой, например спецификациями

 demius год и 9 месяцев назад

Вот мы и создали документ с существующим slug

  • ОСАГО - уже был
  • ОСАГО - создали аналогичный касательно другой машины. Документ успешно создался, но открыть его не выходит, так как ищется он только по slug, находит первый его проект не равен текущему, и в результате 404.
 demius 2 года назад
    #[ORM\Column(type: "string", length: 255)]
    #[Gedmo\Slug(fields: ["caption"], unique_base: "suffix")]
    #[Assert\NotBlank]
    #[Assert\Length(min: 1, max: 255)]

так что в теории работать должно, надо перепроверить.

И да, ничего не мешает нам деражть два индекса. index<slug> для фильтрации по проектам и unique<slug, suffix> по которому можно и искать по слагу без проекта, и с проектом и проверять ,что слаг уникальный в рамках проекта