Enable 'Recommended proposals' setting for users

This commit is contained in:
Angel Perez
2018-06-04 11:29:02 -04:00
parent 522c206f6d
commit a58f6a2662
9 changed files with 24 additions and 4 deletions

View File

@@ -28,7 +28,7 @@ class AccountController < ApplicationController
else else
[:username, :public_activity, :public_interests, :email_on_comment, [:username, :public_activity, :public_interests, :email_on_comment,
:email_on_comment_reply, :email_on_direct_message, :email_digest, :newsletter, :email_on_comment_reply, :email_on_direct_message, :email_digest, :newsletter,
:official_position_badge, :recommended_debates] :official_position_badge, :recommended_debates, :recommended_proposals]
end end
params.require(:account).permit(*attributes) params.require(:account).permit(*attributes)
end end

View File

@@ -146,6 +146,7 @@ class ProposalsController < ApplicationController
end end
def proposals_recommendations def proposals_recommendations
return unless current_user.recommended_proposals
@recommended_proposals = Proposal.recommendations(current_user).sort_by_random.limit(3) @recommended_proposals = Proposal.recommendations(current_user).sort_by_random.limit(3)
end end

View File

@@ -210,8 +210,8 @@ class Proposal < ActiveRecord::Base
def self.proposals_orders(user) def self.proposals_orders(user)
orders = %w{hot_score confidence_score created_at relevance archival_date} orders = %w{hot_score confidence_score created_at relevance archival_date}
orders << "recommendations" if user.present? orders << "recommendations" if user&.recommended_proposals
orders return orders
end end
protected protected

View File

@@ -123,6 +123,15 @@
</span> </span>
</div> </div>
<% end %> <% end %>
<% if feature?("user.recommendations_on_proposals") %>
<div>
<%= f.check_box :recommended_proposals, title: t("account.show.show_proposals_recommendations"), label: false %>
<span class="checkbox">
<%= t("account.show.show_proposals_recommendations") %>
</span>
</div>
<% end %>
<% end %> <% end %>
<%= f.submit t("account.show.save_changes_submit"), class: "button margin-top" %> <%= f.submit t("account.show.save_changes_submit"), class: "button margin-top" %>

View File

@@ -37,7 +37,7 @@
<%= render "shared/section_header", i18n_namespace: "proposals.index.section_header", image: "proposals" %> <%= render "shared/section_header", i18n_namespace: "proposals.index.section_header", image: "proposals" %>
<% end %> <% end %>
<% if feature?("user.recommendations_on_proposals") && @recommended_proposals.present? %> <% if @recommended_proposals.present? %>
<%= render "shared/recommended_index", recommended: @recommended_proposals %> <%= render "shared/recommended_index", recommended: @recommended_proposals %>
<% end %> <% end %>

View File

@@ -22,6 +22,7 @@ en:
official_position_badge_label: Show official position badge official_position_badge_label: Show official position badge
recommendations: Recommendations recommendations: Recommendations
show_debates_recommendations: Show debates recommendations show_debates_recommendations: Show debates recommendations
show_proposals_recommendations: Show proposals recommendations
title: My account title: My account
user_permission_debates: Participate on debates user_permission_debates: Participate on debates
user_permission_info: With your account you can... user_permission_info: With your account you can...

View File

@@ -22,6 +22,7 @@ es:
official_position_badge_label: Mostrar etiqueta de tipo de usuario official_position_badge_label: Mostrar etiqueta de tipo de usuario
recommendations: Recomendaciones recommendations: Recomendaciones
show_debates_recommendations: Mostrar recomendaciones en el listado de debates show_debates_recommendations: Mostrar recomendaciones en el listado de debates
show_proposals_recommendations: Mostrar recomendaciones en el listado de propuestas
title: Mi cuenta title: Mi cuenta
user_permission_debates: Participar en debates user_permission_debates: Participar en debates
user_permission_info: Con tu cuenta ya puedes... user_permission_info: Con tu cuenta ya puedes...

View File

@@ -0,0 +1,7 @@
class AddRecommendedProposalsSettingToUsers < ActiveRecord::Migration
def change
change_table :users do |t|
t.boolean :recommended_proposals, default: false
end
end
end

View File

@@ -1157,6 +1157,7 @@ ActiveRecord::Schema.define(version: 20180519132610) do
t.text "former_users_data_log", default: "" t.text "former_users_data_log", default: ""
t.boolean "public_interests", default: false t.boolean "public_interests", default: false
t.boolean "recommended_debates", default: false t.boolean "recommended_debates", default: false
t.boolean "recommended_proposals", default: false
end end
add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree