diff --git a/app/views/budgets/investments/_comments.html.erb b/app/views/budgets/investments/_comments.html.erb
new file mode 100644
index 000000000..bc5ad6540
--- /dev/null
+++ b/app/views/budgets/investments/_comments.html.erb
@@ -0,0 +1,41 @@
+<% commentable = comment_tree.commentable %>
+<% current_order = comment_tree.order %>
+
+<% cache [locale_and_user_status, current_order, commentable_cache_key(commentable), comment_tree.comments, comment_tree.comment_authors, commentable.comments_count, comment_flags] do %>
+
+<% end %>
diff --git a/app/views/budgets/investments/_filter_subnav.html.erb b/app/views/budgets/investments/_filter_subnav.html.erb
new file mode 100644
index 000000000..7fc87fc82
--- /dev/null
+++ b/app/views/budgets/investments/_filter_subnav.html.erb
@@ -0,0 +1,22 @@
+
+
+
+ -
+ <%= link_to "#tab-comments" do %>
+
+ <%= t("budgets.investments.show.comments_tab") %>
+
+
+ <% end %>
+
+ -
+ <%= link_to "#tab-milestones" do %>
+
+ <%= t("budgets.investments.show.milestones_tab") %>
+ (<%= @investment.milestones.count %>)
+
+ <% end %>
+
+
+
+
diff --git a/app/views/budgets/investments/_milestones.html.erb b/app/views/budgets/investments/_milestones.html.erb
new file mode 100644
index 000000000..36787e0eb
--- /dev/null
+++ b/app/views/budgets/investments/_milestones.html.erb
@@ -0,0 +1,16 @@
+
+
+
+ <% if @investment.milestones.blank? %>
+
+ <%= t('budgets.investments.show.no_milestones') %>
+
+ <% end %>
+
+ <% @investment.milestones.each do |milestone| %>
+
<%= milestone.title %>
+
<%= milestone.description %>
+ <% end %>
+
+
+
diff --git a/app/views/budgets/investments/show.html.erb b/app/views/budgets/investments/show.html.erb
index 73861697e..dede17d66 100644
--- a/app/views/budgets/investments/show.html.erb
+++ b/app/views/budgets/investments/show.html.erb
@@ -10,4 +10,11 @@
ballot: @ballot
} %>
-<%= render partial: '/comments/comment_tree', locals: { comment_tree: @comment_tree, comment_flags: @comment_flags } %>
+
+ <%= render "budgets/investments/filter_subnav" %>
+ <%= render "budgets/investments/milestones" %>
+
+
+
diff --git a/config/locales/budgets.en.yml b/config/locales/budgets.en.yml
index 905ccce7e..15fb814d6 100644
--- a/config/locales/budgets.en.yml
+++ b/config/locales/budgets.en.yml
@@ -93,6 +93,9 @@ en:
supports: Supports
votes: Votes
price: Price
+ comments_tab: Comments
+ milestones_tab: Milestones
+ no_milestones: Don't have defined milestones
wrong_price_format: Only integer numbers
investment:
add: Vote
@@ -131,4 +134,4 @@ en:
price: Cost
amount_available: Available budget
accepted: "Accepted spending proposal: "
- discarded: "Discarded spending proposal: "
\ No newline at end of file
+ discarded: "Discarded spending proposal: "
diff --git a/config/locales/budgets.es.yml b/config/locales/budgets.es.yml
index 38f8601e8..fce746e39 100644
--- a/config/locales/budgets.es.yml
+++ b/config/locales/budgets.es.yml
@@ -93,6 +93,9 @@ es:
supports: Apoyos
votes: Votos
price: Coste
+ comments_tab: Comentarios
+ milestones_tab: Seguimiento
+ no_milestones: No hay hitos definidos
wrong_price_format: Solo puede incluir caracteres numéricos
investment:
add: Votar
diff --git a/spec/features/budgets/investments_spec.rb b/spec/features/budgets/investments_spec.rb
index e131973da..c8ad40bfb 100644
--- a/spec/features/budgets/investments_spec.rb
+++ b/spec/features/budgets/investments_spec.rb
@@ -389,6 +389,38 @@ feature 'Budget Investments' do
expect(page).to have_content(investment.unfeasibility_explanation)
end
+ scenario "Show milestones", :js do
+ user = create(:user)
+ login_as(user)
+
+ investment = create(:budget_investment)
+ milestone = create(:budget_investment_milestone, investment: investment, title: "New text to show")
+
+ visit budget_investment_path(budget_id: investment.budget.id, id: investment.id)
+
+ find("#tab-milestones-label").trigger('click')
+
+ within("#tab-milestones") do
+ expect(page).to have_content(milestone.title)
+ expect(page).to have_content(milestone.description)
+ end
+ end
+
+ scenario "Show no_milestones text", :js do
+ user = create(:user)
+ login_as(user)
+
+ investment = create(:budget_investment)
+
+ visit budget_investment_path(budget_id: investment.budget.id, id: investment.id)
+
+ find("#tab-milestones-label").trigger('click')
+
+ within("#tab-milestones") do
+ expect(page).to have_content("Don't have defined milestones")
+ end
+ end
+
context "Destroy" do
scenario "Admin cannot destroy budget investments" do
+
+
+