diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb
index 671d0b3a4..a82017f16 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, :recommended_debates]
+ :official_position_badge, :recommended_debates, :recommended_proposals]
end
params.require(:account).permit(*attributes)
end
diff --git a/app/controllers/proposals_controller.rb b/app/controllers/proposals_controller.rb
index ee4b9f1d6..c280f9962 100644
--- a/app/controllers/proposals_controller.rb
+++ b/app/controllers/proposals_controller.rb
@@ -146,6 +146,7 @@ class ProposalsController < ApplicationController
end
def proposals_recommendations
+ return unless current_user.recommended_proposals
@recommended_proposals = Proposal.recommendations(current_user).sort_by_random.limit(3)
end
diff --git a/app/models/proposal.rb b/app/models/proposal.rb
index 4393d0d51..fa80efeed 100644
--- a/app/models/proposal.rb
+++ b/app/models/proposal.rb
@@ -210,8 +210,8 @@ class Proposal < ActiveRecord::Base
def self.proposals_orders(user)
orders = %w{hot_score confidence_score created_at relevance archival_date}
- orders << "recommendations" if user.present?
- orders
+ orders << "recommendations" if user&.recommended_proposals
+ return orders
end
protected
diff --git a/app/views/account/show.html.erb b/app/views/account/show.html.erb
index a982e3f2e..64edd1ae5 100644
--- a/app/views/account/show.html.erb
+++ b/app/views/account/show.html.erb
@@ -123,6 +123,15 @@
<% end %>
+
+ <% if feature?("user.recommendations_on_proposals") %>
+
+ <%= f.check_box :recommended_proposals, title: t("account.show.show_proposals_recommendations"), label: false %>
+
+ <%= t("account.show.show_proposals_recommendations") %>
+
+
+ <% end %>
<% end %>
<%= f.submit t("account.show.save_changes_submit"), class: "button margin-top" %>
diff --git a/app/views/proposals/index.html.erb b/app/views/proposals/index.html.erb
index 95748bf80..2d4121c30 100644
--- a/app/views/proposals/index.html.erb
+++ b/app/views/proposals/index.html.erb
@@ -37,7 +37,7 @@
<%= render "shared/section_header", i18n_namespace: "proposals.index.section_header", image: "proposals" %>
<% end %>
- <% if feature?("user.recommendations_on_proposals") && @recommended_proposals.present? %>
+ <% if @recommended_proposals.present? %>
<%= render "shared/recommended_index", recommended: @recommended_proposals %>
<% end %>
diff --git a/config/locales/en/general.yml b/config/locales/en/general.yml
index d76a777cc..b0afb62c7 100644
--- a/config/locales/en/general.yml
+++ b/config/locales/en/general.yml
@@ -22,6 +22,7 @@ en:
official_position_badge_label: Show official position badge
recommendations: Recommendations
show_debates_recommendations: Show debates recommendations
+ show_proposals_recommendations: Show proposals 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 87dc0f285..2708e1903 100644
--- a/config/locales/es/general.yml
+++ b/config/locales/es/general.yml
@@ -22,6 +22,7 @@ es:
official_position_badge_label: Mostrar etiqueta de tipo de usuario
recommendations: Recomendaciones
show_debates_recommendations: Mostrar recomendaciones en el listado de debates
+ show_proposals_recommendations: Mostrar recomendaciones en el listado de propuestas
title: Mi cuenta
user_permission_debates: Participar en debates
user_permission_info: Con tu cuenta ya puedes...
diff --git a/db/migrate/20180604151014_add_recommended_proposals_setting_to_users.rb b/db/migrate/20180604151014_add_recommended_proposals_setting_to_users.rb
new file mode 100644
index 000000000..53a59e210
--- /dev/null
+++ b/db/migrate/20180604151014_add_recommended_proposals_setting_to_users.rb
@@ -0,0 +1,7 @@
+class AddRecommendedProposalsSettingToUsers < ActiveRecord::Migration
+ def change
+ change_table :users do |t|
+ t.boolean :recommended_proposals, default: false
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 285e95c45..d1d714c89 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1157,6 +1157,7 @@ ActiveRecord::Schema.define(version: 20180519132610) do
t.text "former_users_data_log", default: ""
t.boolean "public_interests", default: false
t.boolean "recommended_debates", default: false
+ t.boolean "recommended_proposals", default: false
end
add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree