silverstripe / silverstripe-framework

Silverstripe Framework, the MVC framework that powers Silverstripe CMS
https://www.silverstripe.org
BSD 3-Clause "New" or "Revised" License
723 stars 821 forks source link

FIX Do not load source in SearchableDropdownTrait when lazy-loading #11273

Closed emteknetnz closed 3 months ago

emteknetnz commented 3 months ago

Issue https://github.com/silverstripe/silverstripe-framework/issues/11272

silverstripe/installer ci run with pr - https://github.com/emteknetnz/silverstripe-installer/actions/runs/9473993800 (includes admin behat) (green)

Note the SearchableDropDownField seems like it's broken in an elemental context, I've created a new card for this

Test setup:

MyDataObject.php

<?php

use SilverStripe\ORM\DataObject;

class MyDataObject extends DataObject
{
    private static $table_name = 'MyDataObject';

    private static $db = [
        'Title' => 'Varchar'
    ];

    private static $has_one = [
        'MySubDataObject' => MySubDataObject::class
    ];
}

MySubDataObject

<?php

use SilverStripe\ORM\DataObject;

class MySubDataObject extends DataObject
{
    private static $table_name = 'MySubDataObject';

    private static $db = [
        'Title' => 'Varchar'
    ];

    private static $has_many = [
        'MyDataObject' => MyDataObject::class
    ];
}

ModelAdmin.php

<?php

use SilverStripe\Admin\ModelAdmin;

class MyModelAdmin extends ModelAdmin
{
    private static $url_segment = 'MyModelAdmin';

    private static $menu_title = 'My model admin';

    private static $managed_models = [
        MyDataObject::class,
    ];
}

MySubModelAdmin.php

<?php

use SilverStripe\Admin\ModelAdmin;

class MySubModelAdmin extends ModelAdmin
{
    private static $url_segment = 'MySubModelAdmin';

    private static $menu_title = 'My sub admin';

    private static $managed_models = [
        MySubDataObject::class,
    ];
}