From f87b51fda899a07c064c27de74bd56b974b5e3a5 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Sun, 16 Apr 2017 13:37:01 -0400 Subject: I18n health warnings (#1949) * Rename admin.domain_block to admin.domain_blocks in prep for i18n improvement * Use implicit controller/action path for i18n in admin/domain_blocks * Add DomainBlock#accounts has_many * Avoid i18n health warning for `en` locale by using symbol scope with :count * Remove unused i18n key: plaintext_secret_html * Remove unused i18n key two_factor_auth.warning * Remove final will_paginate i18n keys * Remove unused key two_factor_auth.recovery_codes * Remove unused key: admin.reports.comment.none * Remove unused reports. i18n namespace (moved to admin.reports) * Ignore keys from locales which override activemodel and activerecord errors * Revert "Remove unused key: admin.reports.comment.none" This reverts commit 350ef2685fadc069e619bb6d1066190de195d942. * Update i18n key reference to match moved location * Add missing `en` keys to i18n * Tell i18n-tasks to ignore missing attributes that dont need overwriting * Add i18n-tasks unused to travis --- app/controllers/admin/domain_blocks_controller.rb | 4 ++-- app/mailers/notification_mailer.rb | 7 ++++++- app/models/domain_block.rb | 3 +++ app/views/admin/domain_blocks/index.html.haml | 14 +++++++------- app/views/admin/domain_blocks/new.html.haml | 14 +++++++------- app/views/admin/domain_blocks/show.html.haml | 12 +++++++++--- app/views/admin/reports/show.html.haml | 2 +- 7 files changed, 35 insertions(+), 21 deletions(-) (limited to 'app') diff --git a/app/controllers/admin/domain_blocks_controller.rb b/app/controllers/admin/domain_blocks_controller.rb index 5d146d946..1932dc6a8 100644 --- a/app/controllers/admin/domain_blocks_controller.rb +++ b/app/controllers/admin/domain_blocks_controller.rb @@ -15,7 +15,7 @@ module Admin if @domain_block.save DomainBlockWorker.perform_async(@domain_block.id) - redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_block.created_msg') + redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.created_msg') else render action: :new end @@ -28,7 +28,7 @@ module Admin def destroy @domain_block = DomainBlock.find(params[:id]) UnblockDomainService.new.call(@domain_block, resource_params[:retroactive]) - redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_block.destroyed_msg') + redirect_to admin_domain_blocks_path, notice: I18n.t('admin.domain_blocks.destroyed_msg') end private diff --git a/app/mailers/notification_mailer.rb b/app/mailers/notification_mailer.rb index bf4c16e43..a163edd3c 100644 --- a/app/mailers/notification_mailer.rb +++ b/app/mailers/notification_mailer.rb @@ -59,7 +59,12 @@ class NotificationMailer < ApplicationMailer return if @notifications.empty? I18n.with_locale(@me.user.locale || I18n.default_locale) do - mail to: @me.user.email, subject: I18n.t('notification_mailer.digest.subject', count: @notifications.size) + mail to: @me.user.email, + subject: I18n.t( + :subject, + scope: [:notification_mailer, :digest], + count: @notifications.size + ) end end end diff --git a/app/models/domain_block.rb b/app/models/domain_block.rb index 89c81f766..baf5c3973 100644 --- a/app/models/domain_block.rb +++ b/app/models/domain_block.rb @@ -7,6 +7,9 @@ class DomainBlock < ApplicationRecord validates :domain, presence: true, uniqueness: true + has_many :accounts, foreign_key: :domain, primary_key: :domain + delegate :count, to: :accounts, prefix: true + def self.blocked?(domain) where(domain: domain, severity: :suspend).exists? end diff --git a/app/views/admin/domain_blocks/index.html.haml b/app/views/admin/domain_blocks/index.html.haml index da9a07bbc..bdef4294e 100644 --- a/app/views/admin/domain_blocks/index.html.haml +++ b/app/views/admin/domain_blocks/index.html.haml @@ -1,24 +1,24 @@ - content_for :page_title do - = t('admin.domain_block.title') + = t('admin.domain_blocks.title') %table.table %thead %tr - %th= t('admin.domain_block.domain') - %th= t('admin.domain_block.severity') - %th= t('admin.domain_block.reject_media') + %th= t('admin.domain_blocks.domain') + %th= t('admin.domain_blocks.severity') + %th= t('admin.domain_blocks.reject_media') %th %tbody - @blocks.each do |block| %tr %td %samp= block.domain - %td= t("admin.domain_block.severities.#{block.severity}") + %td= t("admin.domain_blocks.severities.#{block.severity}") %td - if block.reject_media? || block.suspend? %i.fa.fa-check %td - = table_link_to 'undo', t('admin.domain_block.undo'), admin_domain_block_path(block) + = table_link_to 'undo', t('admin.domain_blocks.undo'), admin_domain_block_path(block) = paginate @blocks -= link_to t('admin.domain_block.add_new'), new_admin_domain_block_path, class: 'button' += link_to t('admin.domain_blocks.add_new'), new_admin_domain_block_path, class: 'button' diff --git a/app/views/admin/domain_blocks/new.html.haml b/app/views/admin/domain_blocks/new.html.haml index 603faeb55..38fa90169 100644 --- a/app/views/admin/domain_blocks/new.html.haml +++ b/app/views/admin/domain_blocks/new.html.haml @@ -1,17 +1,17 @@ - content_for :page_title do - = t('admin.domain_block.new.title') + = t('.title') = simple_form_for @domain_block, url: admin_domain_blocks_path do |f| = render 'shared/error_messages', object: @domain_block - %p.hint= t('admin.domain_block.new.hint') + %p.hint= t('.hint') - = f.input :domain, placeholder: t('admin.domain_block.domain') - = f.input :severity, collection: DomainBlock.severities.keys, wrapper: :with_label, include_blank: false, label_method: lambda { |type| I18n.t("admin.domain_block.new.severity.#{type}") } + = f.input :domain, placeholder: t('admin.domain_blocks.domain') + = f.input :severity, collection: DomainBlock.severities.keys, wrapper: :with_label, include_blank: false, label_method: lambda { |type| t(".severity.#{type}") } - %p.hint= t('admin.domain_block.new.severity.desc_html') + %p.hint= t('.severity.desc_html') - = f.input :reject_media, as: :boolean, wrapper: :with_label, label: I18n.t('admin.domain_block.reject_media'), hint: I18n.t('admin.domain_block.reject_media_hint') + = f.input :reject_media, as: :boolean, wrapper: :with_label, label: I18n.t('admin.domain_blocks.reject_media'), hint: I18n.t('admin.domain_blocks.reject_media_hint') .actions - = f.button :button, t('admin.domain_block.new.create'), type: :submit + = f.button :button, t('.create'), type: :submit diff --git a/app/views/admin/domain_blocks/show.html.haml b/app/views/admin/domain_blocks/show.html.haml index bf9011c52..70dfef9b2 100644 --- a/app/views/admin/domain_blocks/show.html.haml +++ b/app/views/admin/domain_blocks/show.html.haml @@ -1,9 +1,15 @@ - content_for :page_title do - = t('admin.domain_block.show.title', domain: @domain_block.domain) + = t('admin.domain_blocks.show.title', domain: @domain_block.domain) = simple_form_for @domain_block, url: admin_domain_block_path(@domain_block), method: :delete do |f| - = f.input :retroactive, as: :boolean, wrapper: :with_label, label: I18n.t("admin.domain_block.show.retroactive.#{@domain_block.severity}"), hint: I18n.t('admin.domain_block.show.affected_accounts', count: Account.where(domain: @domain_block.domain).count) + = f.input :retroactive, + as: :boolean, + wrapper: :with_label, + label: t(".retroactive.#{@domain_block.severity}"), + hint: t(:affected_accounts, + scope: [:admin, :domain_blocks, :show], + count: @domain_block.accounts_count) .actions - = f.button :button, t('admin.domain_block.show.undo'), type: :submit + = f.button :button, t('.undo'), type: :submit diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml index 5391d99a8..aa144170d 100644 --- a/app/views/admin/reports/show.html.haml +++ b/app/views/admin/reports/show.html.haml @@ -12,7 +12,7 @@ %p %strong= t('admin.reports.comment.label') \: - = @report.comment.presence || t('reports.comment.none') + = @report.comment.presence || t('admin.reports.comment.none') - unless @report.statuses.empty? %hr/ -- cgit