Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function saveDataAction(\MyVendor\Requestform\Domain\Model\Request $request)
- {
- $settings = $this->settings;
- $args = $this->request->getArguments();
- $redirectUri = $this->controllerContext->getUriBuilder()->reset()->setTargetPageUid($settings['thankyouPage'])->build();
- $step_nr = 0;
- // get uploaded files and assign them to the request
- $files = $this->saveFiles($args, $settings);
- $request->setFile($files);
- $this->persistenceManager->persistAll();
- $this->requestRepository->add($request);
- // variables that are needed in the mail template
- $answers = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
- // save answers from all fields
- foreach ($args['tx_requestform_requestform']['steps'] as $k => $step_fields) {
- if ($step_nr > 0) {
- foreach ($step_fields as $field_uid => $field_value) {
- if ($field_uid != 'old_page') {
- $answer = new \MyVendor\Requestform\Domain\Model\Answer();
- $answer->setField($this->formFieldsRepository->findByUid($field_uid));
- $answer->setRequest($request);
- $answer->setValue($field_value);
- $this->answerRepository->add($answer);
- $answers->attach($answer);
- }
- }
- }
- $step_nr++;
- }
- // send mail with the data from the new request
- $this->sendMail($request, $answers, $files, $settings, $args);
- // redirect to "thank you" page
- $this->redirectToUri($redirectUri);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement