[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