I have solved something similar like this:
Instead of
$model_client = CkJModel::getInstance('Clients', 'CtrproModel');
$model_client->addGroupOrder("a.client");
$lists['fk']['client'] = $model_client->getItems();
Use:
$lists['fk']['client'] = CtrproHelper::getData('clients', array(
'context' => '',
'select' => array(
'id',
// etc.....
),
'relation' => array(
'clients' => array(
'select' => array(
'name', // maybe other field?
//other stuff
),
'filter' => array(
'user' => array (
'value' => JFactory::getUser()->id
)
)
)
)
));
You could also create a new layout "ormLayoutClients" in your forked model with similar orm code and then use
$lists['fk']['client'] = CtrproHelper::getData('clients', array('context' => 'layout.clients'));
The context is used to set the layout
This last is is cleaner, because you can use it in other parts of the code without having to write the orm code again.
My way of working is to take it 1 little step at a time.
Rather then remove code right away I start with adding
$data = CtrproHelper::getData('clients', array());
var_dump($data);
Then when I see some data I add in more code, that way I can quickly spot when I make a mistake