Модуль справочников

Материал из Course Orchestra
Перейти к: навигация, поиск

Требования в части архитектуры решения

  • Решение должно быть реализовано в виде двух гранул:
    • Управление, позволяет создавать, экспортировать, импортировать справочники
    • Содержит системные таблицы и интерфейс пользователя

Требования в части совместимости

  • Поддержка нескольких баз данных
    • MS SQL
    • PostgreSQL
    • Oracle
    • MySQL (возможно)
  • Совместимость с Celesta

Требования в части функциональности

  • Поддержка различных типов полей
    • integer
    • text
    • varchar
    • double
    • поля ссылочного типа
    • поля типа many-to-many
    • uuid
    • image
    • date
    • interval
    • boolean
    • широта
    • долгота
  • Возможность создавать и редатикровать таблицы и поля, в том числе
    • создание индексов
    • уникальных полей
    • первичных ключей
    • внеших ключей
  • Возможность настраиваемой фильтрации с различными условиями
  • Поддержка редактиврования данных (жалетально отделить от настройки)
  • Возможность импорта/экспорта структуры и данных

Требования в части отображения

  • Подержка гридов различных типов
    • treegrid
    • pagegrid
    • livegrid
  • Единый стилевой файл (никаких стилей внутри xfroms, возможно за исключением размеров)

Прочие требования

  • Версионность
  • Перевод некоторых xforms на python (для усорения обработки)
  • Сделать следующие исправления во всех xforms
    • упростить верстку
    • отказаться от использования submission для проверки биндов, для этого есть функция is-valid
    • перенести все сообщения об успешности или неуспешности сохраниния в python скрипты (для неуспешности такой механизм существует, для успешности дорабатывается в showcase)
  • Поддержка выгрузки/загрузки данных зависимых справочников
  • Возможность привязки статусной модели к справочнику и настройки дополнительных действий (запуск процедур) на переход справочника от статуса к статусу
  • Возможность установки контрольных функций на поле справочника (например контроль ИНН)


Статусная модель

  • Система должна иметь возможность добавления, редактирования и удаления статусов

1 stat.png

  • Система должна иметь возможность добавления, редактирования и удаления действий и соответствующих переходу статусов.

Действия могут иметь следующие типы

- переход cтатуса
- удаление записи
- изменение записи
- добавление записи
- запуск процедуры

2 stat.png

  • При определении прав доступа к справочнику такого типа дополнительно даются права на выполнение соответствующих действий для выбранной роли
  • Действия со справочником, доступные роли под которой находится пользователь, должны отображаться в виде кнопок в панели грида. Также текущий статус справочника должен отображаться в заголовке грида.
  • Система должна иметь возможность настройки соответствия между статусами справочниками и полями

3 stat.png {{#allow-groups:user}}