[ARVADOS] updated: 53fac68b8025db64c50c0370a16c7afaf4be7bd3

git at public.curoverse.com git at public.curoverse.com
Thu Mar 26 21:27:05 EDT 2015


Summary of changes:
 apps/workbench/app/controllers/application_controller.rb |  2 +-
 apps/workbench/app/views/layouts/body.html.erb           | 10 ++++------
 apps/workbench/app/views/users/profile.html.erb          | 13 ++++++++++++-
 services/api/test/fixtures/users.yml                     | 13 +++++++++++++
 4 files changed, 30 insertions(+), 8 deletions(-)

       via  53fac68b8025db64c50c0370a16c7afaf4be7bd3 (commit)
      from  5380c722ce344d712cab307d41e0f7a654a4070c (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 53fac68b8025db64c50c0370a16c7afaf4be7bd3
Author: Radhika Chippada <radhika at curoverse.com>
Date:   Thu Mar 26 21:25:36 2015 -0400

    5493: fix a bug in user profile handling where any pre-existing prefs are being lost.

diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index f81e095..db5e83b 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -705,7 +705,7 @@ class ApplicationController < ActionController::Base
     prefs = current_user.prefs
     if !prefs[:getting_started_shown]
       prefs[:getting_started_shown] = Time.now
-      current_user.update_attributes prefs: prefs
+      current_user.update_attributes prefs: prefs.to_json
     end
   end
 
diff --git a/apps/workbench/app/views/layouts/body.html.erb b/apps/workbench/app/views/layouts/body.html.erb
index 67e50bd..59a2521 100644
--- a/apps/workbench/app/views/layouts/body.html.erb
+++ b/apps/workbench/app/views/layouts/body.html.erb
@@ -196,11 +196,7 @@
       </nav>
     <% end %>
 
-    <%= render partial: 'browser_unsupported' %> <%# requires JS support below %>
-
-    <% if current_user and !current_user.prefs[:getting_started_shown] %> <%# requires JS support below %>
-      <div id="getting-started-modal-window"></div>
-    <% end %>
+    <%= render partial: 'browser_unsupported' %><%# requires JS support below %>
 
     <div id="page-wrapper">
       <%= yield %>
@@ -214,7 +210,9 @@
 <script src="/browser_unsupported.js"></script>
 
 <div id="getting-started-modal-window"></div>
-<% if current_user and !current_user.prefs[:getting_started_shown] %>
+
+<%  if current_user and !current_user.prefs[:getting_started_shown] and
+       !request.url.include?("/user_agreements") and !request.url.include?("/profile") %>
   <script>
     $("#getting-started-modal-window").html("<%= escape_javascript(render partial: 'getting_started_popup') %>");
     $("#getting-started-modal-window .modal").modal('show');
diff --git a/apps/workbench/app/views/users/profile.html.erb b/apps/workbench/app/views/users/profile.html.erb
index 45aea01..82a431c 100644
--- a/apps/workbench/app/views/users/profile.html.erb
+++ b/apps/workbench/app/views/users/profile.html.erb
@@ -16,7 +16,11 @@
         <div class="panel-body">
           <% if !missing_required_profile? && params[:offer_return_to] %>
             <div class="alert alert-success">
-              <p>Thank you for filling in your profile. <%= link_to 'Back to work!', params[:offer_return_to], class: 'btn btn-sm btn-primary' %></p>
+              <% if current_user.prefs['getting_started_shown'] %>
+                <p>Thank you for filling in your profile. <%= link_to 'Back to work!', params[:offer_return_to], class: 'btn btn-sm btn-primary' %></p>
+              <% else %>
+                <p>Thank you for filling in your profile. <%= link_to 'Get started', params[:offer_return_to], class: 'btn btn-sm btn-primary' %></p>
+              <% end %>
             </div>
           <% else %>
             <div class="alert alert-info">
@@ -82,6 +86,13 @@
                 <% end %>
               <% end %>
 
+              <%# If the user has other prefs, we need to preserve them %>
+              <% current_user.prefs.each do |key, value| %>
+                <% if key != 'profile' %>
+                  <input type="hidden" name="user[prefs][:<%=key%>]" value="<%=value.to_json%>">
+                <% end %>
+              <% end %>
+
               <% if show_save_button %>
                 <div class="form-group">
                   <div class="col-sm-offset-3 col-sm-8">
diff --git a/services/api/test/fixtures/users.yml b/services/api/test/fixtures/users.yml
index 46fbd0f..99b89ab 100644
--- a/services/api/test/fixtures/users.yml
+++ b/services/api/test/fixtures/users.yml
@@ -30,6 +30,7 @@ admin:
     profile:
       organization: example.com
       role: IT
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 miniadmin:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -45,6 +46,7 @@ miniadmin:
     profile:
       organization: example.com
       role: IT
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 rominiadmin:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -60,6 +62,7 @@ rominiadmin:
     profile:
       organization: example.com
       role: IT
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 active:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -75,6 +78,7 @@ active:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 project_viewer:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -90,6 +94,7 @@ project_viewer:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 future_project_user:
   # Workbench tests give this user permission on aproject.
@@ -106,6 +111,7 @@ future_project_user:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 subproject_admin:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -121,6 +127,7 @@ subproject_admin:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 spectator:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -136,6 +143,7 @@ spectator:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 inactive_uninvited:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -172,6 +180,7 @@ inactive_but_signed_user_agreement:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 anonymous:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -197,6 +206,7 @@ job_reader:
     profile:
       organization: example.com
       role: Computational biologist
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 active_no_prefs:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -220,6 +230,7 @@ active_no_prefs_profile:
   is_admin: false
   prefs:
     test: abc
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 # Fixtures to test granting and removing permissions.
 
@@ -258,6 +269,7 @@ user1_with_load:
     profile:
       organization: example.com
       role: IT
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z
 
 fuse:
   owner_uuid: zzzzz-tpzed-000000000000000
@@ -273,3 +285,4 @@ fuse:
     profile:
       organization: example.com
       role: IT
+    getting_started_shown: 2015-03-26 12:34:56.789000000 Z

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list