Admins can add a 'publication date' to milestones

This commit is contained in:
Angel Perez
2017-12-13 19:20:48 -04:00
parent c14f9be567
commit 6d57d76071
8 changed files with 39 additions and 22 deletions

View File

@@ -14,7 +14,8 @@ class Admin::BudgetInvestmentMilestonesController < Admin::BaseController
@milestone = Budget::Investment::Milestone.new(milestone_params)
@milestone.investment = @investment
if @milestone.save
redirect_to admin_budget_budget_investment_path(@investment.budget, @investment), notice: t('admin.milestones.create.notice')
redirect_to admin_budget_budget_investment_path(@investment.budget, @investment),
notice: t('admin.milestones.create.notice')
else
render :new
end
@@ -25,7 +26,8 @@ class Admin::BudgetInvestmentMilestonesController < Admin::BaseController
def update
if @milestone.update(milestone_params)
redirect_to admin_budget_budget_investment_path(@investment.budget, @investment), notice: t('admin.milestones.update.notice')
redirect_to admin_budget_budget_investment_path(@investment.budget, @investment),
notice: t('admin.milestones.update.notice')
else
render :edit
end
@@ -33,24 +35,24 @@ class Admin::BudgetInvestmentMilestonesController < Admin::BaseController
def destroy
@milestone.destroy
redirect_to admin_budget_budget_investment_path(@investment.budget, @investment), notice: t('admin.milestones.delete.notice')
redirect_to admin_budget_budget_investment_path(@investment.budget, @investment),
notice: t('admin.milestones.delete.notice')
end
private
def milestone_params
params.require(:budget_investment_milestone)
.permit(:title, :description, :budget_investment_id,
.permit(:title, :description, :publication_date, :budget_investment_id,
image_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy])
end
def load_budget_investment
@investment = Budget::Investment.find params[:budget_investment_id]
@investment = Budget::Investment.find(params[:budget_investment_id])
end
def load_budget_investment_milestone
@milestone = Budget::Investment::Milestone.find params[:id]
@milestone = Budget::Investment::Milestone.find(params[:id])
end
end

View File

@@ -7,6 +7,7 @@ class Budget
validates :title, presence: true
validates :investment, presence: true
validates :publication_date, presence: true
def self.title_max_length
80

View File

@@ -2,6 +2,10 @@
<%= f.text_field :title, maxlength: Budget::Investment::Milestone.title_max_length %>
<%= f.text_area :description, rows: 5 %>
<%= f.text_field :publication_date,
value: @milestone.publication_date.present? ? l(@milestone.publication_date.to_date) : nil,
class: "js-calendar-full" %>
<%= render 'images/admin_image', imageable: @milestone, f: f %>
<%= f.submit nil, class: "button success" %>

View File

@@ -5,6 +5,7 @@
<th><%= t("admin.milestones.index.table_id") %></th>
<th><%= t("admin.milestones.index.table_title") %></th>
<th><%= t("admin.milestones.index.table_description") %></th>
<th><%= t("admin.milestones.index.table_publication_date") %></th>
<th><%= t("admin.milestones.index.image") %></th>
<th><%= t("admin.milestones.index.table_actions") %></th>
</tr>
@@ -12,29 +13,34 @@
<tbody>
<% @investment.milestones.each do |milestone| %>
<tr id="<%= dom_id(milestone) %>" class="milestone">
<td><%= milestone.id %></td>
<td>
<%= milestone.id %>
</td>
<td>
<%= link_to milestone.title, edit_admin_budget_budget_investment_budget_investment_milestone_path(@investment.budget, @investment, milestone) %>
<%= link_to milestone.title,
edit_admin_budget_budget_investment_budget_investment_milestone_path(@investment.budget,
@investment,
milestone) %>
</td>
<td class="small"><%= milestone.description %></td>
<% if milestone.publication_date.present? %>
<td class="small"><%= l(milestone.publication_date.to_date) %></td>
<% end %>
<td class="small">
<%= milestone.description %>
</td>
<td class="small">
<%= link_to t("admin.milestones.index.show_image"), milestone.image_url(:large), target: :_blank if milestone.image.present? %>
<%= link_to t("admin.milestones.index.show_image"),
milestone.image_url(:large),
target: :_blank if milestone.image.present? %>
</td>
<td>
<%= link_to t("admin.milestones.index.delete"), admin_budget_budget_investment_budget_investment_milestone_path(@investment.budget, @investment, milestone),
<%= link_to t("admin.milestones.index.delete"),
admin_budget_budget_investment_budget_investment_milestone_path(@investment.budget,
@investment,
milestone),
method: :delete,
class: 'button hollow alert expanded' %>
class: "button hollow alert expanded" %>
</td>
</tr>
<% end %>
</tbody>
</table>
<% else %>
<p>
<%= t('admin.milestones.index.no_milestones') %>
</p>
<p><%= t("admin.milestones.index.no_milestones") %></p>
<% end %>

View File

@@ -124,6 +124,7 @@ en:
budget/investment/milestone:
title: "Title"
description: "Description"
publication_date: "Publication date"
comment:
body: "Comment"
user: "User"

View File

@@ -193,6 +193,7 @@ en:
table_id: "ID"
table_title: "Title"
table_description: "Description"
table_publication_date: "Publication date"
table_actions: "Actions"
delete: "Delete milestone"
no_milestones: "Don't have defined milestones"
@@ -1078,4 +1079,4 @@ en:
updated_at: Updated at
status_draft: Draft
status_published: Published
locale: Language
locale: Language

View File

@@ -119,6 +119,7 @@ es:
budget/investment/milestone:
title: "Título"
description: "Descripción"
publication_date: "Fecha de publicación"
comment:
body: "Comentario"
user: "Usuario"
@@ -287,4 +288,4 @@ es:
record_invalid: "La validación falló: %{errors}"
restrict_dependent_destroy:
has_one: No se puede eliminar el registro porque existe un %{record} dependiente
has_many: No se puede eliminar el registro porque existen %{record} dependientes
has_many: No se puede eliminar el registro porque existen %{record} dependientes

View File

@@ -193,6 +193,7 @@ es:
table_id: "ID"
table_title: "Título"
table_description: "Descripción"
table_publication_date: "Fecha de publicación"
table_actions: "Acciones"
delete: "Eliminar hito"
no_milestones: "No hay hitos definidos"