Дипломная работа: Автоматизация документооборота организации ООО "АРСтрой"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
67
22
StatusFormType.php
Класс формы управления данными
статусов документов
23
StaffFormType.php
Класс формы управления данными
должности
24
TypeDocFormType.php
Класс формы для управления данными
типа документа
25
ProfileFormType.php
Класс формы для реализации работы с
профилем пользователя
26
UserFormType.php
Класс формы для реализации работы с
данными пользователя
27
UserFilterType.php
Класс формы для реализации фильтра в
списке пользователей
На рисунке 25 приведено дерево вызова программных модулей.
DefaultCntroller.php
AbstractCntroller.php
SeurityController.php
DepartmentController.php
DocController.php
AbstractEntity.php
Comment.php
Comment.php
Doc.php
DocFormType.php
CommentFormType.php
AbstractFormType.php
LoginFormType.php
CommentFormType.php
DepartmentFormType.php
Status.php
StaffController.php
Staff.php
StaffFormType.php
UsersController.php
User.php
UserFormType.php
TypeDocController.php
TypeDoc.php
TypeDocFormType.php
ProfileFormType.php
DocFilterFormType.php
Рисунок 25 – Дерево вызова программных модулей
2.3.4. Описание программных модулей
Каждый контролер обрабатывает запросы, отправляемые по
соответствующему маршруту. Описание того, какой контроллер должен
68
обрабатывать тот или иной маршрут оформляется в виде отдельного файла:
routing.yml.
Пример записи (главная страница ИС):
index:
path: /
defaults: { _controller: "AppBundle:DefaultController:Index" }
Такая запись означает следующее:
первая строка – название маршрута (index);
вторая строка – путь, или URL-адрес маршрута (/);
третья строка – имя класса контроллера, который должен
обрабатывать маршрут, а также метод этого контроллера, ответственный именно
за этот маршрут;
Обработка маршрута выполняется в контроллере DefaultController.php. При
переходе по маршруту (отправке запроса на url /) начинает свою работу метод
IndexAction. Данный метод проверяет наличие у пользователя открытой сессии
авторизации, и если такой нет, то перенаправляет пользователя на форму
авторизации (маршрут /login, Контроллер SecurityController.php).
Для обработки шаблонов и формирования на их основе html-страниц,
отображаемых пользователю, используется распространенный шаблонизатор
twig. Twig компилирующий обработчик шаблонов с открытым исходным кодом,
написанный на языке программирования PHP. Синтаксис, поддерживаемый
шаблонизатором позволяет использовать в шаблонах ветвления, циклы, а удобная
структура кода позволяет значительно сократить итоговый объем программного
кода. Также стоит отметить, что шаблонизатор генерирует на основе своих
шаблонов чистый php-код, который обрабатывается значительно быстрее.
При переадресации на маршрут открытия формы (/login), срабатывает
метод loginAction контроллера SecurityController.php. Он создает экземпляр
формы LoginFormType.php и обрабатывает её отправку. На рисунке 26 приведен
алгоритм работы данного метода.
69
Начало
Создание экземпляра класса
LoginFormType
Проверка наличия у посетителя
активной сессии авторизации
Переадресация на
главную страницу
раздела
Документы
(маршрут
documents)
Сессия имеется
Сессии не имеется
Переадресация на главную страницу
раздела Документы (маршрут
documents)
Конец
Форма была отправлена?
Да
Отправка запроса к модели
данных на выборку
информации о пользователе,
чей логин совпадает с
введенным
Создание сессии авторизации
Создание представления на
основе шаблона
login.html.twig
Отображение страницы
авторизации пользователю
НЕТ
Пароль верный?
ДА
НЕТ
Отображение сообщения
об ошибке
Рисунок 26 – Алгоритм работы метода loginAction
После успешного прохождения авторизации, пользователю отображается
страница со списком документов. Данную страницу формирует метод indexAction
контроллера DocController.php на основании шаблона Documents:index.html.twig.
Методы остальных контроллеров работают аналогичным образом.
Исходный код программных модулей приведен в приложении 2.
2.4. Контрольный пример реализации проекта и его описание
При открытии страницы сайта открывается форма авторизации (Рисунок
27).
70
Рисунок 27 – Форма авторизации
После прохождения авторизации открывается раздел работы с
документами. В данном разделе отображаются все документы, к которым имеет
отношение пользователь. Над списком документом отображается форма для
поиска и фильтрации документов (Рисунок 28).
Рисунок 28 – Раздел работы с документами
При нажатии на кнопку создания нового документа отображается
соответствующая форма (Рисунок 29).
71
Рисунок 29 – Форма создания документа
Поле заполнения формы и отправки данных созданный документ
отображается в списке всех документов. При клике на название или номер
данного документа в списке открывается страница работы с документом: в
верхней части страницы отображаются данные по документу, либо список файлов
(на отдельных вкладках), а ниже – комментарии к данному документу в виде чата.
Под чатом находятся кнопки для управления документом. (Рисунок 30).
Источник: https://baza.diplomsite.ru/previewfile/1738