Task #80100

Story #69617: FormEngine bugs

Bypass fetch of database record if already loaded

Added by Xavier Perseguers almost 4 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Should have
Category:
-
Target version:
-
Start date:
2017-03-02
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

In order to let FormEngine being used with arbitrary array of data, \TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseEditRow
should return right away if the database row is already populated.

This could happen if an extension is registering a provider called before this database provider. See EXT:image_autoresize with #79850 for such a use case.


Files


Related issues

Related to Resize images automatically - Bug #79850: Fatal in extension configurationClosedXavier Perseguers2017-02-16

Actions
Related to TYPO3 Core - Bug #80473: Do not bypass fetch of database record if tableName is tt_contentClosedFaton Haliti2017-03-27

Actions
Related to TYPO3 Core - Bug #80426: Creating a FlexForm section causes exception in ajax request (none admin user)Closed2017-03-23

Actions
Related to TYPO3 Core - Bug #80825: FlexForm Sections don't get saved before the parent record was stored to the DBClosedChristian Kuhn2017-04-12

Actions
Related to TYPO3 Core - Bug #80855: IRRE: "Localize all records" and "Synchronize with default language" not working anymoreClosed2017-04-16

Actions
Related to TYPO3 Core - Bug #81175: IRRE synchronizeLocalizeRecords dont work since TYPO3 7.6.17Rejected2017-05-10

Actions
#1

Updated by Gerrit Code Review almost 4 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/51929

#2

Updated by Gerrit Code Review over 3 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/51929

#3

Updated by Gerrit Code Review over 3 years ago

Patch set 1 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/52003

#4

Updated by Gerrit Code Review over 3 years ago

Patch set 2 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/52003

#5

Updated by Xavier Perseguers over 3 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
#6

Updated by Gerrit Code Review over 3 years ago

  • Status changed from Resolved to Under Review

Patch set 3 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/52003

#7

Updated by Gerrit Code Review over 3 years ago

Patch set 4 for branch TYPO3_7-6 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/52003

#8

Updated by Xavier Perseguers over 3 years ago

  • Status changed from Under Review to Resolved
#9

Updated by Morten Pless over 3 years ago

  • File Buttonpress has no effect.png added
  • File Buttonpress has no effect.png added

This change breaks the ability to add new data with IRRE.
At least in my setup.
Can anyone confirm?

#10

Updated by Xavier Perseguers over 3 years ago

Maybe you should provide a bit more information of what exactly is "your setup".

#11

Updated by Xavier Perseguers over 3 years ago

  • File deleted (Buttonpress has no effect.png)
#13

Updated by Faton Haliti over 3 years ago

It breaks when trying to add array data which was configured in flexform.

My setup is:
Typo3 v8.7.0-dev
MySql 5.7.17
Apache 2.4.25

#14

Updated by Michael Schütz over 3 years ago

InlineLocalization fails with error 200 in TYPO3 8.7.0
-------------------------------------------------------
I have a setup, where I use tt_content records inside of tt_content record as childs
-------------------------------------------------------
1.) /typo3/sysext/backend/Classes/Form/FormDataProvider/DatabaseEditRow.php <<< delivers in TYPO3 v8.7.0 not the data from database. In TYPO3 v8.6.1 it works
1.1.) Reason there is changed the IF-statement

L:34 if ($result['command'] !== 'edit') {
L:35 return $result;
L:36 }

L:34 if ($result['command'] !== 'edit' || !empty($result['databaseRow'])) {
L:35 return $result;
L:36 }

But "$result['databaseRow']" isn't empty it just contains the "uid" as reference to the record. In the next step "$result['databaseRow']" does not get completed with the information of the whole record-information. So in the next steps the localization of the childs fails because there is no target language ID in "sys_language_uid" and no reference to record in source-language "l18_parent". After looping through all DataProviders "sys_language_uid" and "l18n_parent" are "0".

Content of array "$result". Key databaseRow contains already the reference uid to the record. Fetching data is skipped now by "!empty($result['databaseRow'])"

"command": "edit",
"tableName": "tt_content",
"vanillaUid": 6,
"returnUrl": "\/typo3\/index.php?ajaxID=%2Fajax%2Frecord%2Finline%2Fsynchronizelocalize&ajaxToken=24813fec11afe3df797970cc3ce0373006d284ff",
"recordTitle": "",
"parentPageRow": null,
"neighborRow": null,
"databaseRow": {
"uid": 6
},
"effectivePid": 0,
"rootline": [],
...

#15

Updated by Daniel Goerz over 3 years ago

  • Related to Bug #80825: FlexForm Sections don't get saved before the parent record was stored to the DB added
#16

Updated by Christian Kuhn over 3 years ago

  • Parent task set to #69617
#17

Updated by Christian Kuhn over 3 years ago

  • Related to Bug #80855: IRRE: "Localize all records" and "Synchronize with default language" not working anymore added
#18

Updated by König David over 3 years ago

  • Related to Bug #81175: IRRE synchronizeLocalizeRecords dont work since TYPO3 7.6.17 added
#19

Updated by Christian Kuhn over 3 years ago

For reference, here is a list of patches:

#20

Updated by Benni Mack about 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF