CustomAssetTabSaveOutcome
in package
Outcome of saving a page together with the code set from the custom code tab.
Kept apart from flash messages so that CustomAssetTabSaveTrait::persistPageCustomAssetsTab()
can be tested without a presenter or translator; PageFormTrait maps it to a message.
IMPORTANT: this is not one transaction. Saved, SaveFailed and Invalid describe the page
save (or the payload preflight check); the other three describe what happened to the second,
independent Api operation, the page code set.
Table of Contents
Cases
- Invalid
- A tab row has an invalid id (zero, negative or malformed); the page is not saved at all, so the admin does not assume something was written.
- RollbackFailed
- The code set failed for a new page and the compensation failed too. The page stays in the list without its custom code, so this must be reported separately.
- RolledBack
- The code set failed for a new page and the compensation (`deleteNode()`) succeeded, so nothing remains.
- Saved
- The page (and its code set, if any) was saved.
- SaveFailed
- Saving the page itself failed; the code set was not attempted.
- SyncFailedPageSaved
- The code set failed for an existing page. The page fields stay saved (they are not atomic with the set) and the custom code is unchanged, because the set is atomic in itself.
Cases
Saved
The page (and its code set, if any) was saved.
SaveFailed
Saving the page itself failed; the code set was not attempted.
Invalid
A tab row has an invalid id (zero, negative or malformed); the page is not saved at all, so the admin does not assume something was written.
RolledBack
The code set failed for a new page and the compensation (`deleteNode()`) succeeded, so nothing remains.
RollbackFailed
The code set failed for a new page and the compensation failed too. The page stays in the list without its custom code, so this must be reported separately.
SyncFailedPageSaved
The code set failed for an existing page. The page fields stay saved (they are not atomic with the set) and the custom code is unchanged, because the set is atomic in itself.