From 82b621d87d11606e1f917ad4cc3a4ea76f28c0ad Mon Sep 17 00:00:00 2001 From: BrokenEagle Date: Tue, 14 Jan 2020 23:37:21 +0000 Subject: [PATCH] Added upload commentary enhancements - Can now translate commentary from the upload page - Can now add commentary tags with a checkbox --- app/controllers/uploads_controller.rb | 4 +++- app/javascript/src/javascripts/uploads.js.erb | 16 ++++++++++++++++ .../src/styles/specific/uploads.scss | 4 ++++ app/logical/upload_service.rb | 17 ++++++++++------- app/views/uploads/new.html.erb | 18 ++++++++++++++++-- ...114204550_add_more_commentary_to_uploads.rb | 10 ++++++++++ db/structure.sql | 11 +++++++++-- 7 files changed, 68 insertions(+), 12 deletions(-) create mode 100644 db/migrate/20200114204550_add_more_commentary_to_uploads.rb diff --git a/app/controllers/uploads_controller.rb b/app/controllers/uploads_controller.rb index f3e772c24..1e27f7c8d 100644 --- a/app/controllers/uploads_controller.rb +++ b/app/controllers/uploads_controller.rb @@ -63,7 +63,9 @@ 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 add_commentary_tag add_commentary_request_tag + add_commentary_check_tag add_partial_commentary_tag ] 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..bf3f0930e 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 @@ -113,6 +111,11 @@ class UploadService if !upload.uploader.can_upload_free? || upload.upload_as_pending? p.is_pending = true end + + p.add_tag("commentary") if upload.add_commentary_tag + p.add_tag("commentary_request") if upload.add_commentary_request_tag + p.add_tag("commentary_check") if upload.add_commentary_check_tag + p.add_tag("partial_commentary") if upload.add_partial_commentary_tag end end end diff --git a/app/views/uploads/new.html.erb b/app/views/uploads/new.html.erb index 449fe2270..c59a13a09 100644 --- a/app/views/uploads/new.html.erb +++ b/app/views/uploads/new.html.erb @@ -46,9 +46,23 @@ show » + + + diff --git a/db/migrate/20200114204550_add_more_commentary_to_uploads.rb b/db/migrate/20200114204550_add_more_commentary_to_uploads.rb new file mode 100644 index 000000000..f7a07e8d9 --- /dev/null +++ b/db/migrate/20200114204550_add_more_commentary_to_uploads.rb @@ -0,0 +1,10 @@ +class AddMoreCommentaryToUploads < ActiveRecord::Migration[6.0] + def change + add_column :uploads, :translated_commentary_title, :text + add_column :uploads, :translated_commentary_desc, :text + add_column :uploads, :add_commentary_tag, :boolean + add_column :uploads, :add_commentary_request_tag, :boolean + add_column :uploads, :add_commentary_check_tag, :boolean + add_column :uploads, :add_partial_commentary_tag, :boolean + end +end diff --git a/db/structure.sql b/db/structure.sql index c34a734b1..cb8b1da5c 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -3021,7 +3021,13 @@ CREATE TABLE public.uploads ( artist_commentary_title text, include_artist_commentary boolean, context text, - referer_url text + referer_url text, + translated_commentary_title text, + translated_commentary_desc text, + add_commentary_tag boolean, + add_commentary_request_tag boolean, + add_commentary_check_tag boolean, + add_partial_commentary_tag boolean ); @@ -7397,6 +7403,7 @@ INSERT INTO "schema_migrations" (version) VALUES ('20191117081229'), ('20191117200404'), ('20191119061018'), -('20191223032633'); +('20191223032633'), +('20200114204550');