From e17cf877ed13ef7e40fff8fa4e17203c91b5b280 Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Sun, 10 Mar 2013 22:40:48 -0500 Subject: [PATCH] onboarding process from anon account to real account --- app/controllers/users_controller.rb | 4 +++- app/models/user.rb | 11 +++++++++++ app/views/layouts/_anon_notice.html.erb | 9 +++++++++ app/views/layouts/_navbar.html.erb | 2 +- app/views/layouts/application.html.erb | 1 + 5 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 app/views/layouts/_anon_notice.html.erb diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index b3326be9..282f6af3 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -41,7 +41,8 @@ class UsersController < ApplicationController respond_to do |format| if @user.save session[:user] = @user.id - format.html { redirect_to dashboard_path, notice: 'You have been logged in to a temporary account that will delete itself (and everything you create with it!) as soon as you log out.' } + session[:anon_user] = true + format.html { redirect_to dashboard_path } format.json { render json: @user, status: :created } else format.html { render action: "new" } @@ -57,6 +58,7 @@ class UsersController < ApplicationController respond_to do |format| if @user.update_attributes(params[:user]) + session[:anon_user] = false format.html { redirect_to homepage_path, notice: 'Successfully updated.' } format.json { head :no_content } else diff --git a/app/models/user.rb b/app/models/user.rb index 038e19f8..be0a4842 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -25,6 +25,17 @@ class User } end + def content_count + [ + characters.length, + equipment.length, + languages.length, + locations.length, + magics.length, + universes.length + ].sum + end + def characters Character.where(user_id: id) end diff --git a/app/views/layouts/_anon_notice.html.erb b/app/views/layouts/_anon_notice.html.erb new file mode 100644 index 00000000..0b4be6b0 --- /dev/null +++ b/app/views/layouts/_anon_notice.html.erb @@ -0,0 +1,9 @@ +<% if session[:anon_user] and session[:user] and User.find(session[:user]).content_count > 0 %> + + + +<% end %> \ No newline at end of file diff --git a/app/views/layouts/_navbar.html.erb b/app/views/layouts/_navbar.html.erb index f37b671a..94672037 100644 --- a/app/views/layouts/_navbar.html.erb +++ b/app/views/layouts/_navbar.html.erb @@ -75,4 +75,4 @@ - + \ No newline at end of file diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 46704d05..5067c52b 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -8,6 +8,7 @@ <%= render 'layouts/navbar' %> +<%= render 'layouts/anon_notice' %>
<%= render 'layouts/notices' %>