[ARVADOS] updated: 6f51251bb17cee4d5ee4a92e00bc817e2c67f575

git at public.curoverse.com git at public.curoverse.com
Mon Jun 23 12:56:04 EDT 2014


Summary of changes:
 apps/workbench/app/controllers/application_controller.rb | 14 +-------------
 apps/workbench/app/models/arvados_base.rb                |  2 +-
 apps/workbench/app/models/user.rb                        |  5 +++++
 apps/workbench/app/views/layouts/application.html.erb    |  4 ++--
 apps/workbench/app/views/projects/index.html.erb         |  2 +-
 5 files changed, 10 insertions(+), 17 deletions(-)

       via  6f51251bb17cee4d5ee4a92e00bc817e2c67f575 (commit)
      from  ce62ed02dd1a543ddaf36c41ddfd2e5fcfbfa4b8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 6f51251bb17cee4d5ee4a92e00bc817e2c67f575
Author: radhika <radhika at curoverse.com>
Date:   Mon Jun 23 12:53:44 2014 -0400

    2659: fix the mistaken magic anonymous uuid usage. also, no longer need @@anonymous_user since Thread.current[:arvados_anonymous_api_token] serves that purpose.

diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index 5549b42..cd1277f 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -486,7 +486,6 @@ class ApplicationController < ActionController::Base
 
     anonymous_user_token = Rails.configuration.anonymous_user_token
     if !anonymous_user_token
-      @@anonymous_user = nil
       Thread.current[:arvados_anonymous_api_token] = nil
       return
     end
@@ -505,10 +504,8 @@ class ApplicationController < ActionController::Base
           is_admin: u.is_admin,
           prefs: u.prefs
         }
-        @@anonymous_user = u
         Thread.current[:arvados_anonymous_api_token] = anonymous_user_token
       else
-        @@anonymous_user = nil
         Thread.current[:arvados_api_token] = nil
         Thread.current[:arvados_anonymous_api_token] = nil
       end
@@ -518,16 +515,13 @@ class ApplicationController < ActionController::Base
         Thread.current[:arvados_api_token] = anonymous_user_token
         valid_anonymous_token = verify_api_token
         if valid_anonymous_token
-          @@anonymous_user = User.current
           Thread.current[:arvados_anonymous_api_token] = anonymous_user_token
         else
-          @@anonymous_user = nil
           Thread.current[:arvados_anonymous_api_token] = nil
         end
         Thread.current[:arvados_api_token] = previous_api_token
         verify_api_token
       else
-        @@anonymous_user = User.current
         Thread.current[:arvados_anonymous_api_token] = anonymous_user_token
       end
     end
@@ -946,17 +940,11 @@ class ApplicationController < ActionController::Base
     @objects_for
   end
 
-  @@anonymous_user = nil
-  # helper method to create sharing link for anonymous user user
-  helper_method :is_anonymous
-  def is_anonymous user
-    return Rails.configuration.anonymous_user_token && (user.andand.uuid == @@anonymous_user.andand.uuid)
-  end
   helper_method :anonymous_login_enabled
   def anonymous_login_enabled
     # to avoid the case where bogus anonymous token is configured,
     # safer to check this object which is set after token verification
-    return @@anonymous_user && Rails.configuration.anonymous_user_token
+    return Thread.current[:arvados_anonymous_api_token] && Rails.configuration.anonymous_user_token
   end
 
 end
diff --git a/apps/workbench/app/models/arvados_base.rb b/apps/workbench/app/models/arvados_base.rb
index da4b33c..700c5c2 100644
--- a/apps/workbench/app/models/arvados_base.rb
+++ b/apps/workbench/app/models/arvados_base.rb
@@ -300,7 +300,7 @@ class ArvadosBase < ActiveRecord::Base
   end
 
   def self.creatable?
-    current_user && (!current_user[:uuid].ends_with?('anonymouspublic'))
+    current_user && !current_user.is_anonymous
   end
 
   def self.goes_in_projects?
diff --git a/apps/workbench/app/models/user.rb b/apps/workbench/app/models/user.rb
index 9c91477..9ab9f86 100644
--- a/apps/workbench/app/models/user.rb
+++ b/apps/workbench/app/models/user.rb
@@ -49,4 +49,9 @@ class User < ArvadosBase
     arvados_api_client.api(self, "/setup", params)
   end
 
+  def is_anonymous
+    return Rails.configuration.anonymous_user_token &&
+           (Thread.current[:arvados_api_token] == Thread.current[:arvados_anonymous_api_token])
+  end
+
 end
diff --git a/apps/workbench/app/views/layouts/application.html.erb b/apps/workbench/app/views/layouts/application.html.erb
index d925025..2a9eb11 100644
--- a/apps/workbench/app/views/layouts/application.html.erb
+++ b/apps/workbench/app/views/layouts/application.html.erb
@@ -77,7 +77,7 @@
           -->
 
           <% if current_user %>
-          <% if current_user && !is_anonymous(current_user) %>
+          <% if !current_user.is_anonymous %>
           <li class="dropdown notification-menu">
             <a href="#" class="dropdown-toggle" data-toggle="dropdown" id="notifications-menu">
               <span class="badge badge-alert notification-count"><%= @notification_count %></span>
@@ -117,7 +117,7 @@
             </ul>
           </li>
           <% else %>
-            <% if is_anonymous(current_user) %>
+            <% if current_user.is_anonymous %>
               <li><a href="<%= arvados_api_client.arvados_login_url(return_to: root_url) %>">Log in</a></li>
             <% end %>
           <% end %>
diff --git a/apps/workbench/app/views/projects/index.html.erb b/apps/workbench/app/views/projects/index.html.erb
index 3fbbdc0..927b53e 100644
--- a/apps/workbench/app/views/projects/index.html.erb
+++ b/apps/workbench/app/views/projects/index.html.erb
@@ -45,7 +45,7 @@
         </div>
       </div>
       <% elsif current_user %>
-        <% if is_anonymous current_user %>
+        <% if current_user.is_anonymous %>
           <div class="panel panel-default">
             <div class="panel-body">
               <p>

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list