diff --git a/app/controllers/concerns/correspondence_controller_concern.rb b/app/controllers/concerns/correspondence_controller_concern.rb index 34f28e884b5..8b6148ffe9b 100644 --- a/app/controllers/concerns/correspondence_controller_concern.rb +++ b/app/controllers/concerns/correspondence_controller_concern.rb @@ -130,7 +130,7 @@ def build_multi_error_message(errors, action_prefix) end def error_reason(error) - return "" unless error + return "" unless error.is_a?(String) case error when Constants.CORRESPONDENCE_AUTO_ASSIGN_ERROR.NOD_ERROR then "of NOD permissions settings" @@ -148,7 +148,7 @@ def build_single_error_message(action_prefix, reason) def build_error_message(*args) # Build error message for multiple correspondence based on error types message = "#{args[0]} cases were not #{args[1]}assigned to user" - message = "• #{message}" if use_bullet + message = "• #{message}" if args[3].present? message += " because #{args[2]}." unless args[0].zero? message end diff --git a/app/models/user.rb b/app/models/user.rb index 8c46838d1e8..fe4bf14f3db 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -98,7 +98,7 @@ def hearings_user? end def inbound_ops_team_superuser? - return false unless FeatureToggle.enabled?(:correspondence_queue) + return false unless correspondence_queue_enabled? member_of_organization?(InboundOpsTeam.singleton) && OrganizationUserPermissionChecker.new.can?( @@ -110,14 +110,14 @@ def inbound_ops_team_superuser? # check for user that is not an admin of the inbound ops team def inbound_ops_team_user? - return false unless FeatureToggle.enabled?(:correspondence_queue) + return false unless correspondence_queue_enabled? organizations.include?(InboundOpsTeam.singleton) && !inbound_ops_team_supervisor? end def inbound_ops_team_supervisor? - return false unless FeatureToggle.enabled?(:correspondence_queue) + return false unless correspondence_queue_enabled? administered_teams.include?(InboundOpsTeam.singleton) end @@ -591,6 +591,10 @@ def system_user? private + def correspondence_queue_enabled? + FeatureToggle.enabled?(:correspondence_queue) + end + def inactive_judge_team JudgeTeam.unscoped.inactive.find_by(id: organizations_users.admin.pluck(:organization_id)) end diff --git a/client/app/components/RadioField.jsx b/client/app/components/RadioField.jsx index 2775bda6282..71f3cc7a0e7 100644 --- a/client/app/components/RadioField.jsx +++ b/client/app/components/RadioField.jsx @@ -4,9 +4,10 @@ import classNames from 'classnames'; import RequiredIndicator from './RequiredIndicator'; import StringUtil from '../util/StringUtil'; -import Tooltip from './Tooltip'; +import MaybeAddTooltip from './TooltipHelper'; -import ACD_LEVERS from '../../constants/ACD_LEVERS'; +import RadioInput from './RadioInput'; +import { extractFieldProps } from './fieldUtils'; import { helpText } from './RadioField.module.scss'; @@ -29,11 +30,9 @@ RadioFieldHelpText.propTypes = { */ export const RadioField = (props) => { + + const { id, className, label, inputRef } = extractFieldProps(props); const { - id, - className, - label, - inputRef, inputProps, name, options, @@ -68,25 +67,6 @@ export const RadioField = (props) => { ); - const maybeAddTooltip = (option, radioField) => { - if (option.tooltipText) { - const keyId = `tooltip-${option.value}`; - - return - {radioField} - ; - } - - return radioField; - }; - const isDisabled = (option) => Boolean(option.disabled); const handleChange = (event) => onChange?.(event.target.value); @@ -109,17 +89,15 @@ export const RadioField = (props) => { className="cf-form-radio-option" key={`${idPart}-${option.value}-${i}`} > -