diff options
author | Rakib Hasan <rmhasan@gmail.com> | 2017-02-01 21:07:38 -0500 |
---|---|---|
committer | Rakib Hasan <rmhasan@gmail.com> | 2017-02-19 08:28:33 +0000 |
commit | 6d2301988fdc0118c5583f48ba6da4a3b8247ba4 (patch) | |
tree | 9f94a389b53220af1fe997bbe807a20319821b33 | |
parent | 9e99b8c068b11ec2d0f3b5d560cae0166c247342 (diff) |
Fix for issue #462
Modified uploadCompose action to send media ids of attached media when sending a request. Modified create method in MediaController to check if when posting a video, there are no other media attached to the status by looking at the media ids sent from the uploadCompose action.
-rw-r--r-- | app/assets/javascripts/components/actions/compose.jsx | 5 | ||||
-rw-r--r-- | app/controllers/api/v1/media_controller.rb | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/app/assets/javascripts/components/actions/compose.jsx b/app/assets/javascripts/components/actions/compose.jsx index 03aae885e..84fbc7fc5 100644 --- a/app/assets/javascripts/components/actions/compose.jsx +++ b/app/assets/javascripts/components/actions/compose.jsx @@ -119,7 +119,10 @@ export function uploadCompose(files) { let data = new FormData(); data.append('file', files[0]); - + data.append('media_ids', getState().getIn( + ['compose', 'media_attachments'] + ).map(item => item.get('id'))); + api(getState).post('/api/v1/media', data, { onUploadProgress: function (e) { dispatch(uploadComposeProgress(e.loaded, e.total)); diff --git a/app/controllers/api/v1/media_controller.rb b/app/controllers/api/v1/media_controller.rb index f8139ade7..582d04daf 100644 --- a/app/controllers/api/v1/media_controller.rb +++ b/app/controllers/api/v1/media_controller.rb @@ -11,6 +11,10 @@ class Api::V1::MediaController < ApiController def create @media = MediaAttachment.create!(account: current_user.account, file: params[:file]) + if @media.video? and params[:media_ids] != "List []" + @media.destroy + render json: {error: 'Cannot attach a video to a toot that already contains images'}, status: 422 + end rescue Paperclip::Errors::NotIdentifiedByImageMagickError render json: { error: 'File type of uploaded media could not be verified' }, status: 422 rescue Paperclip::Error |