Андрей Балкин 14 августа 2015 0 2
Добрый день. Столкнулся с такой проблемой, переопределяю процессор 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;
            }
        }
        


В результате регистрация как бы проходит, но пользователь не создается совсем
2 комментария
А
Андрей Балкин 14 августа 2015г в 11:40 #
$alreadyExists = $this->modx->getObject('modUser',array('username' => $username));
            if ($alreadyExists) {
                $this->addFieldError('username', "Username already taken. Please choose another. ");
                return $contractor; 
                
            }

Разобрался, кто заинтересован, предлагаю такое решение
Fi1osof1
Fi1osof 14 августа 2015г в 16:36 #
Да, там действительно не хватает проверки пользователя по логину. Создал себе тикет.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.