diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 1046e247b..48e0d60d6 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -31,23 +31,25 @@ class InvitationsController < Devise::InvitationsController end def update - invitation_token = params[:user][:invitation_token] + invitation_token = params[:user][:invitation_token] - if invitation_token.nil? || invitation_token.blank? - redirect_to :back, :error => I18n.t('invitations.check_token.not_found') - return - end + if invitation_token.nil? || invitation_token.blank? + redirect_to :back, :error => I18n.t('invitations.check_token.not_found') + return + end - user = User.find_by_invitation_token!(invitation_token) - - user.accept_invitation!(params[:user]) + user = User.find_by_invitation_token!(invitation_token) - if user.persisted? && user.person && user.person.persisted? - user.seed_aspects - flash[:notice] = I18n.t 'registrations.create.success' - sign_in_and_redirect(:user, user) + user.accept_invitation!(params[:user]) + + if user.persisted? && user.person && user.person.persisted? + user.seed_aspects + flash[:notice] = I18n.t 'registrations.create.success' + sign_in_and_redirect(:user, user) else - redirect_to accept_user_invitation_path(:invitation_token => params[:user][:invitation_token]), :error => user.errors.full_messages.join(", ") + user.errors.delete(:person) + flash[:error] = user.errors.full_messages.join(", ") + redirect_to accept_user_invitation_path(:invitation_token => params[:user][:invitation_token]) end end diff --git a/app/views/invitations/edit.html.haml b/app/views/invitations/edit.html.haml index 3c4f08eb7..0bbe3f159 100644 --- a/app/views/invitations/edit.html.haml +++ b/app/views/invitations/edit.html.haml @@ -1,4 +1,6 @@ = javascript_include_tag "validation" += javascript_tag "Diaspora.Page = 'InvitationsEdit';" + :javascript $(function() { $("#user_username").focus(); @@ -13,6 +15,8 @@ = t('.your_account_awaits') %h3.accept_invitation_text = t('.accept_your_invitation') + - flash.each do |name, msg| + %p{:class => "login_#{name}"}= msg .span-10 %br diff --git a/public/javascripts/pages/invitations-edit.js b/public/javascripts/pages/invitations-edit.js new file mode 100644 index 000000000..61be4201f --- /dev/null +++ b/public/javascripts/pages/invitations-edit.js @@ -0,0 +1,7 @@ +Diaspora.Pages.InvitationsEdit = function() { + var self = this; + + this.subscribe("page/ready", function(evt, body) { + $('#user_username').tipsy({trigger: 'select', gravity: 'w'}); + }); +};