From 85011c91921c7d91114620be768e4b26cea7c01b Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 15:09:43 -0600 Subject: [PATCH 1/8] Fix "'archive_development' database is not configured." exception. --- app/models/pool_archive.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/models/pool_archive.rb b/app/models/pool_archive.rb index 3fd15737f..9dc008c16 100644 --- a/app/models/pool_archive.rb +++ b/app/models/pool_archive.rb @@ -1,5 +1,9 @@ class PoolArchive < ActiveRecord::Base - establish_connection "archive_#{Rails.env}".to_sym + def self.enabled? + Danbooru.config.aws_sqs_archives_url.present? + end + + establish_connection "archive_#{Rails.env}".to_sym if enabled? self.table_name = "pool_versions" module SearchMethods @@ -29,10 +33,6 @@ class PoolArchive < ActiveRecord::Base extend SearchMethods - def self.enabled? - Danbooru.config.aws_sqs_archives_url.present? - end - def self.sqs_service SqsService.new(Danbooru.config.aws_sqs_archives_url) end From 7c838f852539e9f0e3570cb8cec391ac9dd2b3a5 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 15:58:28 -0600 Subject: [PATCH 2/8] Delete unused /comments/index_all route and unused _threshold.html.erb template. --- app/views/comments/partials/index/_threshold.html.erb | 3 --- config/routes.rb | 1 - 2 files changed, 4 deletions(-) delete mode 100644 app/views/comments/partials/index/_threshold.html.erb diff --git a/app/views/comments/partials/index/_threshold.html.erb b/app/views/comments/partials/index/_threshold.html.erb deleted file mode 100644 index 449a7ab96..000000000 --- a/app/views/comments/partials/index/_threshold.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<% if post.hidden_comment_count(@current_user) > 0 %> - <%= link_to_remote "#{pluralize post.hidden_comment_count(@current_user), 'comment'} below threshold", :url => index_all_comments_path(:post_id => post.id) %>. -<% end %> diff --git a/config/routes.rb b/config/routes.rb index e4b2805dd..d1ef57588 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -102,7 +102,6 @@ Rails.application.routes.draw do resources :votes, :controller => "comment_votes", :only => [:create, :destroy] collection do get :search - get :index_all end member do put :unvote From c165b38a91acbdf8111cfe19cb33fe640ba9d7f6 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 16:25:39 -0600 Subject: [PATCH 3/8] Prevent anon users from attempting to undelete/unvote comments. The :undelete and :unvote actions weren't covered. --- app/controllers/comments_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 5069221a2..49ef61524 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -1,6 +1,6 @@ class CommentsController < ApplicationController respond_to :html, :xml, :json - before_filter :member_only, :only => [:update, :create, :edit, :destroy] + before_filter :member_only, :except => [:index, :search, :show] rescue_from ActiveRecord::StatementInvalid, :with => :rescue_exception def index From 69c50290a854ef6b15ef73d9343ce1f86f210803 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 18:24:06 -0600 Subject: [PATCH 4/8] Include updater_name in /comments/1.json. --- app/controllers/comments_controller.rb | 4 +--- app/models/comment.rb | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 49ef61524..ff38ab0f6 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -48,9 +48,7 @@ class CommentsController < ApplicationController def show @comment = Comment.find(params[:id]) - respond_with(@comment) do |format| - format.json {render :json => @comment.to_json(:methods => [:creator_name])} - end + respond_with(@comment) end def destroy diff --git a/app/models/comment.rb b/app/models/comment.rb index 7b1583209..2f909b3b0 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -199,6 +199,10 @@ class Comment < ActiveRecord::Base super + [:body_index] end + def method_attributes + super + [:creator_name, :updater_name] + end + def delete! update_attributes(:is_deleted => true) end From 9347f270596743e5799136a62d8c9206df55ffc6 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 18:25:31 -0600 Subject: [PATCH 5/8] /comments.json: add id param; allow id and post_id to take lists of ids. --- app/models/comment.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/comment.rb b/app/models/comment.rb index 2f909b3b0..7e3d466c5 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -69,8 +69,12 @@ class Comment < ActiveRecord::Base q = q.body_matches(params[:body_matches]) end + if params[:id].present? + q = q.where("id in (?)", params[:id].split(",").map(&:to_i)) + end + if params[:post_id].present? - q = q.where("post_id = ?", params[:post_id].to_i) + q = q.where("post_id in (?)", params[:post_id].split(",").map(&:to_i)) end if params[:post_tags_match].present? From 1b05d5068a1f33451101e718dde20077b65a0ddb Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 18:27:36 -0600 Subject: [PATCH 6/8] Simplify `Comment.for_creator_name`. --- app/models/comment.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/comment.rb b/app/models/comment.rb index 7e3d466c5..aa1a24f54 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -58,7 +58,7 @@ class Comment < ActiveRecord::Base end def for_creator_name(user_name) - where("creator_id = (select _.id from users _ where lower(_.name) = lower(?))", user_name.mb_chars.downcase) + for_creator(User.name_to_id(user_name).id) end def search(params) @@ -82,7 +82,7 @@ class Comment < ActiveRecord::Base end if params[:creator_name].present? - q = q.for_creator_name(params[:creator_name].tr(" ", "_")) + q = q.for_creator_name(params[:creator_name]) end if params[:creator_id].present? From 390524c7f5b9bec908bb94ecc997ce6e649dd2f2 Mon Sep 17 00:00:00 2001 From: evazion Date: Mon, 26 Dec 2016 19:57:48 -0600 Subject: [PATCH 7/8] Remove obsolete IE8 opacity hacks; remove unused transparency mixin. --- app/assets/javascripts/notes.js | 3 --- app/assets/stylesheets/common/000_vars.css.scss | 7 ------- app/assets/stylesheets/specific/comments.css.scss | 6 ------ 3 files changed, 16 deletions(-) diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js index 6b0562087..e8267bc56 100644 --- a/app/assets/javascripts/notes.js +++ b/app/assets/javascripts/notes.js @@ -13,9 +13,6 @@ Danbooru.Note = { $inner_border.css({ opacity: opacity, - "-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)", - "filter": "alpha(opacity=50)", - zoom: 1 }); var $note_box = $('
'); diff --git a/app/assets/stylesheets/common/000_vars.css.scss b/app/assets/stylesheets/common/000_vars.css.scss index 09f3be236..fb8bcf1ed 100644 --- a/app/assets/stylesheets/common/000_vars.css.scss +++ b/app/assets/stylesheets/common/000_vars.css.scss @@ -49,13 +49,6 @@ $preview_flagged_color: #F00; text-shadow: $val; } -@mixin transparency($value) { - opacity: $value; - -ms-filter: unqoute("progid:DXImageTransform.Microsoft.Alpha(Opacity=#{$value * 100})"); - filter: unquote("alpha(opacity=#{$value * 100})"); - zoom: 1; -} - @mixin inline-block { display: -moz-inline-box; -moz-box-orient: vertical; diff --git a/app/assets/stylesheets/specific/comments.css.scss b/app/assets/stylesheets/specific/comments.css.scss index 72debd349..36a7360a6 100644 --- a/app/assets/stylesheets/specific/comments.css.scss +++ b/app/assets/stylesheets/specific/comments.css.scss @@ -41,16 +41,10 @@ div.comments-for-post { } article.comment.below-threshold { - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30); - filter: alpha(opacity=30); - zoom: 1; opacity: 0.3; } article.comment.below-threshold:hover { - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - filter: alpha(opacity=100); - zoom: 1; opacity: 1.0; } } From 0293d1d01c565288b45cb2800a996d244a6699cc Mon Sep 17 00:00:00 2001 From: Albert Yi Date: Tue, 27 Dec 2016 11:32:41 -0800 Subject: [PATCH 8/8] Update comment.rb allow Comment#for_creator to handle null user id case --- app/models/comment.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/comment.rb b/app/models/comment.rb index aa1a24f54..1abb74bef 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -54,11 +54,11 @@ class Comment < ActiveRecord::Base end def for_creator(user_id) - where("creator_id = ?", user_id) + user_id.present? ? where("creator_id = ?", user_id) : where("false") end def for_creator_name(user_name) - for_creator(User.name_to_id(user_name).id) + for_creator(User.name_to_id(user_name)) end def search(params)