Add local census importations controller
This commit is contained in:
committed by
Javi Martín
parent
615bfadca8
commit
9b5f5e653a
@@ -0,0 +1,10 @@
|
|||||||
|
class Admin::LocalCensusRecords::BaseController < Admin::BaseController
|
||||||
|
helper_method :namespace
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def namespace
|
||||||
|
"admin"
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
class Admin::LocalCensusRecords::ImportsController < Admin::LocalCensusRecords::BaseController
|
||||||
|
load_and_authorize_resource class: "LocalCensusRecords::Import"
|
||||||
|
|
||||||
|
def create
|
||||||
|
@import = LocalCensusRecords::Import.new(local_census_records_import_params)
|
||||||
|
if @import.save
|
||||||
|
flash.now[:notice] = t("admin.local_census_records.imports.create.notice")
|
||||||
|
render :show
|
||||||
|
else
|
||||||
|
render :new
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def local_census_records_import_params
|
||||||
|
return {} unless params[:local_census_records_import].present?
|
||||||
|
|
||||||
|
params.require(:local_census_records_import).permit(:file)
|
||||||
|
end
|
||||||
|
end
|
||||||
9
app/helpers/admin/local_census_records/imports_helper.rb
Normal file
9
app/helpers/admin/local_census_records/imports_helper.rb
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
module Admin::LocalCensusRecords::ImportsHelper
|
||||||
|
def errors_for(resource, field)
|
||||||
|
if resource.errors.include? field
|
||||||
|
content_tag :div, class: "error" do
|
||||||
|
resource.errors[field].join(", ")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<%= form_for [:admin, @import] do |f| %>
|
||||||
|
<%= render "shared/errors", resource: @import %>
|
||||||
|
|
||||||
|
<%= f.file_field :file %>
|
||||||
|
|
||||||
|
<div class="small-12 medium-4 large-2 margin-top">
|
||||||
|
<%= f.submit(class: "button success expanded", value: t("shared.save")) %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<tr id="<%= dom_id(local_census_record) %>" class="local-census-record">
|
||||||
|
<td>
|
||||||
|
<%= local_census_record.document_type %>
|
||||||
|
<%= errors_for local_census_record, :document_type %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%= local_census_record.document_number %>
|
||||||
|
<%= errors_for local_census_record, :document_number %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%= l local_census_record.date_of_birth if local_census_record.date_of_birth.present? %>
|
||||||
|
<%= errors_for local_census_record, :date_of_birth %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%= local_census_record.postal_code %>
|
||||||
|
<%= errors_for local_census_record, :postal_code %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<h4><%= title %> (<%= local_census_records.any? ? local_census_records.size : 0 %>)</h4>
|
||||||
|
<table id="<%= id %>" class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><%= t("activerecord.attributes.local_census_record.document_type") %></th>
|
||||||
|
<th><%= t("activerecord.attributes.local_census_record.document_number") %></th>
|
||||||
|
<th><%= t("activerecord.attributes.local_census_record.date_of_birth") %></th>
|
||||||
|
<th><%= t("activerecord.attributes.local_census_record.postal_code") %></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<% if local_census_records.any? %>
|
||||||
|
<% local_census_records.each do |local_census_record| %>
|
||||||
|
<%= render "local_census_record", local_census_record: local_census_record %>
|
||||||
|
<% end %>
|
||||||
|
<% else %>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" style="width: 100% !important;">
|
||||||
|
<%= t("admin.local_census_records.imports.local_census_records.no_records_found") %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<%= back_link_to admin_local_census_records_path %>
|
||||||
|
|
||||||
|
<h2><%= t("admin.local_census_records.imports.new.title") %></h2>
|
||||||
|
|
||||||
|
<h3><%= t("admin.local_census_records.imports.new.subtitle") %></h3>
|
||||||
|
|
||||||
|
<%= render "form" %>
|
||||||
19
app/views/admin/local_census_records/imports/show.html.erb
Normal file
19
app/views/admin/local_census_records/imports/show.html.erb
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<%= back_link_to(admin_local_census_records_path, text = t("shared.back")) %>
|
||||||
|
<br>
|
||||||
|
<h2 class="inline-block"><%= t("admin.local_census_records.imports.show.title") %></h2>
|
||||||
|
|
||||||
|
<%= link_to t("admin.local_census_records.imports.show.import"),
|
||||||
|
new_admin_local_census_records_import_path,
|
||||||
|
class: "button float-right hollow" %>
|
||||||
|
|
||||||
|
<h3><%= t("admin.local_census_records.imports.show.subtitle") %></h3>
|
||||||
|
|
||||||
|
<%= render partial: "local_census_records", locals: {
|
||||||
|
title: t("admin.local_census_records.imports.show.errored"),
|
||||||
|
id: "invalid-local-census-records",
|
||||||
|
local_census_records: @import.invalid_records } %>
|
||||||
|
|
||||||
|
<%= render partial: "local_census_records", locals: {
|
||||||
|
title: t("admin.local_census_records.imports.show.created"),
|
||||||
|
id: "created-local-census-records",
|
||||||
|
local_census_records: @import.created_records } %>
|
||||||
@@ -1688,3 +1688,17 @@ en:
|
|||||||
notice: Local census record updated successfully!
|
notice: Local census record updated successfully!
|
||||||
destroy:
|
destroy:
|
||||||
notice: Local census record removed successfully!
|
notice: Local census record removed successfully!
|
||||||
|
imports:
|
||||||
|
new:
|
||||||
|
title: Local census records
|
||||||
|
subtitle: Import CSV file
|
||||||
|
create:
|
||||||
|
notice: Local census records import process executed successfully!
|
||||||
|
show:
|
||||||
|
title: Manage local census
|
||||||
|
subtitle: Import process results
|
||||||
|
import: Import again
|
||||||
|
errored: Errored rows
|
||||||
|
created: Created records
|
||||||
|
local_census_records:
|
||||||
|
no_records_found: No records found.
|
||||||
|
|||||||
@@ -198,6 +198,7 @@ en:
|
|||||||
topic: Topic
|
topic: Topic
|
||||||
image: Image
|
image: Image
|
||||||
local_census_record: Local Census Record
|
local_census_record: Local Census Record
|
||||||
|
local_census_records/import: Local Census Records Import
|
||||||
geozones:
|
geozones:
|
||||||
none: All city
|
none: All city
|
||||||
layouts:
|
layouts:
|
||||||
|
|||||||
@@ -1686,3 +1686,17 @@ es:
|
|||||||
notice: ¡Registro del censo local actualizado correctamente!
|
notice: ¡Registro del censo local actualizado correctamente!
|
||||||
destroy:
|
destroy:
|
||||||
notice: ¡Registro del censo local eliminado correctamente!
|
notice: ¡Registro del censo local eliminado correctamente!
|
||||||
|
imports:
|
||||||
|
new:
|
||||||
|
title: Registros del censo local
|
||||||
|
subtitle: Importar archivo CSV
|
||||||
|
create:
|
||||||
|
notice: ¡Proceso de import de registros del censo local ejecutado correctamente!
|
||||||
|
show:
|
||||||
|
title: Gestionar censo local
|
||||||
|
subtitle: Resultados del proceso de importación
|
||||||
|
import: Importar otro fichero
|
||||||
|
errored: Filas erróneas
|
||||||
|
created: Registros creados
|
||||||
|
local_census_records:
|
||||||
|
no_records_found: No se han encontrado registros.
|
||||||
@@ -198,6 +198,7 @@ es:
|
|||||||
topic: Tema
|
topic: Tema
|
||||||
image: Imagen
|
image: Imagen
|
||||||
local_census_record: el registro del censo local
|
local_census_record: el registro del censo local
|
||||||
|
local_census_records/import: la importación de registros del censo local
|
||||||
geozones:
|
geozones:
|
||||||
none: Toda la ciudad
|
none: Toda la ciudad
|
||||||
layouts:
|
layouts:
|
||||||
|
|||||||
@@ -257,4 +257,7 @@ namespace :admin do
|
|||||||
get "/change_log/:id", to: "budget_investments#show_investment_log", as: "change_log"
|
get "/change_log/:id", to: "budget_investments#show_investment_log", as: "change_log"
|
||||||
|
|
||||||
resources :local_census_records
|
resources :local_census_records
|
||||||
|
namespace :local_census_records do
|
||||||
|
resources :imports, only: [:new, :create, :show]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user