IHKForm.javaplugins/org.projectforge.plugins.ihk/src/main/java/org/projectforge/plugins/ihk/IHKForm.java Chemin : plugins/...ihk/src/main/java/.../IHKForm.java · Lignes : 248 · Type : Java Wicket Form — étend AbstractStandardForm 248 lignes · 182 code · 27 commentaires · 39 vides
Formulaire Wicket pour l'interface utilisateur du plugin IHK — fournit le sélecteur de semaine, l'éditeur de configuration et le déclencheur d'exportation. Étend
AbstractStandardForm<Object, IHKPage>— la classe de base des formulaires Wicket de ProjectForge avec une mise en page Bootstrap en grille. 248 lignes de Java.Contrôles du formulaire
QuickSelectWeekPanel) — widget calendrier pour choisir la semaine du rapport. Inclut la navigation semaine précédente/suivante et un bouton de sélection rapide "cette semaine"LocalDatePanel+LocalDateModel) — affiche le lundi et le vendredi de la semaine sélectionnée sous forme de champs en lecture seule
Lié àausbildungsbeginn— date de début d'apprentissage (avec sélecteur de date)ausbildungsjahr— année de formation (saisie numérique, valeur par défaut -1)teamname— nom de l'équipe/département (saisie texte)IHKCommentObjectviaPropertyModelde WicketSingleButtonPanelavecSubmitLink) — déclencheIHKExporter.export()et diffuse le fichier Excel en téléchargement HTTPIHKCommentObjecten JSON et l'écrit dans le champ de commentaire du carnet d'adresses (AddressDO.comment) viaAddressDaoFlux de chargement des données
ThreadLocalUserContext.getLoggedInUser()AddressDaopour trouver l'entrée correspondante dans le carnet d'adresses (correspondance par prénom/nom)IHKCommentObjectviaJsonUtils.fromJson()Mise en page Wicket
Utilise le package
flowlayoutde ProjectForge pour une mise en page de formulaire basée sur la grille Bootstrap :FieldsetPanel— regroupe les champs associés avec un titreDivPanel/DivTextPanel— conteneurs de grille BootstrapGridSize.COL50/COL100— largeurs de colonnes responsivesWicketUtils.getImageIcon()— icônes pour les boutons (téléchargement, sauvegarde)CSSColor— constantes de style pour les messages d'information/avertissementValidation
ausbildungsbeginndoit être une date valide — lève uneUserExceptionavec un message localisé si absent ou invalideAddressDO— si aucune correspondance trouvée, affiche un avertissementCycle de requête
Soumission du formulaire Wicket →
onSubmit()→ appelleIHKExporter.export()→ retournebyte[]→ encapsulé dansIResourceStream→ déclenche le téléchargement par le navigateur deBerichtsheft_KW{week}_{Name}.xlsx.