forked from cybrespace/mastodon
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.
This commit is contained in:
parent
9e99b8c068
commit
6d2301988f
|
@ -119,7 +119,10 @@ export function uploadCompose(files) {
|
||||||
|
|
||||||
let data = new FormData();
|
let data = new FormData();
|
||||||
data.append('file', files[0]);
|
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, {
|
api(getState).post('/api/v1/media', data, {
|
||||||
onUploadProgress: function (e) {
|
onUploadProgress: function (e) {
|
||||||
dispatch(uploadComposeProgress(e.loaded, e.total));
|
dispatch(uploadComposeProgress(e.loaded, e.total));
|
||||||
|
|
|
@ -11,6 +11,10 @@ class Api::V1::MediaController < ApiController
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@media = MediaAttachment.create!(account: current_user.account, file: params[:file])
|
@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
|
rescue Paperclip::Errors::NotIdentifiedByImageMagickError
|
||||||
render json: { error: 'File type of uploaded media could not be verified' }, status: 422
|
render json: { error: 'File type of uploaded media could not be verified' }, status: 422
|
||||||
rescue Paperclip::Error
|
rescue Paperclip::Error
|
||||||
|
|
Loading…
Reference in New Issue