Регистрация анонимного пользователя при отправке формы организации с правилами


Я создал форму сущности под названием "Запрос заказа". В этой форме есть поля, в которые пользователь может ввести свое имя, фамилию, адрес электронной почты и содержимое заказа. Я хотел бы зарегистрировать этого анонимного пользователя, когда он отправит эту форму. У меня это работает, настроено с помощью модуля регистрации электронной почты и правил использования этих полей для создания нового пользователя.

Однако проблема заключается в следующем: Как анонимным, так и зарегистрированным пользователям (с ролью: клиент) необходимо чтобы иметь возможность использовать форму. Мне нужно предотвратить ошибку, если уже есть учетная запись, созданная с использованием адреса электронной почты, указанного в форме. Я хотел бы проверить это и не запускать правило для создания новой учетной записи. Как я могу создать это условие в своем правиле? Надеюсь, это ясно. Спасибо

Author: xturgorex, 2015-11-06

1 answers

Я думал, что модуль проверки полей должен был это сделать, но я не смог проверить его по полю почты пользователя. Может быть, вы могли бы попробовать это, и вам повезет больше.

Другой вариант, который определенно работает и не требует кодирования, - это использовать модуль "Просмотр массовых операций" (VBO) и использовать условия правил для проверки количества результатов для этого адреса электронной почты.

А. Просмотр проверки почты VBO

  1. Создайте новую страницу просмотра для отображения пользователи.
  2. Добавьте поле "Массовые операции: Пользователь" (изменения не требуются).
  3. Добавьте контекстный фильтр "Пользователь: Электронная почта" и укажите значение по умолчанию "Исходное значение из Url-адреса, компонент пути 2".
  4. Протестируйте предварительный просмотр с использованием действительного адреса электронной почты и убедитесь, что отображается один результат, прежде чем продолжить.

Б. Новое условие правила в вашем основном правиле для сохранения формы сущности.

  1. "Проверьте количество результатов, возвращенных представлением VBO"
  2. Выберите вид и страницу отображение, созданное вами выше.
  3. Отправьте текстовое поле из формы сущности в качестве аргумента. (Это будет компонент пути 2 в представлении VBO выше)
  4. Установите минимальное значение равным 1.
  5. Отмените условие.

Это приведет к срабатыванию правила, если представление VBO вернет нулевые результаты, т.Е.. нет электронной почты.

С. Создайте новое правило, чтобы показать ошибку, если почта существует.

  1. То же условие, что и выше.

  2. Я действительно не знаю, почему это работает, но в любом случае. Добавьте И над условием, отмените его и сделайте отступ над условием, которое также отменено. (переместите его вправо, как будто это ребенок). Это будет выглядеть так

Сущность имеет поле

НЕТ И

НЕ проверять количество результатов, возвращаемых представлением VBO

  1. Действие: Отобразите сообщение сайта и сообщите пользователю, что электронное письмо уже используется.

Это выглядит немного запутанным, но должно занять всего несколько минут, чтобы начать работать. Удачи!

 2
Author: Niall Murphy, 2015-11-07 06:26:53