Class: UnprocessedAccessionsReport
- Inherits:
 - 
      AbstractReport
      
        
- Object
 - AbstractReport
 - UnprocessedAccessionsReport
 
 - Defined in:
 - backend/app/model/reports/unprocessed_accessions_report.rb
 
Overview
noinspection ALL
Instance Attribute Summary
Attributes inherited from AbstractReport
Instance Method Summary (collapse)
- 
  
    
      - (Object) headers 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (UnprocessedAccessionsReport) initialize(params) 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of UnprocessedAccessionsReport.
 - 
  
    
      - (Object) processor 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) query(db) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) scope_by_repo_id(dataset) 
    
    
  
  
  
  
  
  
  
  
  
    
 
Methods inherited from AbstractReport
#each, #get_binding, #layout, #report, #template, #title
Methods included from ReportManager::Mixin
Constructor Details
- (UnprocessedAccessionsReport) initialize(params)
Returns a new instance of UnprocessedAccessionsReport
      8 9 10  | 
    
      # File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 8 def initialize(params) super end  | 
  
Instance Method Details
- (Object) headers
      12 13 14  | 
    
      # File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 12 def headers ['id', 'identifier', 'title', "processing_priority", "processing_status", "processors"] end  | 
  
- (Object) processor
      16 17 18 19 20  | 
    
      # File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 16 def processor { 'identifier' => proc {|record| ASUtils.json_parse(record[:identifier] || "[]").compact.join("-")} } end  | 
  
- (Object) query(db)
      27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79  | 
    
      # File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 27 def query(db) dataset = db[:accession]. left_outer_join(:collection_management, :accession_id => :id). join(:enumeration, { :name => 'collection_management_processing_status' }, { :table_alias => :enum_processing_status }). join(:enumeration, { :name => 'collection_management_processing_priority' }, { :table_alias => :enum_processing_priority }). left_outer_join(:enumeration_value, { Sequel.qualify(:enumvals_processing_status, :enumeration_id) => Sequel.qualify(:enum_processing_status, :id), Sequel.qualify(:collection_management, :processing_status_id) => Sequel.qualify(:enumvals_processing_status, :id), }, { :table_alias => :enumvals_processing_status }). left_outer_join(:enumeration_value, { Sequel.qualify(:enumvals_processing_priority, :enumeration_id) => Sequel.qualify(:enum_processing_priority, :id), Sequel.qualify(:collection_management, :processing_priority_id) => Sequel.qualify(:enumvals_processing_priority, :id), }, { :table_alias => :enumvals_processing_priority }). select( Sequel.qualify(:accession, :id), Sequel.qualify(:accession, :identifier), Sequel.qualify(:accession, :title), Sequel.qualify(:collection_management, :processors), Sequel.qualify(:enumvals_processing_status, :value).as(:processing_status), Sequel.qualify(:enumvals_processing_priority, :value).as(:processing_priority) ) dataset = dataset.where(Sequel.qualify(:accession, :repo_id) => @repo_id) if @repo_id dataset.from_self(:alias => :all_results). filter(Sequel.|( Sequel.~(Sequel.qualify(:all_results, :processing_status) => 'completed'), { Sequel.qualify(:all_results, :processing_status) => nil } )). order_by(Sequel.asc(:processing_priority), Sequel.asc(:processing_status), Sequel.asc(:title)) end  | 
  
- (Object) scope_by_repo_id(dataset)
      22 23 24 25  | 
    
      # File 'backend/app/model/reports/unprocessed_accessions_report.rb', line 22 def scope_by_repo_id(dataset) # repo scope is applied in the query below dataset end  |