diff --git a/app/controllers/public/account_controller.rb b/app/controllers/public/account_controller.rb index 4b5483a..c7d8b18 100644 --- a/app/controllers/public/account_controller.rb +++ b/app/controllers/public/account_controller.rb @@ -60,6 +60,10 @@ class AccountController < ApplicationController def signup @invitation_code = params[:invitation_code] begin + if params[:user] + params[:user].delete(:password_confirmation_clear) + params[:user].delete(:password_clear) + end @user = User.new(params[:user]) @user.terms_of_use = environment.terms_of_use @user.environment = environment @@ -209,16 +213,26 @@ class AccountController < ApplicationController @identifier = params[:identifier] valid = Person.is_available?(@identifier, environment) if valid - @status = _('Available!') + @status = _('This login name is available') @status_class = 'available' else - @status = _('Unavailable!') + @status = _('This login name is unavailable') @status_class = 'unavailable' end - @url = environment.top_url + '/' + @identifier render :partial => 'identifier_status' end + def check_email + if User.find_by_email_and_environment_id(params[:address], environment.id).nil? + @status = _('This e-mail address is available') + @status_class = 'available' + else + @status = _('This e-mail address is taken') + @status_class = 'unavailable' + end + render :partial => 'email_status' + end + def user_data user_data = if logged_in? diff --git a/app/models/person.rb b/app/models/person.rb index 6fee0f5..f7b0356 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -116,6 +116,7 @@ class Person < Profile contact_phone contact_information description + image ] validates_multiparameter_assignments diff --git a/app/views/account/_email_status.rhtml b/app/views/account/_email_status.rhtml new file mode 100644 index 0000000..533e388 --- /dev/null +++ b/app/views/account/_email_status.rhtml @@ -0,0 +1,7 @@ +
<%= @status %>
+ +<%= @url %> <%= @status %>
+<%= @status %>
+
#{_('Checking if e-mail address is already taken...')}
');", + :complete => "jQuery('#user_email').removeClass('checking')", + :before => "if (!( jQuery('#user_email').valid() )) { + jQuery('#user_email').removeClass().addClass('unavailable'); + jQuery('#email-check').html('#{_('This e-mail address is not valid')}
'); + return false; + }" + %> -<%= observe_field 'user_login', :url => {:action => 'check_url'}, :with => 'identifier', :update => 'url-check' %> ++ <%= submit_button('save', _('Sign up')) %> +
+ <% end -%> + + diff --git a/app/views/account/signup.rhtml b/app/views/account/signup.rhtml index 3ddb693..e6e1b3b 100644 --- a/app/views/account/signup.rhtml +++ b/app/views/account/signup.rhtml @@ -1,4 +1,4 @@ -<%= link_to(_('Go to the homepage'), '/') %>
diff --git a/app/views/profile_editor/_person.rhtml b/app/views/profile_editor/_person.rhtml index 7d1f357..4b2e3da 100644 --- a/app/views/profile_editor/_person.rhtml +++ b/app/views/profile_editor/_person.rhtml @@ -2,6 +2,8 @@ <%= required_fields_message %> - <%= required f.text_field(:email)%> + <%= required f.text_field(:name) %> + + <%= required f.text_field(:email) %> <%= render :partial => 'person_form', :locals => {:f => f} %> diff --git a/app/views/profile_editor/_person_form.rhtml b/app/views/profile_editor/_person_form.rhtml index 9d23436..c84d99a 100644 --- a/app/views/profile_editor/_person_form.rhtml +++ b/app/views/profile_editor/_person_form.rhtml @@ -1,28 +1,26 @@ <% @person ||= @profile %> -<%= required f.text_field(:name) %> - <% optional_field(@person, 'nickname') do %> - <%= f.text_field(:nickname, :maxlength => 16, :size => 30) %> + <%= f.text_field(:nickname, :maxlength => 16, :size => 30, :rel => _('Nickname')) %>