|
7 | 7 | use Drupal\os2forms_fordelingskomponent\Plugin\WebformHandler\WebformHandlerSF2900; |
8 | 8 | use Drupal\webform\WebformInterface; |
9 | 9 | use Drupal\webform\WebformSubmissionInterface; |
| 10 | +use ItkDev\Serviceplatformen\SF2900\EnumType\ObjektTypeType; |
10 | 11 |
|
11 | 12 | /** |
12 | 13 | * Repository for AnvenderForsendelse. |
@@ -137,12 +138,23 @@ public function save(AnvenderForsendelse $forsendelse): bool { |
137 | 138 | $forsendelse->createdAt ??= $now; |
138 | 139 | $forsendelse->updatedAt = $now; |
139 | 140 |
|
| 141 | + // The database doesn't like us saving binary PDF data, so we base64 |
| 142 | + // encode it. |
| 143 | + $request = $forsendelse->request; |
| 144 | + $distributionObject = $request->getAnmodning()->getDistributionObject(); |
| 145 | + switch ($distributionObject->getObjektType()) { |
| 146 | + case ObjektTypeType::VALUE_FORMULAR: |
| 147 | + $formular = $distributionObject->getObjektIndhold()->getDistributionFormular()->getMeddelelse()->getFormular(); |
| 148 | + $formular->setFormularIndhold(base64_encode($formular->getFormularIndhold())); |
| 149 | + break; |
| 150 | + } |
| 151 | + |
140 | 152 | $fields = [ |
141 | 153 | 'webform_id' => $forsendelse->webformId, |
142 | 154 | 'webform_handler_id' => $forsendelse->webformHandlerId, |
143 | 155 | 'webform_submission_id' => $forsendelse->webformSubmissionId, |
144 | 156 | 'anvender_transaktions_id' => $forsendelse->anvenderTransaktionsId, |
145 | | - 'request' => serialize($forsendelse->request), |
| 157 | + 'request' => serialize($request), |
146 | 158 | 'distribution_transaktions_id' => $forsendelse->distributionTransaktionsId, |
147 | 159 | 'response' => serialize($forsendelse->response), |
148 | 160 | 'created_at' => $forsendelse->createdAt, |
|
0 commit comments