aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinhui2016-12-27 14:30:40 +0100
committerXinhui2016-12-27 14:30:40 +0100
commit69a059042c04f4537a75415eb083295311f71be1 (patch)
treee932173b9ad17e950b0d60680532e379a96e6d1e
parentf8c53054f2243dd53c1c34a810657be60a59c2e6 (diff)
downloadchouette-core-69a059042c04f4537a75415eb083295311f71be1.tar.bz2
Imports controller
Refs #2261
-rw-r--r--app/controllers/imports_controller.rb104
-rw-r--r--app/models/referential.rb2
-rw-r--r--app/views/imports/index.js.slim1
-rw-r--r--app/views/imports/new.html.slim1
-rw-r--r--spec/controllers/imports_controller_spec.rb12
-rw-r--r--spec/controllers/vehicle_journey_imports_controller_spec.rb2
6 files changed, 22 insertions, 100 deletions
diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb
index 757e7f09e..712192aaa 100644
--- a/app/controllers/imports_controller.rb
+++ b/app/controllers/imports_controller.rb
@@ -1,110 +1,20 @@
-# coding: utf-8
-require 'will_paginate/array'
-require 'open-uri'
-
class ImportsController < ChouetteController
defaults :resource_class => Import
-
- respond_to :html, :only => [:show, :index, :destroy, :imported_file, :rule_parameter_set, :compliance_check]
- respond_to :js, :only => [:index, :compliance_check]
+ respond_to :html
belongs_to :referential
- def index
- begin
- index! do
- build_breadcrumb :index
- end
- rescue Ievkit::Error, Faraday::Error => error
- logger.error("Iev failure : #{error.message}")
- flash[:error] = t(error.locale_for_error)
- redirect_to referential_path(@referential)
- end
- end
-
def show
- begin
- show! do
- build_breadcrumb :show
- end
- rescue Ievkit::Error, Faraday::Error => error
- logger.error("Iev failure : #{error.message}")
- flash[:error] = t(error.locale_for_error)
- redirect_to referential_path(@referential)
- end
- end
-
- def destroy
- begin
- destroy!
- rescue Ievkit::Error, Faraday::Error => error
- logger.error("Iev failure : #{error.message}")
- flash[:error] = t(error.locale_for_error)
- redirect_to referential_path(@referential)
- end
- end
-
- def imported_file
- # WARNING : files under 10kb in size get treated as StringIO by OpenUri
- # http://stackoverflow.com/questions/10496874/why-does-openuri-treat-files-under-10kb-in-size-as-stringio
- OpenURI::Buffer.send :remove_const, 'StringMax' if OpenURI::Buffer.const_defined?('StringMax')
- OpenURI::Buffer.const_set 'StringMax', 0
- begin
- send_file open(resource.file_path), { :type => "application/#{resource.filename_extension}", :disposition => "attachment", :filename => resource.filename }
- rescue Ievkit::Error, Faraday::Error => error
- logger.error("Iev failure : #{error.message}")
- flash[:error] = t(error.locale_for_error)
- redirect_to referential_path(@referential)
- end
- end
-
- def rule_parameter_set
- begin
- @rule_parameter_set = resource.rule_parameter_set
- build_breadcrumb :rule_parameter_set
- render "rule_parameter_sets/show"
- rescue Ievkit::Error, Faraday::Error => error
- logger.error("Iev failure : #{error.message}")
- flash[:error] = t(error.locale_for_error)
- redirect_to referential_path(@referential)
+ show! do
+ build_breadcrumb :show
end
end
- def export
- respond_to do |format|
- format.zip { send_file ComplianceCheckExport.new(resource, @referential.id, request).export, :type => :zip }
- end
- end
-
- def compliance_check
- begin
- @compliance_check = resource
- build_breadcrumb :compliance_check
- render "compliance_checks/report"
- rescue Ievkit::Error, Faraday::Error => error
- logger.error("Iev failure : #{error.message}")
- flash[:error] = t(error.locale_for_error)
- redirect_to referential_path(@referential)
- end
- end
-
- protected
- alias_method :import, :resource
-
- def import_service
- ImportService.new(@referential)
- end
-
- def resource
- @import ||= import_service.find( params[:id] )
- @line_items = @import.report.line_items
- if @line_items.size > 500
- @line_items = @line_items.paginate(page: params[:page], per_page: 20)
+ def index
+ index! do
+ build_breadcrumb :index
end
- @import
end
- def collection
- @imports ||= import_service.all.sort_by{ |import| import.created_at }.reverse.paginate(:page => params[:page])
+ def new
end
-
end
diff --git a/app/models/referential.rb b/app/models/referential.rb
index 7d0b0cf93..979647f21 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -34,7 +34,7 @@ class Referential < ActiveRecord::Base
has_many :companies, through: :line_referential
has_many :group_of_lines, through: :line_referential
has_many :networks, through: :line_referential
-
+ has_many :imports
has_many :metadatas, class_name: "ReferentialMetadata", inverse_of: :referential, dependent: :destroy
accepts_nested_attributes_for :metadatas
diff --git a/app/views/imports/index.js.slim b/app/views/imports/index.js.slim
deleted file mode 100644
index 2fac7d26c..000000000
--- a/app/views/imports/index.js.slim
+++ /dev/null
@@ -1 +0,0 @@
-| $('#imports').html("#{escape_javascript(render("imports"))}"); \ No newline at end of file
diff --git a/app/views/imports/new.html.slim b/app/views/imports/new.html.slim
new file mode 100644
index 000000000..2ddd078cb
--- /dev/null
+++ b/app/views/imports/new.html.slim
@@ -0,0 +1 @@
+= @import.inspect
diff --git a/spec/controllers/imports_controller_spec.rb b/spec/controllers/imports_controller_spec.rb
new file mode 100644
index 000000000..f5ccd643a
--- /dev/null
+++ b/spec/controllers/imports_controller_spec.rb
@@ -0,0 +1,12 @@
+require 'rails_helper'
+
+RSpec.describe ImportsController, :type => :controller do
+ login_user
+
+ describe 'GET #new' do
+ it 'should be successful' do
+ get :new, referential_id: referential.id
+ expect(response).to be_success
+ end
+ end
+end
diff --git a/spec/controllers/vehicle_journey_imports_controller_spec.rb b/spec/controllers/vehicle_journey_imports_controller_spec.rb
index d91814669..ef1ec882a 100644
--- a/spec/controllers/vehicle_journey_imports_controller_spec.rb
+++ b/spec/controllers/vehicle_journey_imports_controller_spec.rb
@@ -3,5 +3,5 @@ require 'spec_helper'
describe ImportTasksController, :type => :controller do
login_user
-
+
end