From 6eb50ea93414b41c0ea7cb860f394c29fd3e372f Mon Sep 17 00:00:00 2001 From: danielvincent <danielgrippi@gmail.com> Date: Fri, 29 Oct 2010 14:11:20 -0700 Subject: [PATCH] profile photo uploader is now a standard form file element. Upload new image through people#update, which calls current_user.post to do so. --- app/controllers/people_controller.rb | 9 +++++++++ app/controllers/photos_controller.rb | 5 ----- app/controllers/users_controller.rb | 1 - app/views/people/_profile_photo_upload.html.haml | 2 +- app/views/people/edit.html.haml | 4 ++-- app/views/users/getting_started/_step_1.html.haml | 4 ++-- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb index 791d532b7b..25fb5d0e40 100644 --- a/app/controllers/people_controller.rb +++ b/app/controllers/people_controller.rb @@ -46,6 +46,15 @@ class PeopleController < ApplicationController params[:person][:profile][:birthday] ||= Date.parse("#{birthday[:year]}-#{birthday[:month]}-#{birthday[:day]}") end + # upload and set new profile photo + if params[:person][:profile][:image] + raw_image = params[:person][:profile].delete(:image) + params[:profile_image_hash] = { :user_file => raw_image, :to => "all" } + + photo = current_user.post(:photo, params[:profile_image_hash]) + params[:person][:profile][:image_url] = photo.url(:thumb_medium) + end + prep_image_url(params[:person]) if current_user.update_profile params[:person][:profile] diff --git a/app/controllers/photos_controller.rb b/app/controllers/photos_controller.rb index c9671ac7f2..3216fdf4cf 100644 --- a/app/controllers/photos_controller.rb +++ b/app/controllers/photos_controller.rb @@ -51,11 +51,6 @@ class PhotosController < ApplicationController @photo = current_user.post(:photo, params[:photo]) - # set image as profile photo - if params[:set_profile_image] && !params[:set_profile_image].empty? - current_user.update_profile(:image_url=>@photo.url(:thumb_medium)) - end - respond_to do |format| format.json{render(:layout => false , :json => {"success" => true, "data" => @photo}.to_json )} end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 45182cd882..36f31c6b86 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -75,7 +75,6 @@ class UsersController < ApplicationController @user = current_user @person = @user.person @profile = @user.profile - @photos = @user.visible_posts(:person_id => current_user.person.id, :_type => 'Photo').paginate :page => params[:page], :order => 'created_at DESC' @services = @user.services @step = ((params[:step].to_i>0)&&(params[:step].to_i<5)) ? params[:step].to_i : 1 diff --git a/app/views/people/_profile_photo_upload.html.haml b/app/views/people/_profile_photo_upload.html.haml index b65672a102..cd9577abeb 100644 --- a/app/views/people/_profile_photo_upload.html.haml +++ b/app/views/people/_profile_photo_upload.html.haml @@ -5,7 +5,7 @@ #profile_photo_upload = owner_image_tag - = render 'photos/new_photo', :album_id => nil, :aspect_id => 'all', :set_profile_image => true + = form.file_field :image %p \...or select one from your already existing diff --git a/app/views/people/edit.html.haml b/app/views/people/edit.html.haml index 18d08a542c..19d1bafb7d 100644 --- a/app/views/people/edit.html.haml +++ b/app/views/people/edit.html.haml @@ -12,7 +12,7 @@ %li=link_to 'Services', services_path .span-19.prepend-5.last - = form_for @person do |person| + = form_for @person, :html => { :multipart => true } do |person| %h3 Your Profile .description @@ -42,7 +42,7 @@ %h4 Your photo - = render 'people/profile_photo_upload' + = render 'people/profile_photo_upload', :form => profile .submit_block = link_to t('.cancel'), edit_user_path(current_user) diff --git a/app/views/users/getting_started/_step_1.html.haml b/app/views/users/getting_started/_step_1.html.haml index 1bb45760f9..6ee9002117 100644 --- a/app/views/users/getting_started/_step_1.html.haml +++ b/app/views/users/getting_started/_step_1.html.haml @@ -3,7 +3,7 @@ -# the COPYRIGHT file. -= form_for @person do |person| += form_for @person, :html => { :multipart => true } do |person| %h3 Your Profile .description @@ -33,7 +33,7 @@ %h4 Your photo - = render 'people/profile_photo_upload' + = render 'people/profile_photo_upload', :form => profile = hidden_field_tag :getting_started, @step -- GitLab