diff --git a/app/controllers/uploads_controller.rb b/app/controllers/uploads_controller.rb index f3e772c24..d777ba39d 100644 --- a/app/controllers/uploads_controller.rb +++ b/app/controllers/uploads_controller.rb @@ -63,7 +63,8 @@ class UploadsController < ApplicationController permitted_params = %i[ file source tag_string rating status parent_id artist_commentary_title artist_commentary_desc include_artist_commentary referer_url - md5_confirmation as_pending + md5_confirmation as_pending translated_commentary_title + translated_commentary_desc ] params.require(:upload).permit(permitted_params) diff --git a/app/javascript/src/javascripts/uploads.js.erb b/app/javascript/src/javascripts/uploads.js.erb index 7a0451b96..d445136c2 100644 --- a/app/javascript/src/javascripts/uploads.js.erb +++ b/app/javascript/src/javascripts/uploads.js.erb @@ -37,6 +37,11 @@ Upload.initialize_all = function() { Upload.toggle_commentary(); e.preventDefault(); }); + + $("#toggle-commentary-translation").on("click.danbooru", function(e) { + Upload.toggle_translation(); + e.preventDefault(); + }); } if ($("#c-uploads #a-new").length) { @@ -136,6 +141,17 @@ Upload.toggle_commentary = function() { } $(".artist-commentary").slideToggle(); + $(".upload_commentary_translation_container").slideToggle(); +}; + +Upload.toggle_translation = function() { + if ($(".commentary-translation").is(":visible")) { + $("#toggle-commentary-translation").text("show »"); + } else { + $("#toggle-commentary-translation").text("« hide"); + } + + $(".commentary-translation").slideToggle(); }; Upload.initialize_dropzone = function() { diff --git a/app/javascript/src/styles/specific/uploads.scss b/app/javascript/src/styles/specific/uploads.scss index b28bf46a0..c1c6ef63a 100644 --- a/app/javascript/src/styles/specific/uploads.scss +++ b/app/javascript/src/styles/specific/uploads.scss @@ -4,6 +4,10 @@ div#c-uploads { margin-top: 1em; } + .commentary-translation { + margin-top: 1em; + } + div#upload-guide-notice { margin-bottom: 2em; } diff --git a/app/logical/upload_service.rb b/app/logical/upload_service.rb index 857926ace..8c975f4e4 100644 --- a/app/logical/upload_service.rb +++ b/app/logical/upload_service.rb @@ -65,10 +65,6 @@ class UploadService return @post.warnings.full_messages end - def include_artist_commentary? - params[:include_artist_commentary].to_s.truthy? - end - def create_post_from_upload(upload) @post = convert_to_post(upload) @post.save! @@ -81,10 +77,12 @@ class UploadService ) end - if include_artist_commentary? + if upload.include_artist_commentary @post.create_artist_commentary( - :original_title => params[:artist_commentary_title], - :original_description => params[:artist_commentary_desc] + :original_title => upload.artist_commentary_title, + :original_description => upload.artist_commentary_desc, + :translated_title => upload.translated_commentary_title, + :translated_description => upload.translated_commentary_desc ) end diff --git a/app/views/uploads/new.html.erb b/app/views/uploads/new.html.erb index 449fe2270..b46b02cd4 100644 --- a/app/views/uploads/new.html.erb +++ b/app/views/uploads/new.html.erb @@ -46,12 +46,22 @@ show »
+ +