From 00ed1c9b394a458bc08f35311d4ece26139e7e56 Mon Sep 17 00:00:00 2001 From: Justin Ramos <justin@southernmade.co> Date: Wed, 16 Nov 2016 21:16:00 +0000 Subject: [PATCH] check AppConfig.mail.enable? before displaying some view content closes #7190 --- Changelog.md | 1 + app/helpers/sessions_helper.rb | 2 +- app/views/devise/shared/_links.haml | 4 +- app/views/invitations/new.html.haml | 45 +++++++------ app/views/shared/_invitations.haml | 6 +- app/views/users/_edit.haml | 101 ++++++++++++++-------------- 6 files changed, 82 insertions(+), 77 deletions(-) diff --git a/Changelog.md b/Changelog.md index b7fd345347..f17dcabaa0 100644 --- a/Changelog.md +++ b/Changelog.md @@ -4,6 +4,7 @@ * Use string-direction gem for rtl detection [#7181](https://github.com/diaspora/diaspora/pull/7181) * Reduce i18n.load side effects [#7184](https://github.com/diaspora/diaspora/pull/7184) * Force jasmine fails on syntax errors [#7185](https://github.com/diaspora/diaspora/pull/7185) +* Don't display mail-related view content if it is disabled in the pod's config [#7190](https://github.com/diaspora/diaspora/pull/7190) ## Bug fixes * Fix fetching comments after fetching likes [#7167](https://github.com/diaspora/diaspora/pull/7167) diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb index 65a9bdaf45..716b12fed4 100644 --- a/app/helpers/sessions_helper.rb +++ b/app/helpers/sessions_helper.rb @@ -13,7 +13,7 @@ module SessionsHelper end def display_password_reset_link? - devise_mapping.recoverable? && controller_name != "passwords" + AppConfig.mail.enable? && devise_mapping.recoverable? && controller_name != "passwords" end def flash_class(name) diff --git a/app/views/devise/shared/_links.haml b/app/views/devise/shared/_links.haml index 4c37c1ed54..7f36494848 100644 --- a/app/views/devise/shared/_links.haml +++ b/app/views/devise/shared/_links.haml @@ -1,13 +1,13 @@ - if controller_name != 'sessions' = link_to t('.sign_in'), new_session_path(resource_name) %br/ -- if AppConfig.settings.enable_registrations? && devise_mapping.registerable? && controller_name != 'registrations' +- if display_registration_link? = link_to t('.sign_up'), new_registration_path(resource_name) %br/ - else %b= t('.sign_up_closed') %br/ -- if devise_mapping.recoverable? && controller_name != 'passwords' +- if display_password_reset_link? = link_to t('.forgot_your_password'), new_password_path(resource_name) %br/ - if devise_mapping.confirmable? && controller_name != 'confirmations' diff --git a/app/views/invitations/new.html.haml b/app/views/invitations/new.html.haml index 187a6fa12a..8952aead95 100644 --- a/app/views/invitations/new.html.haml +++ b/app/views/invitations/new.html.haml @@ -1,32 +1,33 @@ #paste_link - = t('.paste_link') + = t(".paste_link") %span#codes_left = "(" + t(".codes_left", count: @invite_code.count) + ")" unless AppConfig.settings.enable_registrations? .form-horizontal .control-group = invite_link(@invite_code) -#email_invitation - = form_tag new_user_invitation_path, class: 'form-horizontal' do +- if AppConfig.mail.enable? + #email_invitation + = form_tag new_user_invitation_path, class: "form-horizontal" do - .form-group - %label.col-sm-2.control-label{ for: 'email_inviter_emails' } - = t('email') - .col-sm-10 - = text_field_tag 'email_inviter[emails]', @invalid_emails, title: t('.comma_separated_plz'), - placeholder: 'foo@bar.com, max@foo.com...', class: "form-control" - #already_sent - = t("invitations.create.note_already_sent", emails: @valid_emails) unless @valid_emails.empty? + .form-group + %label.col-sm-2.control-label{for: "email_inviter_emails"} + = t("email") + .col-sm-10 + = text_field_tag "email_inviter[emails]", @invalid_emails, title: t(".comma_separated_plz"), + placeholder: "foo@bar.com, max@foo.com...", class: "form-control" + #already_sent + = t("invitations.create.note_already_sent", emails: @valid_emails) unless @valid_emails.empty? - .form-group - %label.col-sm-2.control-label{ for: 'email_inviter_locale' } - = t('.language') - .col-sm-10 - = select_tag 'email_inviter[locale]', options_from_collection_for_select(available_language_options, - "second", "first", selected: current_user.language), class: "form-control" + .form-group + %label.col-sm-2.control-label{for: "email_inviter_locale"} + = t(".language") + .col-sm-10 + = select_tag "email_inviter[locale]", options_from_collection_for_select(available_language_options, + "second", "first", selected: current_user.language), class: "form-control" - .form-group - .pull-right.col-md-12 - = submit_tag t('.send_an_invitation'), class: 'btn btn-primary pull-right', - data: {disable_with: t('.sending_invitation')} - .clearfix + .form-group + .pull-right.col-md-12 + = submit_tag t(".send_an_invitation"), class: "btn btn-primary pull-right", + data: {disable_with: t(".sending_invitation")} + .clearfix diff --git a/app/views/shared/_invitations.haml b/app/views/shared/_invitations.haml index 2ddd9e6d94..b69a18c736 100644 --- a/app/views/shared/_invitations.haml +++ b/app/views/shared/_invitations.haml @@ -1,7 +1,9 @@ = t(".share_this") = invite_link(current_user.invitation_code) -.invitations-link.btn.btn-link#invitations-button{"data-toggle" => "modal"} - = t(".by_email") + +- if AppConfig.mail.enable? + .invitations-link.btn.btn-link#invitations-button{"data-toggle" => "modal"} + = t(".by_email") - content_for :after_content do = render "shared/modal", diff --git a/app/views/users/_edit.haml b/app/views/users/_edit.haml index af9aea49b2..9a171a9237 100644 --- a/app/views/users/_edit.haml +++ b/app/views/users/_edit.haml @@ -117,58 +117,59 @@ = render partial: "post_default" - .row - .col-md-12 - %h3 - = t(".receive_email_notifications") - = form_for "user", url: edit_user_path, html: {method: :put} do |f| - = f.fields_for :email_preferences do |type| - #email_prefs - - if current_user.admin? - = type.label :someone_reported, class: "checkbox-inline" do - = type.check_box :someone_reported, {checked: @email_prefs["someone_reported"]}, false, true - = t(".someone_reported") - - .small-horizontal-spacer - - = type.label :started_sharing, class: "checkbox-inline" do - = type.check_box :started_sharing, {checked: @email_prefs["started_sharing"]}, false, true - = t(".started_sharing") - .small-horizontal-spacer - - = type.label :mentioned, class: "checkbox-inline" do - = type.check_box :mentioned, {checked: @email_prefs["mentioned"]}, false, true - = t(".mentioned") - .small-horizontal-spacer - - = type.label :liked, class: "checkbox-inline" do - = type.check_box :liked, {checked: @email_prefs["liked"]}, false, true - = t(".liked") - .small-horizontal-spacer - - = type.label :reshared, class: "checkbox-inline" do - = type.check_box :reshared, {checked: @email_prefs["reshared"]}, false, true - = t(".reshared") - .small-horizontal-spacer - - = type.label :comment_on_post, class: "checkbox-inline" do - = type.check_box :comment_on_post, {checked: @email_prefs["comment_on_post"]}, false, true - = t(".comment_on_post") - .small-horizontal-spacer - - = type.label :also_commented, class: "checkbox-inline" do - = type.check_box :also_commented, {checked: @email_prefs["also_commented"]}, false, true - = t(".also_commented") - .small-horizontal-spacer - - = type.label :private_message, class: "checkbox-inline" do - = type.check_box :private_message, {checked: @email_prefs["private_message"]}, false, true - = t(".private_message") + - if AppConfig.mail.enable? + .row + .col-md-12 + %h3 + = t(".receive_email_notifications") + = form_for "user", url: edit_user_path, html: {method: :put} do |f| + = f.fields_for :email_preferences do |type| + #email_prefs + - if current_user.admin? + = type.label :someone_reported, class: "checkbox-inline" do + = type.check_box :someone_reported, {checked: @email_prefs["someone_reported"]}, false, true + = t(".someone_reported") + + .small-horizontal-spacer + + = type.label :started_sharing, class: "checkbox-inline" do + = type.check_box :started_sharing, {checked: @email_prefs["started_sharing"]}, false, true + = t(".started_sharing") + .small-horizontal-spacer + + = type.label :mentioned, class: "checkbox-inline" do + = type.check_box :mentioned, {checked: @email_prefs["mentioned"]}, false, true + = t(".mentioned") + .small-horizontal-spacer + + = type.label :liked, class: "checkbox-inline" do + = type.check_box :liked, {checked: @email_prefs["liked"]}, false, true + = t(".liked") + .small-horizontal-spacer + + = type.label :reshared, class: "checkbox-inline" do + = type.check_box :reshared, {checked: @email_prefs["reshared"]}, false, true + = t(".reshared") + .small-horizontal-spacer + + = type.label :comment_on_post, class: "checkbox-inline" do + = type.check_box :comment_on_post, {checked: @email_prefs["comment_on_post"]}, false, true + = t(".comment_on_post") + .small-horizontal-spacer + + = type.label :also_commented, class: "checkbox-inline" do + = type.check_box :also_commented, {checked: @email_prefs["also_commented"]}, false, true + = t(".also_commented") + .small-horizontal-spacer + + = type.label :private_message, class: "checkbox-inline" do + = type.check_box :private_message, {checked: @email_prefs["private_message"]}, false, true + = t(".private_message") - .small-horizontal-spacer + .small-horizontal-spacer - .clearfix= f.submit t(".change"), class: "btn btn-primary pull-right", id: "change_email_preferences" - %hr + .clearfix= f.submit t(".change"), class: "btn btn-primary pull-right", id: "change_email_preferences" + %hr .row .col-md-6#account_data -- GitLab