Reshare the absolute root of a post

This commit is contained in:
Steffen van Bergerem 2014-10-04 01:14:42 +02:00
parent d44300c7a2
commit 8ca5ca7c92
3 changed files with 21 additions and 1 deletions

View file

@ -44,6 +44,7 @@ The default for including jQuery from a CDN has changed. If you want to continue
* Pull punycode.js from rails-assets.org [#5263](https://github.com/diaspora/diaspora/pull/5263)
* Redesign profile page and port to Bootstrap [#4657](https://github.com/diaspora/diaspora/pull/4657)
* Unify stream selection links in the left sidebar [#5271](https://github.com/diaspora/diaspora/pull/5271)
* Always reshare absolute root of a post [#5276](https://github.com/diaspora/diaspora/pull/5276)
## Bug fixes
* orca cannot see 'Add Contact' button [#5158](https://github.com/diaspora/diaspora/pull/5158)

View file

@ -3,7 +3,13 @@ class ResharesController < ApplicationController
respond_to :json
def create
@reshare = current_user.build_post(:reshare, :root_guid => params[:root_guid])
post = Post.where(:guid => params[:root_guid]).first
if post.is_a? Reshare
@reshare = current_user.build_post(:reshare, :root_guid => post.absolute_root.guid)
else
@reshare = current_user.build_post(:reshare, :root_guid => params[:root_guid])
end
if @reshare.save
current_user.add_to_streams(@reshare, current_user.aspects)
current_user.dispatch_post(@reshare, :url => post_url(@reshare), :additional_subscribers => @reshare.root_author)

View file

@ -54,6 +54,19 @@ describe ResharesController, :type => :controller do
expect(response.body.strip).to be_empty
end
end
context 'resharing another user\'s reshare' do
before do
@root = @post
@post = FactoryGirl.create(:reshare, :root => @root, :author => alice.person)
end
it 'reshares the absolute root' do
post_request!
expect(@post.reshares.count).to eq(0)
expect(@root.reshares.count).to eq(2)
end
end
end
end
end