Add community to investments
This commit is contained in:
20
app/helpers/communities_helper.rb
Normal file
20
app/helpers/communities_helper.rb
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
module CommunitiesHelper
|
||||||
|
|
||||||
|
def community_title(community)
|
||||||
|
if community.from_proposal?
|
||||||
|
community.proposal.title
|
||||||
|
else
|
||||||
|
investment = Budget::Investment.where(community_id: community.id).first
|
||||||
|
investment.title
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def community_text(community)
|
||||||
|
community.from_proposal? ? t("community.show.title.proposal") : t("community.show.title.investment")
|
||||||
|
end
|
||||||
|
|
||||||
|
def community_description(community)
|
||||||
|
community.from_proposal? ? t("community.show.description.proposal") : t("community.show.description.investment")
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -21,6 +21,7 @@ class Budget
|
|||||||
belongs_to :group
|
belongs_to :group
|
||||||
belongs_to :budget
|
belongs_to :budget
|
||||||
belongs_to :administrator
|
belongs_to :administrator
|
||||||
|
belongs_to :community
|
||||||
|
|
||||||
has_many :valuator_assignments, dependent: :destroy
|
has_many :valuator_assignments, dependent: :destroy
|
||||||
has_many :valuators, through: :valuator_assignments
|
has_many :valuators, through: :valuator_assignments
|
||||||
@@ -71,6 +72,7 @@ class Budget
|
|||||||
|
|
||||||
before_save :calculate_confidence_score
|
before_save :calculate_confidence_score
|
||||||
after_save :recalculate_heading_winners if :incompatible_changed?
|
after_save :recalculate_heading_winners if :incompatible_changed?
|
||||||
|
before_create :associate_community
|
||||||
before_validation :set_responsible_name
|
before_validation :set_responsible_name
|
||||||
before_validation :set_denormalized_ids
|
before_validation :set_denormalized_ids
|
||||||
|
|
||||||
@@ -258,6 +260,11 @@ class Budget
|
|||||||
investments
|
investments
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def associate_community
|
||||||
|
community = Community.create
|
||||||
|
self.community_id = community.id
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def set_denormalized_ids
|
def set_denormalized_ids
|
||||||
|
|||||||
@@ -6,4 +6,9 @@ class Community < ActiveRecord::Base
|
|||||||
def participants
|
def participants
|
||||||
User.community_participants(self)
|
User.community_participants(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def from_proposal?
|
||||||
|
self.proposal.present?
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -123,6 +123,13 @@
|
|||||||
<%= render 'follows/follow_button', follow: find_or_build_follow(current_user, investment) %>
|
<%= render 'follows/follow_button', follow: find_or_build_follow(current_user, investment) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
|
<div class="sidebar-divider"></div>
|
||||||
|
<h2><%= t("community.sidebar.title") %></h2>
|
||||||
|
<p>
|
||||||
|
<%= t("community.sidebar.description") %>
|
||||||
|
</p>
|
||||||
|
<%= link_to t("community.sidebar.button_to_access"), community_path(investment.community_id), class: 'button hollow expanded' %>
|
||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
<div class="jumbo light">
|
<div class="jumbo light">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="small-12 column">
|
<div class="small-12 column">
|
||||||
<h2><%= t("community.show.title") %></h2>
|
<h2><%= community_text(@community) %></h2>
|
||||||
<p class="lead"> <%= @community.proposal.title %> </p>
|
<p class="lead"> <%= community_title(@community) %> </p>
|
||||||
<p><%= t("community.show.description") %> </p>
|
<p><%= community_description(@community) %> </p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<%= render "shared/back_link" %>
|
<%= render "shared/back_link" %>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<p><%= t("community.topic.show.community_of_the_proposal") %> <strong><%= @community.proposal.title %></strong></p>
|
<p><%= t("community.topic.show.community_of_the_proposal") %> <strong><%= community_title(@community) %></strong></p>
|
||||||
<h1><%= @topic.title %></h1>
|
<h1><%= @topic.title %></h1>
|
||||||
<div class="topic-info">
|
<div class="topic-info">
|
||||||
<p><%= @topic.description %></p>
|
<p><%= @topic.description %></p>
|
||||||
|
|||||||
@@ -5,8 +5,12 @@ en:
|
|||||||
description: Partecipa a la comunidad de usuarios, da tu opinión.
|
description: Partecipa a la comunidad de usuarios, da tu opinión.
|
||||||
button_to_access: Access the community
|
button_to_access: Access the community
|
||||||
show:
|
show:
|
||||||
title: Proposal community
|
title:
|
||||||
description: Participate in the community of this proposal
|
proposal: Proposal community
|
||||||
|
investment: Budget Investment community
|
||||||
|
description:
|
||||||
|
proposal: Participate in the community of this proposal
|
||||||
|
investment: Participate in the community of this budget investment
|
||||||
create_first_community_topic: Create the first community topic
|
create_first_community_topic: Create the first community topic
|
||||||
tab:
|
tab:
|
||||||
participants: Participants
|
participants: Participants
|
||||||
|
|||||||
@@ -2,11 +2,15 @@ es:
|
|||||||
community:
|
community:
|
||||||
sidebar:
|
sidebar:
|
||||||
title: Comunidad
|
title: Comunidad
|
||||||
description: Partecipa a la comunidad de usuarios, da tu opinión.
|
description: Participa en la comunidad de usuarios, da tu opinión.
|
||||||
button_to_access: Acceder a la comunidad
|
button_to_access: Acceder a la comunidad
|
||||||
show:
|
show:
|
||||||
title: Comunidad de la propuesta
|
title:
|
||||||
description: Participa en la comunidad de esta propuesta
|
proposal: Comunidad de la propuesta
|
||||||
|
investment: Comunidad del presupuesto participativo
|
||||||
|
description:
|
||||||
|
proposal: Participa en la comunidad de esta propuesta
|
||||||
|
investment: Participa en la comunidad de este presupuesto participativo
|
||||||
create_first_community_topic: Crea el primer tema de la comunidad
|
create_first_community_topic: Crea el primer tema de la comunidad
|
||||||
tab:
|
tab:
|
||||||
paricipants: Participantes
|
paricipants: Participantes
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class AddCommunityToBudgetInvestments < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_reference :budget_investments, :community, index: true, foreign_key: true
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20170807082243) do
|
ActiveRecord::Schema.define(version: 20170822144743) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
@@ -160,10 +160,12 @@ ActiveRecord::Schema.define(version: 20170807082243) do
|
|||||||
t.integer "previous_heading_id"
|
t.integer "previous_heading_id"
|
||||||
t.boolean "winner", default: false
|
t.boolean "winner", default: false
|
||||||
t.boolean "incompatible", default: false
|
t.boolean "incompatible", default: false
|
||||||
|
t.integer "community_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "budget_investments", ["administrator_id"], name: "index_budget_investments_on_administrator_id", using: :btree
|
add_index "budget_investments", ["administrator_id"], name: "index_budget_investments_on_administrator_id", using: :btree
|
||||||
add_index "budget_investments", ["author_id"], name: "index_budget_investments_on_author_id", using: :btree
|
add_index "budget_investments", ["author_id"], name: "index_budget_investments_on_author_id", using: :btree
|
||||||
|
add_index "budget_investments", ["community_id"], name: "index_budget_investments_on_community_id", using: :btree
|
||||||
add_index "budget_investments", ["heading_id"], name: "index_budget_investments_on_heading_id", using: :btree
|
add_index "budget_investments", ["heading_id"], name: "index_budget_investments_on_heading_id", using: :btree
|
||||||
add_index "budget_investments", ["tsv"], name: "index_budget_investments_on_tsv", using: :gin
|
add_index "budget_investments", ["tsv"], name: "index_budget_investments_on_tsv", using: :gin
|
||||||
|
|
||||||
@@ -1052,6 +1054,7 @@ ActiveRecord::Schema.define(version: 20170807082243) do
|
|||||||
add_foreign_key "administrators", "users"
|
add_foreign_key "administrators", "users"
|
||||||
add_foreign_key "annotations", "legacy_legislations"
|
add_foreign_key "annotations", "legacy_legislations"
|
||||||
add_foreign_key "annotations", "users"
|
add_foreign_key "annotations", "users"
|
||||||
|
add_foreign_key "budget_investments", "communities"
|
||||||
add_foreign_key "documents", "users"
|
add_foreign_key "documents", "users"
|
||||||
add_foreign_key "failed_census_calls", "poll_officers"
|
add_foreign_key "failed_census_calls", "poll_officers"
|
||||||
add_foreign_key "failed_census_calls", "users"
|
add_foreign_key "failed_census_calls", "users"
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ feature 'Commenting proposals' do
|
|||||||
expect(page).to have_content parent_comment.body
|
expect(page).to have_content parent_comment.body
|
||||||
expect(page).to have_content first_child.body
|
expect(page).to have_content first_child.body
|
||||||
expect(page).to have_content second_child.body
|
expect(page).to have_content second_child.body
|
||||||
debugger
|
|
||||||
expect(page).to have_link "Go back to #{proposal.title}", href: proposal_path(proposal)
|
expect(page).to have_link "Go back to #{proposal.title}", href: proposal_path(proposal)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user