From ae0ad771975075756bcd0c2cba3496112731a4de Mon Sep 17 00:00:00 2001 From: rgarcia Date: Thu, 3 Sep 2015 01:28:46 +0200 Subject: [PATCH 1/4] reorders before_actions --- app/controllers/application_controller.rb | 29 ++++++++++------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 86219f0ad..d5b05c6ae 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,31 +1,28 @@ require "application_responder" class ApplicationController < ActionController::Base + include SimpleCaptcha::ControllerHelpers include HasFilters - before_filter :authenticate_http_basic - - before_filter :authenticate_user!, unless: :devise_controller?, if: :beta_site? - before_filter :authenticate_beta_tester!, unless: :devise_controller?, if: :beta_site? - - check_authorization unless: :devise_controller? - include SimpleCaptcha::ControllerHelpers - self.responder = ApplicationResponder - respond_to :html - - before_action :set_locale - layout :set_layout - - # Prevent CSRF attacks by raising an exception. - # For APIs, you may want to use :null_session instead. - protect_from_forgery with: :exception + before_action :authenticate_http_basic + before_action :authenticate_user!, unless: :devise_controller?, if: :beta_site? + before_action :authenticate_beta_tester!, unless: :devise_controller?, if: :beta_site? before_action :ensure_signup_complete + before_action :set_locale + + check_authorization unless: :devise_controller? + self.responder = ApplicationResponder + + protect_from_forgery with: :exception rescue_from CanCan::AccessDenied do |exception| redirect_to main_app.root_url, alert: exception.message end + layout :set_layout + respond_to :html + private def authenticate_http_basic From 29ae0c68f8d115d6f4fa9e73dbe0b50d84e6c88a Mon Sep 17 00:00:00 2001 From: rgarcia Date: Thu, 3 Sep 2015 01:29:13 +0200 Subject: [PATCH 2/4] removes unnecessary comments --- app/models/verified_user.rb | 1 - lib/application_responder.rb | 4 ---- 2 files changed, 5 deletions(-) diff --git a/app/models/verified_user.rb b/app/models/verified_user.rb index ca32eea5c..2113ef238 100644 --- a/app/models/verified_user.rb +++ b/app/models/verified_user.rb @@ -1,4 +1,3 @@ -# make sure document_type is being stored and queried in the correct format (Is it DNI? a number, a string?) class VerifiedUser < ActiveRecord::Base scope :by_user, -> (user) { where(document_number: user.document_number, document_type: user.document_type) } diff --git a/lib/application_responder.rb b/lib/application_responder.rb index cc3e58885..daef415e3 100644 --- a/lib/application_responder.rb +++ b/lib/application_responder.rb @@ -1,8 +1,4 @@ class ApplicationResponder < ActionController::Responder include Responders::FlashResponder include Responders::HttpCacheResponder - - # Redirects resources to the collection path (index action) instead - # of the resource path (show action) for POST/PUT/DELETE requests. - # include Responders::CollectionResponder end From 4897d5df4ef4fe9a61067f84db5a293eebf9eb19 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Thu, 3 Sep 2015 01:29:46 +0200 Subject: [PATCH 3/4] makes spaces consistent --- app/controllers/account_controller.rb | 1 - app/controllers/admin/comments_controller.rb | 1 - app/controllers/admin/moderators_controller.rb | 1 - app/controllers/admin/organizations_controller.rb | 1 - app/controllers/admin/users_controller.rb | 1 - app/controllers/api/stats_controller.rb | 2 ++ app/controllers/moderation/base_controller.rb | 2 +- app/controllers/moderation/comments_controller.rb | 2 +- app/controllers/moderation/debates_controller.rb | 1 - app/controllers/organizations/registrations_controller.rb | 1 + app/controllers/pages_controller.rb | 1 - app/controllers/stats_controller.rb | 2 +- app/controllers/users/omniauth_callbacks_controller.rb | 2 ++ app/helpers/application_helper.rb | 1 + app/helpers/cache_keys_helper.rb | 2 ++ app/helpers/flags_helper.rb | 2 ++ app/helpers/stats_helper.rb | 1 + app/models/flag.rb | 1 - app/models/organization.rb | 1 - app/models/setting.rb | 1 - 20 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 23af8c91b..625452196 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -1,5 +1,4 @@ class AccountController < ApplicationController - before_action :authenticate_user! before_action :set_account load_and_authorize_resource class: "User" diff --git a/app/controllers/admin/comments_controller.rb b/app/controllers/admin/comments_controller.rb index 0399ccd63..6c1d994ee 100644 --- a/app/controllers/admin/comments_controller.rb +++ b/app/controllers/admin/comments_controller.rb @@ -1,5 +1,4 @@ class Admin::CommentsController < Admin::BaseController - has_filters %w{all with_confirmed_hide} before_filter :load_comment, only: [:confirm_hide, :restore] diff --git a/app/controllers/admin/moderators_controller.rb b/app/controllers/admin/moderators_controller.rb index f2ef6f1c3..e15e9273f 100644 --- a/app/controllers/admin/moderators_controller.rb +++ b/app/controllers/admin/moderators_controller.rb @@ -1,5 +1,4 @@ class Admin::ModeratorsController < Admin::BaseController - load_and_authorize_resource def index diff --git a/app/controllers/admin/organizations_controller.rb b/app/controllers/admin/organizations_controller.rb index 0e704e9a1..e5ba390e1 100644 --- a/app/controllers/admin/organizations_controller.rb +++ b/app/controllers/admin/organizations_controller.rb @@ -1,5 +1,4 @@ class Admin::OrganizationsController < Admin::BaseController - has_filters %w{all pending verified rejected}, only: :index load_and_authorize_resource except: :search diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index ecf7f206a..cf104edf0 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -1,5 +1,4 @@ class Admin::UsersController < Admin::BaseController - has_filters %w{all with_confirmed_hide}, only: :index before_filter :load_user, only: [:confirm_hide, :restore] diff --git a/app/controllers/api/stats_controller.rb b/app/controllers/api/stats_controller.rb index d44262b45..fc0bf3563 100644 --- a/app/controllers/api/stats_controller.rb +++ b/app/controllers/api/stats_controller.rb @@ -1,4 +1,5 @@ class Api::StatsController < Api::ApiController + def show unless params[:events].present? || params[:visits].present? return render json: {}, status: :bad_request @@ -19,4 +20,5 @@ class Api::StatsController < Api::ApiController render json: ds.build end + end diff --git a/app/controllers/moderation/base_controller.rb b/app/controllers/moderation/base_controller.rb index f2a794526..de0c46a79 100644 --- a/app/controllers/moderation/base_controller.rb +++ b/app/controllers/moderation/base_controller.rb @@ -2,9 +2,9 @@ class Moderation::BaseController < ApplicationController layout 'admin' before_action :authenticate_user! + before_action :verify_moderator skip_authorization_check - before_action :verify_moderator private diff --git a/app/controllers/moderation/comments_controller.rb b/app/controllers/moderation/comments_controller.rb index 065516531..40e475b21 100644 --- a/app/controllers/moderation/comments_controller.rb +++ b/app/controllers/moderation/comments_controller.rb @@ -1,6 +1,6 @@ class Moderation::CommentsController < Moderation::BaseController - has_filters %w{all pending_flag_review with_ignored_flag}, only: :index + before_filter :load_comments, only: :index load_and_authorize_resource diff --git a/app/controllers/moderation/debates_controller.rb b/app/controllers/moderation/debates_controller.rb index 5fdd19049..29e01d378 100644 --- a/app/controllers/moderation/debates_controller.rb +++ b/app/controllers/moderation/debates_controller.rb @@ -1,5 +1,4 @@ class Moderation::DebatesController < Moderation::BaseController - has_filters %w{all pending_flag_review with_ignored_flag}, only: :index before_filter :load_debates, only: :index diff --git a/app/controllers/organizations/registrations_controller.rb b/app/controllers/organizations/registrations_controller.rb index 630cc64e4..6445622e2 100644 --- a/app/controllers/organizations/registrations_controller.rb +++ b/app/controllers/organizations/registrations_controller.rb @@ -1,4 +1,5 @@ class Organizations::RegistrationsController < Devise::RegistrationsController + def new super do |user| user.build_organization diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 784906618..11f715960 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -1,5 +1,4 @@ class PagesController < ApplicationController - skip_authorization_check def census_terms diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb index 1e76feb42..fe224eb8d 100644 --- a/app/controllers/stats_controller.rb +++ b/app/controllers/stats_controller.rb @@ -1,6 +1,6 @@ class StatsController < ApplicationController - skip_authorization_check before_action :verify_administrator + skip_authorization_check def show @event_types = Ahoy::Event.select(:name).uniq.pluck(:name) diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index 8588ba243..423ecedad 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -1,4 +1,5 @@ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController + def self.provides_callback_for(provider) class_eval %Q{ def #{provider} @@ -26,4 +27,5 @@ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController finish_signup_path end end + end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 77afc1317..33fc7e0fa 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,4 +1,5 @@ module ApplicationHelper + def percentage(vote, debate) return "0%" if debate.total_votes == 0 debate.send(vote).percent_of(debate.total_votes).to_s + "%" diff --git a/app/helpers/cache_keys_helper.rb b/app/helpers/cache_keys_helper.rb index 9aa6000cc..38445ae02 100644 --- a/app/helpers/cache_keys_helper.rb +++ b/app/helpers/cache_keys_helper.rb @@ -1,4 +1,5 @@ module CacheKeysHelper + def locale_and_user_status @cache_key_user ||= calculate_user_status "#{I18n.locale}/#{@cache_key_user}" @@ -17,4 +18,5 @@ module CacheKeysHelper user_status end + end \ No newline at end of file diff --git a/app/helpers/flags_helper.rb b/app/helpers/flags_helper.rb index b54c86b48..b5ba67f41 100644 --- a/app/helpers/flags_helper.rb +++ b/app/helpers/flags_helper.rb @@ -1,4 +1,5 @@ module FlagsHelper + def show_flag_action?(flaggable) current_user && !own_flaggable?(flaggable) && !flagged?(flaggable) end @@ -24,4 +25,5 @@ module FlagsHelper flaggable.author_id == current_user.id end end + end diff --git a/app/helpers/stats_helper.rb b/app/helpers/stats_helper.rb index e517767e3..b852afe9c 100644 --- a/app/helpers/stats_helper.rb +++ b/app/helpers/stats_helper.rb @@ -1,4 +1,5 @@ module StatsHelper + def events_chart_tag(events, opt={}) events = events.join(',') if events.is_a? Array opt[:data] ||= {} diff --git a/app/models/flag.rb b/app/models/flag.rb index a8be6da76..2d13d26d9 100644 --- a/app/models/flag.rb +++ b/app/models/flag.rb @@ -1,5 +1,4 @@ class Flag < ActiveRecord::Base - belongs_to :user belongs_to :flaggable, polymorphic: true, counter_cache: true diff --git a/app/models/organization.rb b/app/models/organization.rb index a4561ba7f..fa991fc05 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -1,5 +1,4 @@ class Organization < ActiveRecord::Base - belongs_to :user validates :name, presence: true diff --git a/app/models/setting.rb b/app/models/setting.rb index 8e1504bf3..f696ceefd 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -1,5 +1,4 @@ class Setting < ActiveRecord::Base - validates :key, presence: true, uniqueness: true default_scope { order(key: :desc) } From 10127f546e613922a0c70017e2676829150f5274 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Thu, 3 Sep 2015 01:40:24 +0200 Subject: [PATCH 4/4] upgrade before_filter to new syntax --- app/controllers/admin/comments_controller.rb | 2 +- app/controllers/admin/debates_controller.rb | 2 +- app/controllers/admin/users_controller.rb | 2 +- app/controllers/concerns/has_filters.rb | 2 +- app/controllers/moderation/comments_controller.rb | 2 +- app/controllers/moderation/debates_controller.rb | 2 +- app/controllers/users/registrations_controller.rb | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/controllers/admin/comments_controller.rb b/app/controllers/admin/comments_controller.rb index 6c1d994ee..3ca25b23a 100644 --- a/app/controllers/admin/comments_controller.rb +++ b/app/controllers/admin/comments_controller.rb @@ -1,7 +1,7 @@ class Admin::CommentsController < Admin::BaseController has_filters %w{all with_confirmed_hide} - before_filter :load_comment, only: [:confirm_hide, :restore] + before_action :load_comment, only: [:confirm_hide, :restore] def index @comments = Comment.only_hidden.send(@current_filter).page(params[:page]) diff --git a/app/controllers/admin/debates_controller.rb b/app/controllers/admin/debates_controller.rb index 23edb01f5..da1acc7fe 100644 --- a/app/controllers/admin/debates_controller.rb +++ b/app/controllers/admin/debates_controller.rb @@ -1,7 +1,7 @@ class Admin::DebatesController < Admin::BaseController has_filters %w{all with_confirmed_hide}, only: :index - before_filter :load_debate, only: [:confirm_hide, :restore] + before_action :load_debate, only: [:confirm_hide, :restore] def index @debates = Debate.only_hidden.send(@current_filter).page(params[:page]) diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index cf104edf0..8bbbcdc8c 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -1,7 +1,7 @@ class Admin::UsersController < Admin::BaseController has_filters %w{all with_confirmed_hide}, only: :index - before_filter :load_user, only: [:confirm_hide, :restore] + before_action :load_user, only: [:confirm_hide, :restore] def index @users = User.only_hidden.send(@current_filter).page(params[:page]) diff --git a/app/controllers/concerns/has_filters.rb b/app/controllers/concerns/has_filters.rb index 3dd3cc295..eeca1745f 100644 --- a/app/controllers/concerns/has_filters.rb +++ b/app/controllers/concerns/has_filters.rb @@ -3,7 +3,7 @@ module HasFilters class_methods do def has_filters(valid_filters, *args) - before_filter(*args) do + before_action(*args) do @valid_filters = valid_filters @current_filter = params[:filter] @current_filter = @valid_filters.first unless @valid_filters.include?(@current_filter) diff --git a/app/controllers/moderation/comments_controller.rb b/app/controllers/moderation/comments_controller.rb index 40e475b21..b53785e81 100644 --- a/app/controllers/moderation/comments_controller.rb +++ b/app/controllers/moderation/comments_controller.rb @@ -1,7 +1,7 @@ class Moderation::CommentsController < Moderation::BaseController has_filters %w{all pending_flag_review with_ignored_flag}, only: :index - before_filter :load_comments, only: :index + before_action :load_comments, only: :index load_and_authorize_resource diff --git a/app/controllers/moderation/debates_controller.rb b/app/controllers/moderation/debates_controller.rb index 29e01d378..85441d3f2 100644 --- a/app/controllers/moderation/debates_controller.rb +++ b/app/controllers/moderation/debates_controller.rb @@ -1,7 +1,7 @@ class Moderation::DebatesController < Moderation::BaseController has_filters %w{all pending_flag_review with_ignored_flag}, only: :index - before_filter :load_debates, only: :index + before_action :load_debates, only: :index load_and_authorize_resource diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb index 7c8ad9535..112d8f8b0 100644 --- a/app/controllers/users/registrations_controller.rb +++ b/app/controllers/users/registrations_controller.rb @@ -1,5 +1,5 @@ class Users::RegistrationsController < Devise::RegistrationsController - prepend_before_filter :authenticate_scope!, only: [:edit, :update, :destroy, :finish_signup, :do_finish_signup] + prepend_before_action :authenticate_scope!, only: [:edit, :update, :destroy, :finish_signup, :do_finish_signup] def create build_resource(sign_up_params)