Skip to content

[BUG] Deletion of entries per Backend Module #59

@davidprojekt

Description

@davidprojekt

It is not possible to delete the submitted form entries via the backend module, as it always ends up with an error.
The Feature Request this is related to: #34

This only affects Version 3 as far as I know.
Since Version 4 is for TYPO3 11 I would appreciate the bug also being fixed in Version 3, so its possible to use this Extension in TYPO3 10.

The Error was already descripted there:

Call to a member function getDocHeaderComponent() on null

in /var/www/html/public/typo3conf/ext/frp_form_answers/Classes/Controller/FormEntryController.php line 131
        parent::initializeView($view);
        $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
        
     if ($this->actionMethodName != 'exportAction') {
         $view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation([]);

         $pageRenderer = $this->view->getModuleTemplate()->getPageRenderer();
         $pageRenderer->addInlineLanguageLabelFile('EXT:lang/Resources/Private/Language/locallang_core.xlf');

To get around this Error it is possible to change the initializeView Function inside the FormEntryController like this:

/**
     * Set up the doc header properly here
     *
     * @param ViewInterface $view
     * @return void
     */
    protected function initializeView(ViewInterface $view)
    {
        /** @var BackendTemplateView $view */
        parent::initializeView($view);
        $this->iconFactory = GeneralUtility::makeInstance(IconFactory::class);
        
	    if ($this->actionMethodName != 'exportAction') {
		    if($view->getModuleTemplate()) {
			    $view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation([]);

			    $pageRenderer = $this->view->getModuleTemplate()->getPageRenderer();
			    $pageRenderer->addInlineLanguageLabelFile('EXT:lang/Resources/Private/Language/locallang_core.xlf');

			    $this->createMenu();
			    $this->createButtons();
		    }

	        $view->assign('showSupportArea', $this->showSupportArea());
	    }
    }

The difference is this line: if($view->getModuleTemplate())

I am not familiar enough with the Project to know if this is just a workaround or an actual fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions