[SOLVED] CSV Import failed

Hey guys,

with the following action I import CSV data in a login table. First I register accounts in neos_flow_security_account.
The import runs until the end and the I get

An instance of “Neos\Flow\Security\Account” failed to pass validation with 1 error(s):
accountIdentifier:
This property is required.

I think with $this->accountFactory->createAccountWithPassword($username, $password, array($defaultRole), $authenticationProviderName); all required things are set.

Can you help me?

Thx, Pat

$csv = "/data/releases/current/ImportUser.csv";

        $userlist = file($csv);
        foreach ($userlist as $user)
        {
            list($shortcut,$breedernumber,$farmname,$username,$breeder1firstname,$breeder1lastname,$breeder2firstname,$breeder2lastname,$address,$zip,$city,$country,$phone,$fax,$email,$weburl,$deleted,$password,$oldid) = explode(';', $user);

            $defaultRole = 'AlpacaAustria.AlpacaConnect:User';
            $authenticationProviderName = 'DefaultProvider';

            $account = $this->accountFactory->createAccountWithPassword($username, $password, array($defaultRole), $authenticationProviderName);
            $account->setCredentialsSource($this->hashService->hashPassword($password));
            $this->accountRepository->add($account);

            $userdata = new \AlpacaAustria\AlpacaConnect\Domain\Model\Login();
            $userdata->setShortcut($shortcut);
            $userdata->setBreedernumber($breedernumber);
            $userdata->setFarmname($farmname);
            $userdata->setUsername($username);
            $userdata->setBreeder1firstname($breeder1firstname);
            $userdata->setBreeder1lastname($breeder1lastname);
            $userdata->setBreeder2firstname($breeder2firstname);
            $userdata->setBreeder2lastname($breeder2lastname);
            $userdata->setAddress($address);
            $userdata->setZip($zip);
            $userdata->setCity($city);
            $userdata->setCountry($country);
            $userdata->setPhone($phone);
            $userdata->setFax($fax);
            $userdata->setEmail($email);
            $userdata->setWeburl($weburl);
            $userdata->setDeleted($deleted);
            $userdata->setOldid($oldid);
            $this->loginRepository->add($userdata);
            echo $username." importiert.";
        }

        echo "Import abgeschlossen";

Is $username really set? Maybe you missed the username in one row of your csv?

\Neos\Flow\var_dump($username);

Sry guys, in the last row only one character is in the last column. In this row no username is set :slight_smile:

Thank you!