<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>app/views/shared/_nav_bar.html.erb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -27,14 +27,14 @@ class UserSessionsController &lt; Spree::BaseController
     redirect_to products_path
   end
   
-  def login_bar
-    render :partial =&gt; &quot;shared/login_bar&quot;
+  def nav_bar
+    render :partial =&gt; &quot;shared/nav_bar&quot;
   end
   
   private
   
   def user_with_openid_exists?(data)
-    data &amp;&amp; data[:openid_identifier] &amp;&amp;
+    data &amp;&amp; !data[:openid_identifier].blank? &amp;&amp;
       !!User.find(:first, :conditions =&gt; [&quot;openid_identifier LIKE ?&quot;, &quot;%#{data[:openid_identifier]}%&quot;])
   end
   
@@ -43,12 +43,16 @@ class UserSessionsController &lt; Spree::BaseController
   end
   
   def create_user_session(data)
+		#delete standard user fields in case user completed both.
+		[:password, :login].each {|attr| data.delete attr} if user_with_openid_exists?(data) 
+
     @user_session = UserSession.new(data)
     @user_session.save do |result|  
       if result
         respond_to do |format|
           format.html {
             flash[:notice] = t(&quot;logged_in_succesfully&quot;)
+						session.delete :return_to if session[:return_to] = login_path 
             redirect_back_or_default products_path
           }
           format.js {
@@ -74,7 +78,7 @@ class UserSessionsController &lt; Spree::BaseController
     @user.save do |result|
       if result
         flash[:notice] = t(:user_created_successfully)
-        redirect_back_or_default account_url
+        redirect_back_or_default products_url
       else
         flash[:notice] = t(:missing_required_information)
         redirect_to :controller =&gt; :users, :action =&gt; :new, :user =&gt; {:openid_identifier =&gt; @user.openid_identifier}</diff>
      <filename>app/controllers/user_sessions_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,20 +8,19 @@ class UsersController &lt; Spree::BaseController
   ssl_required :new, :create, :edit, :update, :show
   
   actions :all, :except =&gt; [:index, :destroy]
-
-  def create
-    @user = User.new(params[:user])
-    @user.save do |result|
-      if result
-        flash[:notice] = t(:user_created_successfully)
-        @user.roles &lt;&lt; Role.find_by_name(&quot;admin&quot;) unless admin_created?
-        redirect_back_or_default account_url
-      else
-        render :action =&gt; :new
-      end
-    end
-  end
-
+	
+	create do   
+		flash nil
+		success.wants.html { redirect_back_or_default products_path }
+		success.wants.js { render :js =&gt; true.to_json }
+		failure.wants.html { render :new }
+		failure.wants.js { render :js =&gt; @user.errors.to_json }    
+	end
+	
+	create.after do
+		@user.roles &lt;&lt; Role.find_by_name(&quot;admin&quot;) unless admin_created?
+	end
+	
   show.before do
     @orders = @user.orders.checkout_complete 
   end</diff>
      <filename>app/controllers/users_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,11 +16,7 @@ end
   &lt;div id=&quot;header&quot; class=&quot;container&quot;&gt;                                                          
     &lt;div id=&quot;login-bar&quot;&gt;          
       &lt;ul id=&quot;nav-bar&quot;&gt;
-        &lt;li&gt;&lt;%= render 'shared/search' %&gt;&lt;/li&gt;
-        &lt;%= render 'shared/login_bar' %&gt;
-        &lt;% if store_menu? %&gt;
-          &lt;%= render 'shared/store_menu' %&gt;
-        &lt;% end %&gt;
+        &lt;%= render 'shared/nav_bar' %&gt;
       &lt;/ul&gt;
     &lt;/div&gt;
 	&lt;%= logo %&gt;</diff>
      <filename>app/views/layouts/spree_application.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -25,7 +25,7 @@ ActionController::Routing::Routes.draw do |map|
 
   map.root :controller =&gt; &quot;products&quot;, :action =&gt; &quot;index&quot;
 
-  map.resource :user_session, :member =&gt; {:login_bar =&gt; :get}
+  map.resource :user_session, :member =&gt; {:nav_bar =&gt; :get}
   map.resource :account, :controller =&gt; &quot;users&quot;
   map.resources :password_resets
 </diff>
      <filename>config/routes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -420,13 +420,13 @@ var submit_confirmation = function() {
 // update login partial
 var update_login = function() {
   $.ajax({
-    url: '/user_session/login_bar',                                 
+    url: '/user_session/nav_bar',                                 
     beforeSend : function (xhr) {
       xhr.setRequestHeader('Accept-Encoding', 'identity');
     },      
     dataType: &quot;html&quot;,
     success: function(result) {
-      $(&quot;div#login-bar&quot;).html(result);
+      $(&quot;ul#nav-bar&quot;).html(result);
     },
     error: function (XMLHttpRequest, textStatus, errorThrown) {
       // TODO (maybe do nothing)</diff>
      <filename>public/javascripts/checkout.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>31f18e1c3a2a13155afeae55db0c8abda9ff72f6</id>
    </parent>
  </parents>
  <author>
    <name>Brian Quinn</name>
    <email>briandquinn@gmail.com</email>
  </author>
  <url>http://github.com/railsdog/spree/commit/23f740c95bfb1d7f6202b1ad9bf9ce39d1a18ced</url>
  <id>23f740c95bfb1d7f6202b1ad9bf9ce39d1a18ced</id>
  <committed-date>2009-11-06T02:10:41-08:00</committed-date>
  <authored-date>2009-11-06T02:10:41-08:00</authored-date>
  <message>Fixes problems with checkout when creating new user, and cleans up some OpenID issues.

[#868 state:resolved]</message>
  <tree>741e9e5b67f18e5bdfff076405d6e99296bd32e4</tree>
  <committer>
    <name>Brian Quinn</name>
    <email>briandquinn@gmail.com</email>
  </committer>
</commit>
