Merge branch 'master' of github.com:diaspora/diaspora
This commit is contained in:
commit
4e2425cdef
7 changed files with 51 additions and 53 deletions
|
|
@ -37,7 +37,6 @@ class PeopleController < ApplicationController
|
|||
@aspect = :person_edit
|
||||
@person = current_user.person
|
||||
@profile = @person.profile
|
||||
@photos = current_user.visible_posts(:person_id => @person.id, :_type => 'Photo').paginate :page => params[:page], :order => 'created_at DESC'
|
||||
end
|
||||
|
||||
def update
|
||||
|
|
@ -47,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]
|
||||
|
|
@ -64,15 +72,17 @@ class PeopleController < ApplicationController
|
|||
|
||||
private
|
||||
def prep_image_url(params)
|
||||
url = APP_CONFIG[:pod_url].dup
|
||||
url.chop! if APP_CONFIG[:pod_url][-1,1] == '/'
|
||||
if params[:profile][:image_url].empty?
|
||||
params[:profile].delete(:image_url)
|
||||
else
|
||||
if /^http:\/\// =~ params[:profile][:image_url]
|
||||
params[:profile][:image_url] = params[:profile][:image_url]
|
||||
if params[:profile] && params[:profile][:image_url]
|
||||
url = APP_CONFIG[:pod_url].dup
|
||||
url.chop! if APP_CONFIG[:pod_url][-1,1] == '/'
|
||||
if params[:profile][:image_url].empty?
|
||||
params[:profile].delete(:image_url)
|
||||
else
|
||||
params[:profile][:image_url] = url + params[:profile][:image_url]
|
||||
if /^http:\/\// =~ params[:profile][:image_url]
|
||||
params[:profile][:image_url] = params[:profile][:image_url]
|
||||
else
|
||||
params[:profile][:image_url] = url + params[:profile][:image_url]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
13
app/views/people/_profile_photo_upload.html.haml
Normal file
13
app/views/people/_profile_photo_upload.html.haml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
-# Copyright (c) 2010, Diaspora Inc. This file is
|
||||
-# licensed under the Affero General Public License version 3 or later. See
|
||||
-# the COPYRIGHT file.
|
||||
|
||||
|
||||
#profile_photo_upload
|
||||
= owner_image_tag
|
||||
= form.file_field :image
|
||||
|
||||
%p
|
||||
\...or select one from your already existing
|
||||
= link_to 'photos', person_photos_path(@person)
|
||||
\.
|
||||
|
|
@ -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,26 +42,7 @@
|
|||
|
||||
%h4
|
||||
Your photo
|
||||
%div#image_picker
|
||||
= profile.hidden_field :image_url, :value => (@profile.image_url if @profile.image_url), :id => 'image_url_field'
|
||||
|
||||
- unless @photos.nil? || @photos.empty?
|
||||
- for photo in @photos
|
||||
- if @profile.image_url && @profile.image_url.include?(photo.url(:thumb_medium))
|
||||
%div.small_photo{:id => photo.url(:thumb_medium), :class=>'selected'}
|
||||
= check_box_tag 'checked_photo', true, true
|
||||
= link_to image_tag(photo.url(:thumb_medium)), "#"
|
||||
- else
|
||||
%div.small_photo{:id => photo.url(:thumb_medium)}
|
||||
= check_box_tag 'checked_photo'
|
||||
= link_to image_tag(photo.url(:thumb_medium)), "#"
|
||||
|
||||
- else
|
||||
=t('.you_dont_have_any_photos')
|
||||
= link_to t('.albums'), albums_path(:aspect => 'all')
|
||||
=t('.page_to_upload_some')
|
||||
|
||||
=will_paginate @photos
|
||||
= render 'people/profile_photo_upload', :form => profile
|
||||
|
||||
.submit_block
|
||||
= link_to t('.cancel'), edit_user_path(current_user)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
function createUploader(){
|
||||
var uploader = new qq.FileUploader({
|
||||
element: document.getElementById('file-upload'),
|
||||
params: {'photo' : { 'album_id' : "#{album_id}", 'to' : "#{aspect_id}"}},
|
||||
params: {'photo' : { 'album_id' : "#{album_id}", 'to' : "#{aspect_id}"}, 'set_profile_image' : "#{set_profile_image if defined?(set_profile_image)}"},
|
||||
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
|
||||
action: "#{photos_path}"
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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,26 +33,7 @@
|
|||
|
||||
%h4
|
||||
Your photo
|
||||
%div#image_picker
|
||||
= profile.hidden_field :image_url, :value => (@profile.image_url if @profile.image_url), :id => 'image_url_field'
|
||||
|
||||
- unless @photos.nil? || @photos.empty?
|
||||
- for photo in @photos
|
||||
- if @profile.image_url && @profile.image_url.include?(photo.url(:thumb_medium))
|
||||
%div.small_photo{:id => photo.url(:thumb_medium), :class=>'selected'}
|
||||
= check_box_tag 'checked_photo', true, true
|
||||
= link_to image_tag(photo.url(:thumb_medium)), "#"
|
||||
- else
|
||||
%div.small_photo{:id => photo.url(:thumb_medium)}
|
||||
= check_box_tag 'checked_photo'
|
||||
= link_to image_tag(photo.url(:thumb_medium)), "#"
|
||||
|
||||
- else
|
||||
=t('.you_dont_have_any_photos')
|
||||
= link_to t('.albums'), albums_path(:aspect => 'all')
|
||||
=t('.page_to_upload_some')
|
||||
|
||||
=will_paginate @photos
|
||||
= render 'people/profile_photo_upload', :form => profile
|
||||
|
||||
= hidden_field_tag :getting_started, @step
|
||||
|
||||
|
|
|
|||
|
|
@ -1377,3 +1377,17 @@ ul.aspects
|
|||
:display inline
|
||||
:left 600px
|
||||
:top 0
|
||||
|
||||
#profile_photo_upload
|
||||
:margin
|
||||
:top 5px
|
||||
img
|
||||
:position absolute
|
||||
:left 0
|
||||
:height 100px
|
||||
:width 100px
|
||||
:border-radius 5px
|
||||
:-webkit-box-shadow 0 1px 2px #666
|
||||
|
||||
:padding
|
||||
:left 120px
|
||||
|
|
|
|||
Loading…
Reference in a new issue