Валидация username

Добрый день. Столкнулся с такой проблемой, переопределяю процессор basket/web/orders/submit protected function createContractor(){ $contractor = null;

    $email = $this->getProperty('email');
    if ($this->getProperty('username')) {
    $username = $this->getProperty('username');
    }
    else{
     $username = $email;   
    }
    
 
    
    // Выполняем поиск существующего пользователя по username
    $c = $this->modx->newQuery('modUser');
    $c->innerJoin('modUserProfile', 'Profile');
    $c->where(array(
        'Profile.username:LIKE' => $username,
    ));
    
    
    if($user = $this->modx->getObject('modUser', $c)){
        if($this->allowGetUserByUsername){
            return $user; 
        }
        else{
            $this->addFieldError('username', "Username already taken. Please choose another. ");
            return $contractor;
        }
    } В результате регистрация как бы проходит, но пользователь не создается совсем

$alreadyExists = $this->modx->getObject('modUser',array('username' => $username)); if ($alreadyExists) { $this->addFieldError('username', "Username already taken. Please choose another. "); return $contractor;

        } Разобрался, кто заинтересован, предлагаю такое решение

Да, там действительно не хватает проверки пользователя по логину. Создал себе тикет.