Class: PlatesFromTubesController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- PlatesFromTubesController
- Defined in:
- app/controllers/plates_from_tubes_controller.rb
Overview
The PlatesFromTubesController handles the creation of plates from tubes. It provides actions to display the form for creating plates and to process the form submission.
The interface for this controller is through the endpoint /plates/from_tubes.
Actions:
- new: Renders the form for creating plates from tubes.
- create: Processes the form submission and creates plates from the provided tubes.
Before Actions:
- set_barcode_printers: Sets the available barcode printers.
- set_plate_creators: Sets the available plate creators.
- find_plate_creator: Finds the plate creator based on the user's selection.
- clear_flashes: Clears any flash messages.
Constants:
- VIEW_PATH: The path to the view template for rendering the form.
rubocop:todo Metrics/ClassLength
Constant Summary collapse
- VIEW_PATH =
'plates_from_tubes/new'
Constants included from FlashTruncation
FlashTruncation::STRING_OVERHEAD
Instance Method Summary collapse
Methods inherited from ApplicationController
#block_api_access, #evil_parameter_hack!, #extract_header_info, #set_cache_disabled!
Methods included from AuthenticatedSystem
Methods included from FlashTruncation
#max_flash_size, #truncate_flash, #truncate_flash_array
Instance Method Details
#create ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'app/controllers/plates_from_tubes_controller.rb', line 35 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 |
#new ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'app/controllers/plates_from_tubes_controller.rb', line 31 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 |