@@ -31,7 +31,9 @@ public function onPrintRender(PrintHtmlAlterEvent $event): void {
3131 $ submission = $ event ->getEntities ()[0 ];
3232 if ($ submission instanceof WebformSubmissionInterface) {
3333 // Check whether generation is for digital post.
34- if ($ lookupResult = $ this ->getDigitalPostContext ($ submission )) {
34+ if ($ context = $ this ->getDigitalPostContext ($ submission )) {
35+ $ lookupResult = $ context ['lookupResult ' ];
36+ $ senderAddress = $ context ['senderAddress ' ];
3537
3638 // Combine address parts.
3739 $ streetAddress = $ lookupResult ->getStreet ();
@@ -52,7 +54,11 @@ public function onPrintRender(PrintHtmlAlterEvent $event): void {
5254 }
5355
5456 // Generate address HTML.
55- $ addressHtml = '<div id="envelope-window-digital-post"><div class="h-card"> ' ;
57+ $ addressHtml = '<div id="envelope-window-digital-post"> ' ;
58+ if (!empty ($ senderAddress )) {
59+ $ addressHtml .= '<div id="sender-address-digital-post"> ' . htmlspecialchars ($ senderAddress ) . '</div> ' ;
60+ }
61+ $ addressHtml .= '<div class="h-card"> ' ;
5662 $ addressHtml .= '<div class="p-name"> ' . htmlspecialchars ($ lookupResult ->getName ()) . '</div> ' ;
5763 if ($ lookupResult instanceof CprLookupResult && $ lookupResult ->getCoName ()) {
5864 $ addressHtml .= '<div class="p-name p-co-name">c/o ' . htmlspecialchars ($ lookupResult ->getCoName ()) . '</div> ' ;
@@ -90,15 +96,18 @@ public static function getSubscribedEvents(): array {
9096 /**
9197 * Indicate Digital Post context in the current session.
9298 */
93- public function setDigitalPostContext (WebformSubmissionInterface $ submission , CompanyLookupResult |CprLookupResult $ lookupResult ): void {
99+ public function setDigitalPostContext (WebformSubmissionInterface $ submission , CompanyLookupResult |CprLookupResult $ lookupResult, string $ senderAddress = '' ): void {
94100 $ key = $ this ->createSessionKeyFromSubmission ($ submission );
95- $ this ->session ->set ($ key , $ lookupResult );
101+ $ this ->session ->set ($ key , [
102+ 'lookupResult ' => $ lookupResult ,
103+ 'senderAddress ' => $ senderAddress ,
104+ ]);
96105 }
97106
98107 /**
99108 * Check for Digital Post context in the current session.
100109 */
101- public function getDigitalPostContext (WebformSubmissionInterface $ submission ): CompanyLookupResult | CprLookupResult | null {
110+ public function getDigitalPostContext (WebformSubmissionInterface $ submission ): ? array {
102111 $ key = $ this ->createSessionKeyFromSubmission ($ submission );
103112
104113 return $ this ->session ->get ($ key );
0 commit comments