diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 8bcb5f4d0..496778e5f 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -25,7 +25,7 @@ class AccountController < ApplicationController if @account.organization? params.require(:account).permit(:phone_number, :email_on_comment, :email_on_comment_reply, :newsletter, organization_attributes: [:name, :responsible_name]) else - params.require(:account).permit(:username, :public_activity, :email_on_comment, :email_on_comment_reply, :email_on_proposal_notification, :email_digest, :newsletter) + params.require(:account).permit(:username, :public_activity, :email_on_comment, :email_on_comment_reply, :email_on_proposal_notification, :email_on_direct_message, :email_digest, :newsletter) end end diff --git a/app/views/account/show.html.erb b/app/views/account/show.html.erb index 2180ce5f9..3d93bc705 100644 --- a/app/views/account/show.html.erb +++ b/app/views/account/show.html.erb @@ -87,6 +87,15 @@ <% end %> +
+ <%= f.label :email_on_direct_message do %> + <%= f.check_box :email_on_direct_message, title: t('account.show.email_on_direct_message_label'), label: false %> + + <%= t("account.show.email_on_direct_message_label") %> + + <% end %> +
+ <%= f.submit t("account.show.save_changes_submit"), class: "button" %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 0051fef5c..de1f1a485 100755 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -16,6 +16,7 @@ en: save_changes_submit: Save changes subscription_to_website_newsletter_label: Receive by email website relevant information email_on_proposal_notification_label: Receive by email notifications about proposals + email_on_direct_message_label: Receive emails about direct messages email_digest_label: Receive a summary of proposal notifications title: My account user_permission_debates: Participate on debates diff --git a/config/locales/es.yml b/config/locales/es.yml index 7898cbd65..c5fa39c91 100755 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -16,6 +16,7 @@ es: save_changes_submit: Guardar cambios subscription_to_website_newsletter_label: Recibir emails con información interesante sobre la web email_on_proposal_notification_label: Recibir emails con notificaciones sobre propuestas + email_on_direct_message_label: Recibir emails con mensajes directos email_digest_label: Recibir resumen de notificaciones sobre propuestas title: Mi cuenta user_permission_debates: Participar en debates diff --git a/db/migrate/20160614160949_add_email_on_direct_messages_to_users.rb b/db/migrate/20160614160949_add_email_on_direct_messages_to_users.rb new file mode 100644 index 000000000..db18e3f27 --- /dev/null +++ b/db/migrate/20160614160949_add_email_on_direct_messages_to_users.rb @@ -0,0 +1,5 @@ +class AddEmailOnDirectMessagesToUsers < ActiveRecord::Migration + def change + add_column :users, :email_on_direct_message, :boolean, default: true + end +end diff --git a/db/schema.rb b/db/schema.rb index c4fddf324..f5671b3a3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20160613150659) do +ActiveRecord::Schema.define(version: 20160614160949) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -461,6 +461,7 @@ ActiveRecord::Schema.define(version: 20160613150659) do t.datetime "date_of_birth" t.boolean "email_on_proposal_notification", default: true t.boolean "email_digest", default: true + t.boolean "email_on_direct_message", default: true end add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree diff --git a/spec/features/account_spec.rb b/spec/features/account_spec.rb index f8ebf4e3a..b41d676d4 100644 --- a/spec/features/account_spec.rb +++ b/spec/features/account_spec.rb @@ -37,6 +37,7 @@ feature 'Account' do check 'account_email_on_comment_reply' uncheck 'account_email_on_proposal_notification' uncheck 'account_email_digest' + uncheck 'account_email_on_direct_message' click_button 'Save changes' expect(page).to have_content "Changes saved" @@ -47,6 +48,7 @@ feature 'Account' do expect(find("#account_email_on_comment")).to be_checked expect(find("#account_email_on_comment_reply")).to be_checked expect(find("#account_email_digest")).to_not be_checked + expect(find("#account_email_on_direct_message")).to_not be_checked end scenario 'Edit Organization' do diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index e9c05eeb3..698c4884c 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -95,6 +95,12 @@ describe User do expect(subject.email_digest).to eq(true) end end + + describe 'email_on_direct_message' do + it 'should be true by default' do + expect(subject.email_on_direct_message).to eq(true) + end + end end describe "administrator?" do