#126: IHKForm.java

plugins/org.projectforge.plugins.ihk/src/main/java/org/projectforge/plugins/ihk/IHKForm.java Ruta: plugins/...ihk/src/main/java/.../IHKForm.java · Líneas: 248 · Tipo: Java Wicket Form — extiende AbstractStandardForm 248 líneas · 182 código · 27 comentarios · 39 en blanco

Formulario Wicket para la interfaz de usuario del plugin IHK — proporciona el selector de semana, el editor de configuración y el disparador de exportación. Extiende AbstractStandardForm<Object, IHKPage> — la clase base de formularios Wicket de ProjectForge con diseño de cuadrícula Bootstrap. 248 líneas de Java.

Controles del formulario

Flujo de carga de datos

  1. Al inicializar el formulario, lee ThreadLocalUserContext.getLoggedInUser()
  2. Consulta AddressDao para encontrar la entrada correspondiente en la libreta de direcciones (coincidencia por nombre/apellido)
  3. Si se encuentra y el campo de comentario contiene JSON, deserializa IHKCommentObject mediante JsonUtils.fromJson()
  4. Detecta automáticamente si el aprendiz aún no tiene configuración — muestra un aviso de configuración

Diseño Wicket

Utiliza el paquete flowlayout de ProjectForge para el diseño de formularios basado en cuadrícula Bootstrap:

Validación

Ciclo de solicitud

Envío del formulario Wicket → onSubmit() → llama a IHKExporter.export() → devuelve byte[] → envuelve en IResourceStream → activa la descarga en el navegador de Berichtsheft_KW{week}_{Name}.xlsx.