How to "remove" a condition in subquery form a hasOne relation


Relation context:

class ForumCategoriesTable extends Table {
	public function beforeSave(Event $event, Entity $entity){

	public function initialize(array $config)
        $this->addBehavior('Timestamp'); //gestion des colonnes created et modified
	    $this->hasOne('LastForumPost', [
		    'className' => 'ForumPosts',
		    'foreignKey' => false,
		    'conditions' => function ($exp, $query) {
		        $subquery = $query
		            ->from(['SubLastForumPost' => 'forum_posts'])
		            	'SubLastForumPost.draft = false', //to remove for admin
		            	'SubLastForumPost.created IS NOT NULL',
		            	' = SubLastForumPost.forum_category_id',
		            	'SubLastForumPost.parent_id IS NULL'])
		            ->order(['SubLastForumPost.created' => 'DESC'])
		        return $exp->add(['' => $subquery]);

This gives the LastForumPost for each ForumCategory.
In my ForumCategoriesController , method index is:

public function index($id = null) {
	    //filtre sur les brouillons
	    if($this->Auth->user()['role'] == 'admin') {
            //todo: find a way for the admin to change the subquery and remove 
            // the 'SubLastForumPost.draft = false', condition
        } else {
        $query = $this->ForumCategories->find()
                'ForumCategories.part'		=> 'ASC',
                'ForumCategories.position'	=> 'ASC',

		$forumCategories = $query->toArray();

What I am looking to do: remove the ‘SubLastForumPost.draft = false’, condition if the user is admin so he can see the ForumPosts with a draft status.
How can I achieve that?
Thanx for reading and for your help