diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb
index fad581dc6..671d0b3a4 100644
--- a/app/controllers/account_controller.rb
+++ b/app/controllers/account_controller.rb
@@ -28,7 +28,7 @@ class AccountController < ApplicationController
else
[:username, :public_activity, :public_interests, :email_on_comment,
:email_on_comment_reply, :email_on_direct_message, :email_digest, :newsletter,
- :official_position_badge]
+ :official_position_badge, :recommended_debates]
end
params.require(:account).permit(*attributes)
end
diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb
index 33817166b..1180b9b6c 100644
--- a/app/controllers/debates_controller.rb
+++ b/app/controllers/debates_controller.rb
@@ -59,6 +59,8 @@ class DebatesController < ApplicationController
end
def debates_recommendations
+ return unless current_user.recommended_debates
@recommended_debates = Debate.recommendations(current_user).sort_by_random.limit(3)
end
+
end
diff --git a/app/models/debate.rb b/app/models/debate.rb
index ec58b2e23..e44d45420 100644
--- a/app/models/debate.rb
+++ b/app/models/debate.rb
@@ -151,7 +151,7 @@ class Debate < ActiveRecord::Base
def self.debates_orders(user)
orders = %w{hot_score confidence_score created_at relevance}
- orders << "recommendations" if user.present?
- orders
+ orders << "recommendations" if user&.recommended_debates
+ return orders
end
end
diff --git a/app/views/account/show.html.erb b/app/views/account/show.html.erb
index 81b25e5e0..a982e3f2e 100644
--- a/app/views/account/show.html.erb
+++ b/app/views/account/show.html.erb
@@ -112,6 +112,19 @@
<% end %>
+ <% if feature?("user.recommendations") %>
+
<%= t("account.show.recommendations") %>
+
+ <% if feature?("user.recommendations_on_debates") %>
+
+ <%= f.check_box :recommended_debates, title: t("account.show.show_debates_recommendations"), label: false %>
+
+ <%= t("account.show.show_debates_recommendations") %>
+
+
+ <% end %>
+ <% end %>
+
<%= f.submit t("account.show.save_changes_submit"), class: "button margin-top" %>
diff --git a/app/views/debates/index.html.erb b/app/views/debates/index.html.erb
index 478103ed1..edf2a93d6 100644
--- a/app/views/debates/index.html.erb
+++ b/app/views/debates/index.html.erb
@@ -35,7 +35,7 @@
<%= render "shared/section_header", i18n_namespace: "debates.index.section_header", image: "debates" %>
<% end %>
- <% if feature?("user.recommendations_on_debates") && @recommended_debates.present? %>
+ <% if @recommended_debates.present? %>
<%= render "shared/recommended_index", recommended: @recommended_debates %>
<% end %>
diff --git a/config/locales/en/general.yml b/config/locales/en/general.yml
index 3916e2ba7..d76a777cc 100644
--- a/config/locales/en/general.yml
+++ b/config/locales/en/general.yml
@@ -20,6 +20,8 @@ en:
email_on_direct_message_label: Receive emails about direct messages
email_digest_label: Receive a summary of proposal notifications
official_position_badge_label: Show official position badge
+ recommendations: Recommendations
+ show_debates_recommendations: Show debates recommendations
title: My account
user_permission_debates: Participate on debates
user_permission_info: With your account you can...
diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml
index e9c83ac9e..87dc0f285 100644
--- a/config/locales/es/general.yml
+++ b/config/locales/es/general.yml
@@ -20,6 +20,8 @@ es:
email_on_direct_message_label: Recibir emails con mensajes privados
email_digest_label: Recibir resumen de notificaciones sobre propuestas
official_position_badge_label: Mostrar etiqueta de tipo de usuario
+ recommendations: Recomendaciones
+ show_debates_recommendations: Mostrar recomendaciones en el listado de debates
title: Mi cuenta
user_permission_debates: Participar en debates
user_permission_info: Con tu cuenta ya puedes...
diff --git a/db/migrate/20180604124515_add_recommended_debates_setting_to_users.rb b/db/migrate/20180604124515_add_recommended_debates_setting_to_users.rb
new file mode 100644
index 000000000..500f1f4fc
--- /dev/null
+++ b/db/migrate/20180604124515_add_recommended_debates_setting_to_users.rb
@@ -0,0 +1,7 @@
+class AddRecommendedDebatesSettingToUsers < ActiveRecord::Migration
+ def change
+ change_table :users do |t|
+ t.boolean :recommended_debates, default: false
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 54794367d..285e95c45 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1156,6 +1156,7 @@ ActiveRecord::Schema.define(version: 20180519132610) do
t.integer "failed_email_digests_count", default: 0
t.text "former_users_data_log", default: ""
t.boolean "public_interests", default: false
+ t.boolean "recommended_debates", default: false
end
add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree