diff options
Diffstat (limited to 'app')
26 files changed, 253 insertions, 288 deletions
| diff --git a/app/controllers/api/v1/imports_controller.rb b/app/controllers/api/v1/imports_controller.rb index 3d7f4ca79..dc2df0697 100644 --- a/app/controllers/api/v1/imports_controller.rb +++ b/app/controllers/api/v1/imports_controller.rb @@ -1,11 +1,11 @@  class Api::V1::ImportsController < Api::V1::IbooController -  defaults :resource_class => WorkbenchImport +  defaults :resource_class => Import::Workbench    belongs_to :workbench    def create      args    = workbench_import_params.merge(creator: 'Webservice')      @import = parent.workbench_imports.create(args) -    if @import.valid?  +    if @import.valid?        create!      else        render json: { status: "error", messages: @import.errors.full_messages } diff --git a/app/controllers/api/v1/internals/netex_imports_controller.rb b/app/controllers/api/v1/internals/netex_imports_controller.rb index c8e33f7b8..c2b7b20cc 100644 --- a/app/controllers/api/v1/internals/netex_imports_controller.rb +++ b/app/controllers/api/v1/internals/netex_imports_controller.rb @@ -25,13 +25,13 @@ module Api          private          def find_netex_import -          @netex_import = NetexImport.find(params[:id]) +          @netex_import = Import::Netex.find(params[:id])          rescue ActiveRecord::RecordNotFound            render json: { -            status: "error",  +            status: "error",              message: "Record not found"            } -          finish_action!    +          finish_action!          end          def find_workbench @@ -52,7 +52,7 @@ module Api            attributes = attributes.merge referential_id: @new_referential.id -          @netex_import = NetexImport.new attributes +          @netex_import = Import::Netex.new attributes            @netex_import.save!            unless @netex_import.referential diff --git a/app/controllers/api/v1/netex_imports_controller.rb b/app/controllers/api/v1/netex_imports_controller.rb index d86c1fcd8..2654fa088 100644 --- a/app/controllers/api/v1/netex_imports_controller.rb +++ b/app/controllers/api/v1/netex_imports_controller.rb @@ -34,7 +34,7 @@ module Api          attributes = attributes.merge referential_id: @new_referential.id -        @netex_import = NetexImport.new attributes +        @netex_import = Import::Netex.new attributes          @netex_import.save!          unless @netex_import.referential diff --git a/app/controllers/exports_controller.rb b/app/controllers/exports_controller.rb index ccc163e34..095720aa0 100644 --- a/app/controllers/exports_controller.rb +++ b/app/controllers/exports_controller.rb @@ -3,72 +3,72 @@ require 'open-uri'  class ExportsController < ChouetteController    include ReferentialSupport -  defaults :resource_class => Export - -  respond_to :html, :only => [:show, :index, :destroy, :exported_file] -  respond_to :js, :only => [:index] -  belongs_to :referential - -  def index -    begin -      index! -    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! -    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 exported_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 - -  protected - -  def export_service -    ExportService.new(@referential) -  end - -  def resource -    @export ||= export_service.find( params[:id] ) -    @line_items = @export.report.line_items -    if @line_items.size > 500 -      @line_items = @line_items.paginate(page: params[:page], per_page: 20) -    end -    @export -  end - -  def collection -    @exports ||= export_service.all.sort_by{ |export| export.created_at }.reverse.paginate(:page => params[:page]) -  end +  # defaults :resource_class => Export +  # +  # respond_to :html, :only => [:show, :index, :destroy, :exported_file] +  # respond_to :js, :only => [:index] +  # belongs_to :referential +  # +  # def index +  #   begin +  #     index! +  #   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! +  #   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 exported_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 +  # +  # protected +  # +  # def export_service +  #   ExportService.new(@referential) +  # end +  # +  # def resource +  #   @export ||= export_service.find( params[:id] ) +  #   @line_items = @export.report.line_items +  #   if @line_items.size > 500 +  #     @line_items = @line_items.paginate(page: params[:page], per_page: 20) +  #   end +  #   @export +  # end +  # +  # def collection +  #   @exports ||= export_service.all.sort_by{ |export| export.created_at }.reverse.paginate(:page => params[:page]) +  # end  end diff --git a/app/controllers/import_messages_controller.rb b/app/controllers/import_messages_controller.rb index 4f8fe7a25..5e39445fb 100644 --- a/app/controllers/import_messages_controller.rb +++ b/app/controllers/import_messages_controller.rb @@ -1,8 +1,8 @@  class ImportMessagesController < ChouetteController -  defaults resource_class: ImportMessage, collection_name: 'import_messages', instance_name: 'import_message' +  defaults resource_class: Import::Message, collection_name: 'import_messages', instance_name: 'import_message'    respond_to :csv -  belongs_to :import, :parent_class => Import do -    belongs_to :import_resource, :parent_class => ImportResource +  belongs_to :import, :parent_class => Import::Base do +    belongs_to :import_resource, :parent_class => Import::Resource    end @@ -20,7 +20,7 @@ class ImportMessagesController < ChouetteController    end    def parent -    @import_resource ||= ImportResource.find(params[:import_resource_id]) +    @import_resource ||= Import::Resource.find(params[:import_resource_id])    end  end diff --git a/app/controllers/import_resources_controller.rb b/app/controllers/import_resources_controller.rb index ea78394a1..6d1977e0c 100644 --- a/app/controllers/import_resources_controller.rb +++ b/app/controllers/import_resources_controller.rb @@ -1,5 +1,5 @@  class ImportResourcesController < ChouetteController -  defaults resource_class: ImportResource, collection_name: 'import_resources', instance_name: 'import_resource' +  defaults resource_class: Import::Resource, collection_name: 'import_resources', instance_name: 'import_resource'    respond_to :html    belongs_to :import diff --git a/app/controllers/import_tasks_controller.rb b/app/controllers/import_tasks_controller.rb deleted file mode 100644 index 1a349087d..000000000 --- a/app/controllers/import_tasks_controller.rb +++ /dev/null @@ -1,69 +0,0 @@ -class ImportTasksController < ChouetteController -  include ReferentialSupport -  defaults :resource_class => ImportTask - -  respond_to :html, :only => [:new, :create] -  respond_to :js, :only => [:new, :create] -  belongs_to :referential - -  def new -    @available_imports = available_imports -    begin -      new! -    rescue Ievkit::Error, Faraday::Error => error -      logger.error("Iev failure : #{error.message}") -      flash[:error] = t('iev.exception.default') -      redirect_to referential_path(@referential) -    end -  end - -  def create -    @available_imports = available_imports -    begin -      create! do |success, failure| -        success.html { redirect_to referential_imports_path(@referential) } -      end -    rescue Ievkit::Error, Faraday::Error => error -      logger.error("Iev failure : #{error.message}") -      flash[:error] = t('iev.exception.default') -      redirect_to referential_path(@referential) -    end -  end - -  protected - -  def available_imports -    import_task_parameters = params[:import_task] - -    if import_task_parameters.present? -      @available_imports = [ -        import_task_parameters[:data_format] == "neptune" ? build_resource : NeptuneImport.new(:referential_id => @referential.id ), -        import_task_parameters[:data_format] == "netex" ? build_resource : NetexImport.new(:referential_id => @referential.id ), -        import_task_parameters[:data_format] == "gtfs" ? build_resource : GtfsImport.new(:referential_id => @referential.id ) -      ] -    else -      @available_imports = [ -        NeptuneImport.new(:referential_id => @referential.id ), -        NetexImport.new(:referential_id => @referential.id ), -        GtfsImport.new(:referential_id => @referential.id ) -      ] -    end -  end - -  def build_resource -    @import_task ||= if params[:import_task].present? -                       import_task_parameters = params[:import_task] -                       case import_task_parameters[:data_format] -                       when "neptune" -                         NeptuneImport.new(import_task_parameters) -                       when "netex" -                         @import_task = NetexImport.new(import_task_parameters) -                       when "gtfs" -                         @import_task = GtfsImport.new(import_task_parameters) -                       end -                     else -                       @import_task = NeptuneImport.new -                     end -  end - -end diff --git a/app/controllers/imports_controller.rb b/app/controllers/imports_controller.rb index 7a999d657..3ebbeb665 100644 --- a/app/controllers/imports_controller.rb +++ b/app/controllers/imports_controller.rb @@ -3,7 +3,7 @@ class ImportsController < ChouetteController    include RansackDateFilter    before_action only: [:index] { set_date_time_params("started_at", DateTime) }    skip_before_action :authenticate_user!, only: [:download] -  defaults resource_class: Import, collection_name: 'imports', instance_name: 'import' +  defaults resource_class: Import::Base, collection_name: 'imports', instance_name: 'import'    before_action :ransack_status_params, only: [:index]    respond_to :html    belongs_to :workbench @@ -37,7 +37,7 @@ class ImportsController < ChouetteController    protected    def collection -    scope = parent.imports.where(type: "WorkbenchImport") +    scope = parent.imports.where(type: "Import::Workbench")      scope = self.ransack_period_range(scope: scope, error_message:  t('imports.filters.error_period_filter'), query: :where_started_at_in) @@ -54,14 +54,14 @@ class ImportsController < ChouetteController    def ransack_status_params      if params[:q] -      return params[:q].delete(:status_eq_any) if params[:q][:status_eq_any].empty? || ( (Import.status.values & params[:q][:status_eq_any]).length >= 4 ) +      return params[:q].delete(:status_eq_any) if params[:q][:status_eq_any].empty? || ( (Import::Base.status.values & params[:q][:status_eq_any]).length >= 4 )        params[:q][:status_eq_any].push("new", "running") if params[:q][:status_eq_any].include?("pending")        params[:q][:status_eq_any].push("aborted", "canceled") if params[:q][:status_eq_any].include?("failed")      end    end    def build_resource -    @import ||= WorkbenchImport.new(*resource_params) do |import| +    @import ||= Import::Workbench.new(*resource_params) do |import|        import.workbench = parent        import.creator   = current_user.name      end diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb index e38a92982..152da4fa2 100644 --- a/app/controllers/statuses_controller.rb +++ b/app/controllers/statuses_controller.rb @@ -5,7 +5,7 @@ class StatusesController < ChouetteController      status = {        referentials_blocked: Referential.blocked.count, -      imports_blocked: Import.blocked.count, +      imports_blocked: Import::Base.blocked.count,        compliance_check_sets_blocked: ComplianceCheckSet.blocked.count      }      status[:status] = global_status status diff --git a/app/decorators/import_decorator.rb b/app/decorators/import/base_decorator.rb index 1964365ae..8c10479c6 100644 --- a/app/decorators/import_decorator.rb +++ b/app/decorators/import/base_decorator.rb @@ -1,5 +1,5 @@ -class ImportDecorator < AF83::Decorator -  decorates Import +class Import::BaseDecorator < AF83::Decorator +  decorates Import::Base    set_scope { context[:workbench] } diff --git a/app/models/concerns/iev_interfaces/message.rb b/app/models/concerns/iev_interfaces/message.rb new file mode 100644 index 000000000..ad41e98b7 --- /dev/null +++ b/app/models/concerns/iev_interfaces/message.rb @@ -0,0 +1,9 @@ +module IevInterfaces::Message +  extend ActiveSupport::Concern + +  included do +    extend Enumerize +    enumerize :criticity, in: %i(info warning error) +    validates :criticity, presence: true +  end +end diff --git a/app/models/concerns/iev_interfaces/resource.rb b/app/models/concerns/iev_interfaces/resource.rb new file mode 100644 index 000000000..7f8c3eefd --- /dev/null +++ b/app/models/concerns/iev_interfaces/resource.rb @@ -0,0 +1,9 @@ +module IevInterfaces::Resource +  extend ActiveSupport::Concern + +  included do +    extend Enumerize +    enumerize :status, in: %i(OK ERROR WARNING IGNORED), scope: true +    validates_presence_of :name, :resource_type, :reference +  end +end diff --git a/app/models/concerns/iev_interfaces/task.rb b/app/models/concerns/iev_interfaces/task.rb new file mode 100644 index 000000000..2eb0c532f --- /dev/null +++ b/app/models/concerns/iev_interfaces/task.rb @@ -0,0 +1,51 @@ +module IevInterfaces::Task +  extend ActiveSupport::Concern + +  included do +    belongs_to :parent, polymorphic: true +    belongs_to :workbench, class_name: "::Workbench" +    belongs_to :referential + +    extend Enumerize +    enumerize :status, in: %w(new pending successful warning failed running aborted canceled), scope: true, default: :new + +    validates :name, presence: true +    validates_presence_of :workbench, :creator + +    has_many :messages, class_name: messages_class_name, dependent: :destroy, foreign_key: :import_id +    has_many :resources, class_name: resources_class_name, dependent: :destroy, foreign_key: :import_id + +    scope :where_started_at_in, ->(period_range) do +      where('started_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end) +    end + +    scope :blocked, -> { where('created_at < ? AND status = ?', 4.hours.ago, 'running') } +  end + +  module ClassMethods +    def launched_statuses +      %w(new pending) +    end + +    def failed_statuses +      %w(failed aborted canceled) +    end + +    def finished_statuses +      %w(successful failed warning aborted canceled) +    end + +    def abort_old +      where( +        'created_at < ? AND status NOT IN (?)', +        4.hours.ago, +        finished_statuses +      ).update_all(status: 'aborted') +    end +  end + +  def notify_parent +    parent.child_change +    update(notified_parent_at: DateTime.now) +  end +end diff --git a/app/models/import.rb b/app/models/import.rb deleted file mode 100644 index adad39b59..000000000 --- a/app/models/import.rb +++ /dev/null @@ -1,103 +0,0 @@ -class Import < ActiveRecord::Base -  mount_uploader :file, ImportUploader -  belongs_to :workbench -  belongs_to :referential - -  belongs_to :parent, polymorphic: true - -  has_many :messages, class_name: "ImportMessage", dependent: :destroy -  has_many :resources, class_name: "ImportResource", dependent: :destroy -  has_many :children, foreign_key: :parent_id, class_name: "Import", dependent: :destroy - -  scope :where_started_at_in, ->(period_range) do -    where('started_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end) -  end - -  scope :blocked, -> { where('created_at < ? AND status = ?', 4.hours.ago, 'running') } - -  extend Enumerize -  enumerize :status, in: %w(new pending successful warning failed running aborted canceled), scope: true, default: :new - -  validates :name, presence: true -  validates :file, presence: true -  validates_presence_of :workbench, :creator - -  before_create :initialize_fields - -  def self.model_name -    ActiveModel::Name.new Import, Import, "Import" -  end - -  def children_succeedeed -    children.with_status(:successful, :warning).count -  end - -  def self.launched_statuses -    %w(new pending) -  end - -  def self.failed_statuses -    %w(failed aborted canceled) -  end - -  def self.finished_statuses -    %w(successful failed warning aborted canceled) -  end - -  def self.abort_old -    where( -      'created_at < ? AND status NOT IN (?)', -      4.hours.ago, -      finished_statuses -    ).update_all(status: 'aborted') -  end - -  def notify_parent -    parent.child_change -    update(notified_parent_at: DateTime.now) -  end - -  def child_change -    return if self.class.finished_statuses.include?(status) - -    update_status -    update_referentials -  end - -  def update_status -    status = -      if children.where(status: self.class.failed_statuses).count > 0 -        'failed' -      elsif children.where(status: "warning").count > 0 -        'warning' -      elsif children.where(status: "successful").count == children.count -        'successful' -      end - -    attributes = { -      current_step: children.count, -      status: status -    } - -    if self.class.finished_statuses.include?(status) -      attributes[:ended_at] = Time.now -    end - -    update attributes -  end - -  def update_referentials -    return unless self.class.finished_statuses.include?(status) - -    children.each do |import| -      import.referential.update(ready: true) if import.referential -    end -  end - -  private - -  def initialize_fields -    self.token_download = SecureRandom.urlsafe_base64 -  end - -end diff --git a/app/models/import/base.rb b/app/models/import/base.rb new file mode 100644 index 000000000..0e1eae2c0 --- /dev/null +++ b/app/models/import/base.rb @@ -0,0 +1,73 @@ +class Import::Base < ActiveRecord::Base +  self.table_name = "imports" + +  def self.messages_class_name +    "Import::Message" +  end + +  def self.resources_class_name +    "Import::Resource" +  end + +  include IevInterfaces::Task + +  mount_uploader :file, ImportUploader + +  has_many :children, foreign_key: :parent_id, class_name: "Import::Base", dependent: :destroy + +  validates :file, presence: true + +  before_create :initialize_fields + +  def self.model_name +    ActiveModel::Name.new Import::Base, Import::Base, "Import::Base" +  end + +  def children_succeedeed +    children.with_status(:successful, :warning).count +  end + +  def child_change +    return if self.class.finished_statuses.include?(status) + +    update_status +    update_referentials +  end + +  def update_status +    status = +      if children.where(status: self.class.failed_statuses).count > 0 +        'failed' +      elsif children.where(status: "warning").count > 0 +        'warning' +      elsif children.where(status: "successful").count == children.count +        'successful' +      end + +    attributes = { +      current_step: children.count, +      status: status +    } + +    if self.class.finished_statuses.include?(status) +      attributes[:ended_at] = Time.now +    end + +    update attributes +  end + +  def update_referentials +    return unless self.class.finished_statuses.include?(status) + +    children.each do |import| +      import.referential.update(ready: true) if import.referential +    end +  end + +  private + +  def initialize_fields +    self.token_download = SecureRandom.urlsafe_base64 +  end + +end diff --git a/app/models/gtfs_import.rb b/app/models/import/gtfs.rb index d09ca4cb3..03cf49e60 100644 --- a/app/models/gtfs_import.rb +++ b/app/models/import/gtfs.rb @@ -1,5 +1,5 @@  require 'net/http' -class GtfsImport < Import +class Import::Gtfs < Import::Base    before_destroy :destroy_non_ready_referential    after_commit :launch_java_import, on: :create diff --git a/app/models/import/message.rb b/app/models/import/message.rb new file mode 100644 index 000000000..c1900a718 --- /dev/null +++ b/app/models/import/message.rb @@ -0,0 +1,8 @@ +class Import::Message < ActiveRecord::Base +  self.table_name = :import_messages + +  include IevInterfaces::Message + +  belongs_to :import, class_name: Import::Base +  belongs_to :resource, class_name: Import::Resource +end diff --git a/app/models/netex_import.rb b/app/models/import/netex.rb index b21af3408..a4bf0920d 100644 --- a/app/models/netex_import.rb +++ b/app/models/import/netex.rb @@ -1,5 +1,5 @@  require 'net/http' -class NetexImport < Import +class Import::Netex < Import::Base    before_destroy :destroy_non_ready_referential    after_commit :launch_java_import, on: :create diff --git a/app/models/import/resource.rb b/app/models/import/resource.rb new file mode 100644 index 000000000..73be04d0e --- /dev/null +++ b/app/models/import/resource.rb @@ -0,0 +1,8 @@ +class Import::Resource < ActiveRecord::Base +  self.table_name = :import_resources + +  include IevInterfaces::Resource + +  belongs_to :import, class_name: Import::Base +  has_many :messages, class_name: "ImportMessage", foreign_key: :resource_id +end diff --git a/app/models/workbench_import.rb b/app/models/import/workbench.rb index 27f53a44f..f6e15cb89 100644 --- a/app/models/workbench_import.rb +++ b/app/models/import/workbench.rb @@ -1,4 +1,4 @@ -class WorkbenchImport < Import +class Import::Workbench < Import::Base    after_commit :launch_worker, :on => :create    def launch_worker diff --git a/app/models/import_message.rb b/app/models/import_message.rb deleted file mode 100644 index de70c35d1..000000000 --- a/app/models/import_message.rb +++ /dev/null @@ -1,8 +0,0 @@ -class ImportMessage < ActiveRecord::Base -  extend Enumerize -  belongs_to :import -  belongs_to :resource, class_name: ImportResource -  enumerize :criticity, in: %i(info warning error) - -  validates :criticity, presence: true -end diff --git a/app/models/import_resource.rb b/app/models/import_resource.rb deleted file mode 100644 index 55e752e74..000000000 --- a/app/models/import_resource.rb +++ /dev/null @@ -1,11 +0,0 @@ -class ImportResource < ActiveRecord::Base -  belongs_to :import - -  extend Enumerize -  enumerize :status, in: %i(OK ERROR WARNING IGNORED), scope: true - -  validates_presence_of :name, :resource_type, :reference - -  has_many :messages, class_name: "ImportMessage", foreign_key: :resource_id - -end diff --git a/app/models/workbench.rb b/app/models/workbench.rb index b6f90c7dc..44415f102 100644 --- a/app/models/workbench.rb +++ b/app/models/workbench.rb @@ -13,8 +13,8 @@ class Workbench < ActiveRecord::Base    has_many :companies, through: :line_referential    has_many :group_of_lines, through: :line_referential    has_many :stop_areas, through: :stop_area_referential -  has_many :imports -  has_many :workbench_imports +  has_many :imports, class_name: Import::Base +  has_many :workbench_imports, class_name: Import::Workbench    has_many :compliance_check_sets    has_many :compliance_control_sets    has_many :merges diff --git a/app/policies/import_policy.rb b/app/policies/import/base_policy.rb index 512bfc8ac..62345e452 100644 --- a/app/policies/import_policy.rb +++ b/app/policies/import/base_policy.rb @@ -1,4 +1,4 @@ -class ImportPolicy < ApplicationPolicy +class Import::BasePolicy < ApplicationPolicy    class Scope < Scope      def resolve        scope diff --git a/app/views/compliance_control_sets/_filters.html.slim b/app/views/compliance_control_sets/_filters.html.slim index 4348defac..5cf282559 100644 --- a/app/views/compliance_control_sets/_filters.html.slim +++ b/app/views/compliance_control_sets/_filters.html.slim @@ -11,7 +11,7 @@        = f.input :organisation_name_eq_any, collection: organisations_filters_values, as: :check_boxes, label: false, label_method: lambda {|w| ("<span>#{w.name}</span>").html_safe}, required: false, wrapper_html: {class: 'checkbox_list'}      .form-group.togglable class=filter_item_class(params[:q], :updated_at) -      = f.label Import.human_attribute_name(:updated_at), required: false, class: 'control-label' +      = f.label Import::Base.human_attribute_name(:updated_at), required: false, class: 'control-label'        .filter_menu          = f.simple_fields_for :updated_at do |p|            = p.input :start_date, as: :date, label: false, wrapper_html: {class: 'date smart_date filter_menu-item'}, default: @begin_range, include_blank: @begin_range ? false : true diff --git a/app/workers/workbench_import_worker.rb b/app/workers/workbench_import_worker.rb index 53cbb222a..fd2a888f0 100644 --- a/app/workers/workbench_import_worker.rb +++ b/app/workers/workbench_import_worker.rb @@ -12,7 +12,7 @@ class WorkbenchImportWorker    def perform(import_id)      @entries = 0 -    @workbench_import ||= WorkbenchImport.find(import_id) +    @workbench_import ||= Import::Workbench.find(import_id)      workbench_import.update(status: 'running', started_at: Time.now)      zip_service = ZipService.new(downloaded, allowed_lines) @@ -44,7 +44,6 @@ class WorkbenchImportWorker      raise    end -    def upload_entry_group entry, element_count      update_object_state entry, element_count.succ      return unless entry.ok? @@ -80,7 +79,6 @@ class WorkbenchImportWorker      File.unlink(eg_file.path)    end -    # Queries    # ======= | 
