Enable 'Recommended proposals' setting for users
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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" %>
|
||||||
|
|||||||
@@ -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 %>
|
||||||
|
|
||||||
|
|||||||
@@ -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...
|
||||||
|
|||||||
@@ -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...
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
class AddRecommendedProposalsSettingToUsers < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
change_table :users do |t|
|
||||||
|
t.boolean :recommended_proposals, default: false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user