Project

General

Profile

Actions

Bug #87721

closed

Attempt to insert record on page '[root-level]' (0) where this table, <table-name>, is not allowed, error while creating a new record

Added by Anu Bhuvanendran Nair about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Backend User Interface
Target version:
Start date:
2019-02-15
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
typo3
Complexity:
easy
Is Regression:
Sprint Focus:

Description

While creating a new record into a folder from the list module. There is a 'new' button along save and close, which is unnecessary at the moment unless the record is saved.
If this new button is clicked and tried to generate a new record before saving, an error 'Attempt to insert record on page '[root-level]' (0) where this table, <table-name>, is not allowed' will be triggered.

A solution workaround is, in \TYPO3\CMS\Backend\Controller\EditDocumentController a condition can be used and checked to prevent 'new' button in the 'new' cmd context.

    /**
     * Create the panel of buttons for submitting the form or otherwise perform operations.
     *
     * @param ServerRequestInterface $request
     */
    protected function getButtons(ServerRequestInterface $request): void
    {
        .....

        if($this->firstEl['cmd']!='new') {
            $this->registerNewButtonToButtonBar(
                $buttonBar,
                ButtonBar::BUTTON_POSITION_LEFT,
                4,
                $sysLanguageUid,
                $l18nParent
            );
        }

        .....
    }


Files

list-view-new-button-bug.png (39.5 KB) list-view-new-button-bug.png Screenshot of the error Anu Bhuvanendran Nair, 2019-02-15 11:21
Actions

Also available in: Atom PDF