Symfony2 Подтверждение при переходе на URL

Я работаю над чем-то вроде «ChargeUserForActionBundle».
Поскольку пользователю нужно знать, что с него будет взиматься плата за доступ к конкретному URL, мне нужно создать своего рода «страницу подтверждения».
Общий поток должен выглядеть так:

  • От действия A перейдите к действию B.
  • Приостановить выполнение действия Б.
  • Запросите подтверждение в слушателе событий. Если пользователь не согласен — прекратите выполнение действия B. Иначе:
  • Продолжить с действия B

Как мне достичь чего-то подобного?

РЕДАКТИРОВАТЬ:

public function paidLinkAction(){
//Call event which trigger charging fee procedure. Inside this event we will inform user that he will be charged
$this->get('yasecure_billing.app.charging')->callChargeEvent($user, 'Example action');
/*
* if user agree, come back here, and do rest of stuff
*/
}

Что я должен реализовать, чтобы позволить моему слушателю вернуться к paidLinkAction после запроса подтверждения? А как сказать paidLinkAction, что с пользователя уже начислена плата?
Конечно, реализация должна быть h4x-стойкой. У нас не может быть ситуации, когда пользователь может обмануть приложение, которое ему уже было предъявлено обвинение (поэтому куки — плохая идея). Я думал о сессии?

0

Решение

Вы можете использовать связку, которую мы сделали, или даже просто вдохновить себя на это.
Это называется AvAlertifyBundle и это позволяет вам управлять оповещениями любого рода (успех, информация, предупреждение и что будет вам интересно … ПОДТВЕРЖДАЙТЕ модал).

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

В некоторых словах вам просто нужно добавить что-то вроде этого:

<a href="/your_url" class="btn btn-mini btn-danger confirm" data-title="Are you sure ?" data-body="You'll have to pay something ! Do you understand ?" data-cancel-button-class="cancel" data-confirm-button-class="danger">
Pay actions
</a>

Удачи.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector