Hey Nic,
I’ve added a SquizMap to track this: https://squizmap.squiz.net/matrix/11616
I believe from looking at the code that it shows up when the row order in sq_ast_typ results in any trigger conditions being returned ahead of the parent “Trigger_Condition” type code.
E.g if I sort the list the details screen reliably works:
diff --git a/core/assets/paint_layout/paint_layout_page/paint_layout_page_edit_fns.inc b/core/assets/paint_layout/paint_layout_page/paint_layout_page_edit_fns.inc
index 150332254e..2dbcd4934b 100755
--- a/core/assets/paint_layout/paint_layout_page/paint_layout_page_edit_fns.inc
+++ b/core/assets/paint_layout/paint_layout_page/paint_layout_page_edit_fns.inc
@@ -62,6 +62,7 @@ class Paint_Layout_Page_Edit_Fns extends Page_Standard_Edit_Fns
// Filter out irrelevant asset type codes
$exlcude_types = Array();
$types = array_keys($GLOBALS['SQ_SYSTEM']->am->getAssetTypes());
+ sort($types);
foreach($types as $index => $type_code) {
$edit_fns = $GLOBALS['SQ_SYSTEM']->am->getEditFns(0, $type_code);
if (!isset($edit_fns->static_screens['layouts']) && !isset($edit_fns->static_screens['lookupValues'])) {
but if I reverse sort it, it reliably breaks (just replace sort(...)
with rsort(...)
).
Obviously this isn’t great.
Inserting the require you have done should be fine as a temporary solution.
Cheers,
Dave