#126: IHKForm.java

plugins/org.projectforge.plugins.ihk/src/main/java/org/projectforge/plugins/ihk/IHKForm.java Path: plugins/...ihk/src/main/java/.../IHKForm.java · Lines: 248 · Type: Java Wicket Form — extends AbstractStandardForm 248 lines · 182 code · 27 comments · 39 blank

Wicket form for the IHK plugin UI — provides the week selector, configuration editor, and export trigger. Extends AbstractStandardForm<Object, IHKPage> — ProjectForge's Wicket form base class with Bootstrap grid layout. 248 lines of Java.

Form controls

Data loading flow

  1. On form initialization, reads ThreadLocalUserContext.getLoggedInUser()
  2. Queries AddressDao to find the matching address book entry (match by first/last name)
  3. If found and comment field contains JSON, deserializes IHKCommentObject via JsonUtils.fromJson()
  4. Auto-detects if the trainee has no configuration yet — shows setup prompt

Wicket layout

Uses ProjectForge's flowlayout package for Bootstrap grid-based form layout:

Validation

Request cycle

Wicket form submit → onSubmit() → calls IHKExporter.export() → returns byte[] → wraps in IResourceStream → triggers browser download of Berichtsheft_KW{week}_{Name}.xlsx.