Add related content section on proposal dashboard

This commit is contained in:
decabeza
2019-06-06 16:37:24 +02:00
committed by Javi Martín
parent cb6539d170
commit abf04bea4c
9 changed files with 58 additions and 1 deletions

View File

@@ -86,6 +86,17 @@
margin: $line-height 0;
}
.dashboard-related-content {
.related-content {
border-top: 0;
.margin-bottom {
margin-bottom: 0;
}
}
}
// 02. Actions
// -----------

View File

@@ -1,7 +1,7 @@
class DashboardController < Dashboard::BaseController
helper_method :dashboard_action, :active_resources, :course
before_action :set_done_and_pending_actions, only: [:recommended_actions, :progress]
before_action :authorize_dashboard, only: [:show, :progress, :community, :recommended_actions, :messages]
before_action :authorize_dashboard, except: :publish
def show
end
@@ -25,6 +25,10 @@ class DashboardController < Dashboard::BaseController
def messages
end
def related_content
@related_contents = Kaminari.paginate_array(proposal.relationed_contents).page(params[:page]).per(5)
end
private
def active_resources

View File

@@ -11,6 +11,10 @@ module ProposalsDashboardHelper
controller_name == "dashboard" && action_name == "messages"
end
def related_content_menu_active?
controller_name == "dashboard" && action_name == "related_content"
end
def progress_menu_active?
is_proposed_action_request? || (controller_name == "dashboard" && action_name == "progress")
end

View File

@@ -96,4 +96,11 @@
<strong><%= t("dashboard.menu.messages") %></strong>
<% end %>
</li>
<li class="section-title <%= "is-active" if related_content_menu_active? %>">
<span class="icon-comments"></span>
<%= link_to related_content_proposal_dashboard_path(proposal) do %>
<strong><%= t("dashboard.menu.related_content") %></strong>
<% end %>
</li>
</ul>

View File

@@ -0,0 +1,3 @@
<div class="dashboard-related-content">
<%= render "relationable/related_content", relationable: @proposal %>
</div>

View File

@@ -488,6 +488,7 @@ en:
poster: Poster
recommended_actions: Recommended actions
messages: Message to users
related_content: Related content
form:
request: Request
create_request:

View File

@@ -488,6 +488,7 @@ es:
poster: Póster
recommended_actions: Acciones recomendadas
messages: Mensajes a usuarios
related_content: Contenido relacionado
form:
request: Solicitar
create_request:

View File

@@ -6,6 +6,7 @@ resources :proposals do
get :community
get :recommended_actions
get :messages
get :related_content
end
resources :resources, only: [:index], controller: "dashboard/resources"

View File

@@ -389,6 +389,31 @@ describe "Proposal's dashboard" do
anchor: "tab-notifications"))
end
scenario "Dashboard has a related content section" do
related_debate = create(:debate)
related_proposal = create(:proposal)
create(:related_content, parent_relationable: proposal,
child_relationable: related_debate, author: build(:user))
create(:related_content, parent_relationable: proposal,
child_relationable: related_proposal, author: build(:user))
within("#side_menu") do
click_link "Related content"
end
expect(page).to have_button("Add related content")
within(".dashboard-related-content") do
expect(page).to have_content("Related content (2)")
expect(page).to have_selector(".related-content-title", text: "Proposal")
expect(page).to have_link related_proposal.title
expect(page).to have_selector(".related-content-title", text: "Debate")
expect(page).to have_link related_debate.title
end
end
scenario "On recommended actions section display from the fourth proposed actions
when click see_proposed_actions_link", js: true do
create_list(:dashboard_action, 4, :proposed_action, :active)