Повторная регистрация пользователя

Главные вкладки

Аватар пользователя SKIT54 SKIT54 9 ноября 2011 в 12:36

Всем доброго времени суток!!!

Есть модуль личного кабинета написанный хз кем. Принцип работы таков: при регистрации пользователя перекидывает на спец страницу там он отвечает на вопросы, если верно - перекидывает на регистрацию. Тут вроде всё стандартно. Полей 10 данных - регистрируется. На почту приходит письмо со ссылкой на первый вход и смену пароля. После смены перекидывает, как я понял тоже на спец страницу где нужно загрузить файлик. После загрузки регистрация завершается и пользователю присваивается роль (nonapproved-client).
После того как админ меняет роль пользователя на (approved-client) и выставляет привязку к определенному тарифу (это уже не столшь важно) у пользователя активируется личный кабинет и приходит письмо об активации на мыло. Таким образом подключается определенная услуга1.

Всё вроде норм. Но дали задание сделать ещё одну подобную услугу. Раньше с друпалом дело практически не имел... Немного почитав документацию и ещё какие-то статьи сделал след. образом:
На отдельной странице сделал форму. В данной форме есть одинаковые поля с регистрацией. Сделал что бы они заполнялись автоматом если пользователь авторизирован, если нет - то появляется поля для пароля. Далее пользователь заполняет оставшиеся поля. В обработчике формы регестрирую нового пользователя или обновляю старого через user_save(). Таким образом подключается услуга2, для которой сделал свою страничку личного кабинета. И 2 новых роли (new-nonapproved и new-approved). Присваивается первая, а после одобрения админ меняет на вторую.

А вот теперь ПРОБЛЕМА: Если пользователь уже зарегестрирован и подключает услугу 2 - всё норм. НО если пользователь зарегистрирован (через подключение услуги 2) и хочет подключить услугу 1 ничего не получается =((( Первых пару шагов проходя нормально (ответы на вопросы), далее его перекидывает на страницу /user/register и вываливается ошибка 403 Access denied т.к. он уже зареган.
Пробовал удалять роль "зарегистрированный пользователь" перед тем как юзера перекидывает на /user/register - не помогает(

Знающие люди подскажите пожалуйста как быть!??? Возможно вообще сделать как то что бы подключение услуги1 оставалось не изменным, но при этом можно было подключать и услугу2 без услуги1 и обе вместе????? Или всё такие придется практически полностью переписывать первую услугу для уже зарегистрированного пользователя?

Ещё в планах есть и услуга3. И при любой из подключаемых услуг пользователь должен регистрироваться на сайте для создания кабинета.
Ещё подскажите пожалуйста как сделать что бы при регистрации пользователю на мыло уходило письмо со ссылкой на первый вход и смену пароля. Что-то не нашел этого нигде.

С друпалом умею дело можно сказать впервые поэтому буду очень благодарен за развернутые ответы.

Комментарии

Аватар пользователя kalabro kalabro 9 ноября 2011 в 12:50

"SKIT54" wrote:
Возможно вообще сделать

http://www.drupal.ru/node/71237#comment-406725

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

"SKIT54" wrote:
Ещё подскажите пожалуйста как сделать что бы при регистрации пользователю на мыло уходило письмо

http://api.drupal.org/api/drupal/modules--user--user.module/function/_us...
стандартная форма регистрации шлёт его сама

Аватар пользователя SKIT54 SKIT54 10 ноября 2011 в 12:24

Понял. Спс

А вот такой вопрос:
В админке определены поля которые пользователь должен заполнить при регистрации. Можно как то извлечь их оттуда для генерации своей кастомной формы. Т.е. что бы не заново ручками делать кастомнюу форму, а все поля брались бы из регистрационной.
Надеюсь вопрос понятен...)