Перейти к основному содержимому

Ambassadors - стратегия Амбассадоров

Особенности:

  • Мероприятие и форма заявки берется из полей CMS. Есть одно мероприятие и три формы заявки под каждую страницу.

  • Можно подавать только 1 заявку на мероприятие

  • Формам заявок обязательно нужно задать redirectUrl

  • Обязательно должны быть части мероприятия под каждую форму/страницу. Из них берутся творческие задания.

  • У каждой формы в поле "Описание" обязательно должен стоять ID той или иной части мероприятия, которой соответствует данная форма

к сведению

Эту стратегию используют заявки:

  • Амбассадор
  • Амбассадор Медиа
  • Амбассадор Наставник

Сценарий пре-инициализации (проверка возможности подать в целом)

Обычный, проверяем активность мероприятия и части мероприятия.




Сценарий инициализации

Не схемой, потому что сложно и хардкодно.

0. Ищем часть мероприятия для этой формы

В поле "Описание" у формы должен быть прописан ID той или иной части мероприятия.

Если частей мероприятия нет, или из пришедших частей мероприятия ни один ID не нашелся в "Описании" текущей формы - выскакивает ошибка.

1. Есть заявки на мероприятие вообще?

Если да, создаем новый черновик на эту форму, автоматически записывая туда часть мероприятия.

Если нет (есть хотя бы одна существующая заявка на мероприятие) - идем дальше.

2. Берем первую попавшуюся заявку.

participantTypeID (тип участника) заявки равен eventParticipantTypeID формы, привязанной к странице?

Если да, и это черновик - берем этот черновик.

Если да, и это не черновик - выводим попап:

Заявка уже подана
Посмотреть статус можно в личном кабинете
[В личный кабинет]

Если нет - идем дальше.

3. У нас есть заявка на какую-то другую форму.

Ищем в списке всех форм мероприятия ту, чей eventParticipantTypeID (тип участника) равен participantTypeID этой заявки.

Если не нашли - запоминаем это как СООТВЕСТВИЕ НЕ НАЙДЕНО. Не найти можем в случае, если человек подавался по форме X с типом участия "Амбассадор", заявка его имеет тип участия "Амбассадор", а потом форме поменяли тип участия на другой. Но это корнер кейс.

Читаем redirectUrl формы. Если не заполнено - запоминаем это как СООТВЕТСТВИЕ НЕ НАЙДЕНО.

Есть захардкоженные пути для каждого типа амбассадора. Если в найденной форме, на которую уже есть заявка, поле redirectUrl (которое обычно выглядит как https://tavrida.art/ambassadors/application-xxx) содержит один из путей - значит мы нашли тип амбассадорства, на которое была ранее подана заявка.

// Амбассадор
/ambassadors/application

// Амбассадор Медиа
/ambassadors/application-media

// Наставник
/ambassadors/application-mentor

Опять же, если соответствие не нашли по какой-то причине - запоминаем как СООТВЕТСТВИЕ НЕ НАЙДЕНО.

4. Если эта ранее поданная заявка - черновик

Выводим следующие тексты:

4.1. Если Амбассадор

Уже есть черновик заявки на Амбассадора

Разрешена подача заявки только на одно направление. Вы можете удалить черновик в личном кабинете и податься на другое направление или продолжить его редактирование.

[Перейти к черновику]
// И ведем на /ambassadors/application

4.2. Если Медиа Амбассадор

Уже есть черновик на Медиа Амбассадора

Разрешена подача заявки только на одно направление. Вы можете удалить черновик в личном кабинете и податься на другое направление или продолжить его редактирование.

[Перейти к черновику]
// И ведем на /ambassadors/application-media

4.3. Если Наставник

Уже есть черновик на Наставника

Разрешена подача заявки только на одно направление. Вы можете удалить черновик в личном кабинете и податься на другое направление или продолжить его редактирование.

[Перейти к черновику]
// И ведем на /ambassadors/application-mentor

4.4. Если СООТВЕТСТВИЕ НЕ НАЙДЕНО

Уже есть черновик

Разрешена подача заявки только на одно направление.

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

[В личный кабинет]

5. Если поданная ранее заявка - НЕ черновик

4.1. Если Амбассадор

Уже подана заявка на Амбассадора

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

[В личный кабинет]

4.2. Если Медиа Амбассадор

Уже подана заявка на Медиа Амбассадора

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

[В личный кабинет]

4.3. Если Наставник

Уже подана заявка на Наставника

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

[В личный кабинет]

4.4. Если СООТВЕТСТВИЕ НЕ НАЙДЕНО

Уже подана заявка на другое направление

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

[В личный кабинет]



Автовыбор части мероприятия и инструкции к творческим заданиям

Для мероприятия Амбассадоры специально создается 3 части мероприятия (столько же, сколько и форм).

При этом части в самой заявке выбираются автоматически, незаметно для пользователя, НО их все равно нужно делать активными!

Части нужны не только для внутренней отчетности, но еще и для уникальных инструкций к творческим заданиям.

Вот, например, ссылка на редактирование части мероприятия Амбассадоры 2024 - Наставник https://admin.tavrida.ruvents.dev/event-part/edit?id=042bdc2a-26ed-4d46-9c70-615e09c0b6a9

Видите id=042bdc2a-26ed-4d46-9c70-615e09c0b6a9 в конце ссылки?

Именно его надо ввести в поле "Описание" в форме, которая должна идти для этой части мероприятия.

Итого, инструкция по заполнению

1. Нам нужен ивент с тремя частями мероприятия

Ивент, где открыть попап частей

Откройте эти части сразу в новых вкладках, чтобы потом скопировать их ID.

2. Нам нужно в каждой форме мероприятия добавить описание

Кнопка "Обновить форму"

2.1. Вытаскиваем ID нужной части мероприятия из URL

Скопировать URL

2.2. Вставляем ID в описание

Добавить ID в описание формы

2.3. Не забываем прописать верное значение "Ссылка редиректа"

Добавление ссылки редиректа


3. Помним, что страницы всего три, и они захардкожены

// Амбассадор
https://tavrida.art/ambassadors/application

// Амбассадор Медиа
https://tavrida.art/ambassadors/application-media

// Наставник
https://tavrida.art/ambassadors/application-mentor

Идем редактировать каждую страницу заявки в CMS в разделе Редактор контента -> Заявки 2.0., и добавляем блок:

Новый блок с автоматическим выбором части мероприятия