public function define(Form $form)
{
$loginName = WarderHelper::getLoginName();
$langPrefix = WarderHelper::getPackage()->get('frontend.language.prefix', 'warder.');
$form->wrap('basic', null, function (Form $form) use($loginName, $langPrefix) {
$form->add('name', new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.name'))->required();
if (strtolower($loginName) != 'email') {
$form->add($loginName, new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.' . $loginName))->setValidator(new UserExistsValidator($loginName))->required();
}
$form->add('email', new Field\EmailField())->label(Translator::translate($langPrefix . 'user.field.email'))->setValidator(new UserExistsValidator('email'))->required();
$form->add('password', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password'))->set('autocomplete', 'off');
$form->add('password2', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password.confirm'))->set('autocomplete', 'off');
$form->add('avatar', new SingleImageDragField())->label('Avatar')->set('default_image', AvatarUploadHelper::getDefaultImage());
});
}