From 0fb55be7a09b8c3e262ff0c6cdcf2564a980f000 Mon Sep 17 00:00:00 2001 From: Raphael Date: Tue, 10 Aug 2010 16:03:38 -0700 Subject: [PATCH] RS, DG; You can now sign up to be a user on a seed --- app/controllers/users_controller.rb | 6 +++--- app/models/user.rb | 5 +++++ app/views/devise/registrations/new.html.haml | 15 ++++++++++++--- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 45c80bc5a..12f87c481 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -27,9 +27,9 @@ class UsersController < ApplicationController end def create - @user = User.new(params[:user]) - - if @user.person.save! && @user.save! + @user = User.instantiate(params[:user]) + + if @user.created_at && @user.person.created_at flash[:notice] = "Successfully signed up." redirect_to root_path else diff --git a/app/models/user.rb b/app/models/user.rb index b026458da..fc04f2dc6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -120,6 +120,7 @@ class User ###Helpers############ def self.instantiate( opts = {} ) opts[:person][:email] = opts[:email] + opts[:person][:serialized_key] = generate_key User.create( opts) end @@ -148,4 +149,8 @@ class User OpenSSL::PKey::RSA::generate 1024 end + def self.generate_key + OpenSSL::PKey::RSA::generate 1024 + end + end diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml index b03da3518..6ea93b780 100644 --- a/app/views/devise/registrations/new.html.haml +++ b/app/views/devise/registrations/new.html.haml @@ -3,15 +3,24 @@ = devise_error_messages! %p = f.label :email - %br/ = f.text_field :email %p = f.label :password - %br/ = f.password_field :password %p = f.label :password_confirmation - %br/ = f.password_field :password_confirmation + + = f.fields_for :person do |p| + = p.hidden_field :url, :value => "http://google.com/" + + = p.fields_for :profile do |pr| + %p + = pr.label :first_name + = pr.text_field :first_name + %p + = pr.label :last_name + = pr.text_field :last_name + %p= f.submit "Sign up" = render :partial => "devise/shared/links"