From 2708b0b695b1d8f5145ab26358cf94c91d5887c4 Mon Sep 17 00:00:00 2001
From: Ilyaaaaaaaaaaaaa Zhitomirskiy <ilya@joindiaspora.com>
Date: Wed, 24 Aug 2011 17:21:13 -0700
Subject: [PATCH] added back the tooltip explaining username constatrains on
 the accept invite flow

---
 app/controllers/invitations_controller.rb    | 28 +++++++++++---------
 app/views/invitations/edit.html.haml         |  4 +++
 public/javascripts/pages/invitations-edit.js |  7 +++++
 3 files changed, 26 insertions(+), 13 deletions(-)
 create mode 100644 public/javascripts/pages/invitations-edit.js

diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb
index 1046e247b1..48e0d60d6a 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 = User.find_by_invitation_token!(invitation_token)
-      
-      user.accept_invitation!(params[: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)
+    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 3c4f08eb73..0bbe3f1598 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 0000000000..61be4201f8
--- /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'});
+  });
+};
-- 
GitLab