#126: IHKForm.java

plugins/org.projectforge.plugins.ihk/src/main/java/org/projectforge/plugins/ihk/IHKForm.java Путь: plugins/...ihk/src/main/java/.../IHKForm.java · Строк: 248 · Тип: Java Wicket Form — расширяет AbstractStandardForm 248 строк · 182 кода · 27 комментариев · 39 пустых

Wicket-форма для UI плагина IHK — предоставляет выбор недели, редактор конфигурации и кнопку экспорта. Расширяет AbstractStandardForm<Object, IHKPage> — базовый класс форм Wicket от ProjectForge с сеткой Bootstrap. 248 строк Java.

Элементы управления формы

Процесс загрузки данных

  1. При инициализации формы считывает ThreadLocalUserContext.getLoggedInUser()
  2. Запрашивает AddressDao для поиска соответствующей записи в адресной книге (поиск по имени/фамилии)
  3. Если запись найдена и поле комментария содержит JSON, десериализует IHKCommentObject через JsonUtils.fromJson()
  4. Автоматически определяет, отсутствует ли у стажёра конфигурация — показывает подсказку по настройке

Wicket-разметка

Использует пакет flowlayout от ProjectForge для разметки формы на основе сетки Bootstrap:

Валидация

Цикл запроса

Отправка Wicket-формы → onSubmit() → вызывает IHKExporter.export() → возвращает byte[] → оборачивает в IResourceStream → запускает скачивание браузером файла Berichtsheft_KW{week}_{Name}.xlsx.