summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/views/google_sync_button.js.coffee1
-rw-r--r--app/controllers/profiles_controller.rb30
-rw-r--r--app/views/profiles/edit.html.erb8
-rw-r--r--config/locales/en.yml5
-rw-r--r--spec/controllers/profiles_controller_spec.rb69
5 files changed, 35 insertions, 78 deletions
diff --git a/app/assets/javascripts/views/google_sync_button.js.coffee b/app/assets/javascripts/views/google_sync_button.js.coffee
index 3f0c7d5..b60b0e0 100644
--- a/app/assets/javascripts/views/google_sync_button.js.coffee
+++ b/app/assets/javascripts/views/google_sync_button.js.coffee
@@ -14,4 +14,3 @@ Stronglifters.GoogleSyncButton = Ractive.extend
@_drive ||= new Stronglifters.GoogleDrive
client_id: @get('client_id')
drive_upload_path: @get('drive_upload_path')
-
diff --git a/app/controllers/profiles_controller.rb b/app/controllers/profiles_controller.rb
index 185b218..9abd1b4 100644
--- a/app/controllers/profiles_controller.rb
+++ b/app/controllers/profiles_controller.rb
@@ -1,33 +1,25 @@
class ProfilesController < ApplicationController
-
def show
@user = User.find_by(username: params[:id])
@profile = @user.profile
@program = Program.stronglifts
end
-
+
def edit
- @user = @current_user
- @profile = @user.profile
+ @profile = @current_user.profile
@program = Program.stronglifts
end
-
+
def update
- if @current_user
- @profile = @current_user.profile
- @profile.update_attributes(profile_params)
- flash[:notice] = t("profiles.edit.profile_update_success")
- redirect_to profile_path(@profile)
- else
- flash[:notice] = t("profiles.edit.profile_update_error")
- render 'edit'
- end
+ profile = @current_user.profile
+ profile.update_attributes(profile_params)
+ flash[:notice] = t("profiles.edit.profile_update_success")
+ redirect_to profile_path(profile)
end
-
+
private
- def profile_params
- params.require(:profile).permit(:gender, :social_tolerance)
- end
-
+ def profile_params
+ params.require(:profile).permit(:gender, :social_tolerance)
+ end
end
diff --git a/app/views/profiles/edit.html.erb b/app/views/profiles/edit.html.erb
index 4f78226..af8e2c3 100644
--- a/app/views/profiles/edit.html.erb
+++ b/app/views/profiles/edit.html.erb
@@ -1,8 +1,7 @@
<div class="row">
-
<div class="small-12 columns text-center">
- <%= gravatar_for(@user, size: 128) %>
- <h1><%= @user.username %></h1>
+ <%= gravatar_for(@current_user, size: 128) %>
+ <h1><%= @current_user.username %></h1>
<%= form_for(@profile, method: :patch) do |f| %>
<fieldset>
<legend><%= t("profiles.edit.gender.gender") %></legend>
@@ -25,5 +24,4 @@
<%= f.submit t("profiles.edit.save"), class: "button" %>
<% end %>
</div>
-
-</div> \ No newline at end of file
+</div>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 8c5136a..1b75edf 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -50,14 +50,12 @@ en:
high: High
social_tolerance: Social Tolerance
save: Save Profile
- profile_update_error: "Your profile could not be updated."
profile_update_success: "Profile updated. This is how your public profile appears."
show:
exercise_header: Exercise
maximum_achieved: Maximum Achieved
no_workouts_completed: 0 workouts completed
personal_records: Personal Records
- training_history: Training History
workouts_completed: "%{count} workouts completed since %{first_session}."
sessions:
create:
@@ -70,9 +68,6 @@ en:
training_sessions:
drive_upload:
success: 'Our minions have been summoned to fetch your backup.'
- index:
- backup_file: "File"
- upload_backup_button: "Upload"
upload:
success: "Our minions have been summoned to unpack your backup."
failure: "We don't know how to unpack this type of file."
diff --git a/spec/controllers/profiles_controller_spec.rb b/spec/controllers/profiles_controller_spec.rb
index 03fbe7d..e82b1de 100644
--- a/spec/controllers/profiles_controller_spec.rb
+++ b/spec/controllers/profiles_controller_spec.rb
@@ -1,24 +1,23 @@
require "rails_helper"
describe ProfilesController do
-
describe "authenticated" do
-
- describe "#show" do
- include_context "stronglifts_program"
+ include_context "stronglifts_program"
+ let(:user) { create(:user) }
- let(:user) { create(:user) }
- let(:other_user) { create(:user) }
+ before :each do
+ http_login(user)
+ end
- before :each do
- http_login(user)
- end
+ describe "#show" do
+ let(:other_user) { create(:user) }
it "loads the user's profile" do
get :show, id: user.to_param
expect(assigns(:user)).to eql(user)
expect(assigns(:program)).to eql(Program.stronglifts)
end
+
it "loads the other user's profile" do
get :show, id: other_user.to_param
expect(assigns(:user)).to eql(other_user)
@@ -27,75 +26,49 @@ describe ProfilesController do
end
describe "#edit" do
- include_context "stronglifts_program"
-
- let(:user) { create(:user) }
let(:other_user) { create(:user) }
-
- before :each do
- http_login(user)
- end
it "loads the user's profile into an edit view" do
get :edit, id: user.to_param
- expect(assigns(:user)).to eql(user)
+ expect(assigns(:current_user)).to eql(user)
expect(assigns(:program)).to eql(Program.stronglifts)
end
-
+
it "will not load the other user's profile into an edit view" do
get :edit, id: other_user.to_param
- expect(assigns(:user)).to eql(user)
+ expect(assigns(:current_user)).to eql(user)
expect(assigns(:program)).to eql(Program.stronglifts)
end
-
end
-
- describe "#update" do
- include_context "stronglifts_program"
- let(:user) { create(:user) }
-
- before :each do
- http_login(user)
- end
-
+ describe "#update" do
it "updates the user profile" do
- patch :update, id: user.to_param, profile: {gender: "male"}
+ patch :update, id: user.to_param, profile: { gender: "male" }
user.reload
expect(user.profile.male?).to be_truthy
expect(response).to redirect_to(profile_path(user.profile))
end
-
end
-
end
-
- describe "unauthenticated" do
-
- describe "#show" do
- include_context "stronglifts_program"
- let(:user) { create(:user) }
+ describe "unauthenticated" do
+ include_context "stronglifts_program"
+ let(:user) { create(:user) }
+ describe "#show" do
it "loads the user's profile" do
get :show, id: user.to_param
- expect(assigns(:user)).to eql(nil)
- expect(assigns(:program)).to eql(nil)
+ expect(assigns(:user)).to be_nil
+ expect(assigns(:program)).to be_nil
end
end
describe "#edit" do
- include_context "stronglifts_program"
-
- let(:user) { create(:user) }
-
it "loads the user's profile into an edit view" do
get :edit, id: user.to_param
- expect(assigns(:user)).to eql(nil)
- expect(assigns(:program)).to eql(nil)
+ expect(assigns(:user)).to be_nil
+ expect(assigns(:program)).to be_nil
end
end
-
end
-
end