Class: BroadcastEvent::PoolReleased

Inherits:
BroadcastEvent
  • Object
show all
Defined in:
app/models/broadcast_event/pool_released.rb

Overview

At time of writing, this event type is fired when multiplexed library tubes are passed. BroadcastEvent::LibraryComplete events used to be fired at this time point, however they were redefined to be fired at the 'charge and pass' stage, because that made more sense to the users.

Instance Method Summary collapse

Instance Method Details

#orderObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'app/models/broadcast_event/pool_released.rb', line 34

 do
  # NOTE: The following attribute is not required for Microarray Genotyping.
  # I think this might be broken and suggests that there should be separate classes for project: one for
  # next-gen sequencing that includes this attribute in it's metadata, and one for microarray genotyping
  # that doesn't.
  include ProjectManager::Associations
  include BudgetDivision::Associations

  custom_attribute(:project_cost_code, required: true)
  custom_attribute(:funding_comments)
  custom_attribute(:collaborators)
  custom_attribute(:external_funding_source)
  custom_attribute(:sequencing_budget_cost_centre)
  custom_attribute(:project_funding_model, in: PROJECT_FUNDING_MODELS)
  custom_attribute(:gt_committee_tracking_id)

  before_validation do |record|
    record.project_cost_code = nil if record.project_cost_code.blank?
    record.project_funding_model = nil if record.project_funding_model.blank?
  end
end