Class: UatActions::UpdateStateOfRequestsInLabware
- Inherits:
-
UatActions
- Object
- UatActions
- UatActions::UpdateStateOfRequestsInLabware
- Defined in:
- app/uat_actions/uat_actions/update_state_of_requests_in_labware.rb
Overview
This UAT action updates the state of all active requests matching the specified type in the labware of the specified barcode to the specified new state.
Constant Summary collapse
- ERROR_LABWARE_DOES_NOT_EXIST =
'not found.'- ERROR_REQUEST_TYPE_DOES_NOT_EXIST =
'not found.'- ERROR_NO_ACTIVE_REQUESTS_FOUND =
"No active requests of type '%s' found in labware '%s'."- ERROR_FAILED_TO_UPDATE_REQUEST_STATE =
'Failed to update request state, error message: %s'
Instance Attribute Summary collapse
-
#labware_barcode ⇒ Object
Returns the value of attribute labware_barcode.
-
#new_state ⇒ Object
Returns the value of attribute new_state.
-
#request_type_name ⇒ Object
Returns the value of attribute request_type_name.
Instance Method Summary collapse
-
#perform ⇒ Boolean
Updates the requests and reports success in the report.
Instance Attribute Details
#labware_barcode ⇒ Object
Returns the value of attribute labware_barcode.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/uat_actions/uat_actions/update_state_of_requests_in_labware.rb', line 29 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_state ⇒ Object
Returns the value of attribute new_state.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/uat_actions/uat_actions/update_state_of_requests_in_labware.rb', line 29 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 |
#request_type_name ⇒ Object
Returns the value of attribute request_type_name.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/uat_actions/uat_actions/update_state_of_requests_in_labware.rb', line 29 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 |
Instance Method Details
#perform ⇒ Boolean
Updates the requests and reports success in the report.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'app/uat_actions/uat_actions/update_state_of_requests_in_labware.rb', line 39 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 |