Skip to content

Commit ee04ec8

Browse files
authored
Merge pull request #64623 from allgandalf/issue/64428
fix incorrect values shown on the date field in reportFields
2 parents b9b3462 + 5383559 commit ee04ec8

3 files changed

Lines changed: 22 additions & 26 deletions

File tree

src/libs/WorkspaceReportFieldUtils.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import type {TranslationPaths} from '@src/languages/types';
44
import type ONYXKEYS from '@src/ONYXKEYS';
55
import type {InputID} from '@src/types/form/WorkspaceReportFieldForm';
66
import type {PolicyReportField, PolicyReportFieldType} from '@src/types/onyx/Policy';
7-
import * as ErrorUtils from './ErrorUtils';
8-
import * as Localize from './Localize';
9-
import * as ValidationUtils from './ValidationUtils';
7+
import {addErrorMessage} from './ErrorUtils';
8+
import {translateLocal} from './Localize';
9+
import {isRequiredFulfilled} from './ValidationUtils';
1010

1111
/**
1212
* Gets the translation key for the report field type.
@@ -45,17 +45,13 @@ function validateReportFieldListValueName(
4545
): FormInputErrors<typeof ONYXKEYS.FORMS.WORKSPACE_REPORT_FIELDS_FORM> {
4646
const errors: FormInputErrors<typeof ONYXKEYS.FORMS.WORKSPACE_REPORT_FIELDS_FORM> = {};
4747

48-
if (!ValidationUtils.isRequiredFulfilled(valueName)) {
49-
errors[inputID] = Localize.translateLocal('workspace.reportFields.listValueRequiredError');
48+
if (!isRequiredFulfilled(valueName)) {
49+
errors[inputID] = translateLocal('workspace.reportFields.listValueRequiredError');
5050
} else if (priorValueName !== valueName && listValues.some((currentValueName) => currentValueName === valueName)) {
51-
errors[inputID] = Localize.translateLocal('workspace.reportFields.existingListValueError');
51+
errors[inputID] = translateLocal('workspace.reportFields.existingListValueError');
5252
} else if ([...valueName].length > CONST.WORKSPACE_REPORT_FIELD_POLICY_MAX_LENGTH) {
5353
// Uses the spread syntax to count the number of Unicode code points instead of the number of UTF-16 code units.
54-
ErrorUtils.addErrorMessage(
55-
errors,
56-
inputID,
57-
Localize.translateLocal('common.error.characterLimitExceedCounter', {length: [...valueName].length, limit: CONST.WORKSPACE_REPORT_FIELD_POLICY_MAX_LENGTH}),
58-
);
54+
addErrorMessage(errors, inputID, translateLocal('common.error.characterLimitExceedCounter', {length: [...valueName].length, limit: CONST.WORKSPACE_REPORT_FIELD_POLICY_MAX_LENGTH}));
5955
}
6056

6157
return errors;
@@ -80,7 +76,7 @@ function getReportFieldInitialValue(reportField: PolicyReportField | null): stri
8076
}
8177

8278
if (reportField.type === CONST.REPORT_FIELD_TYPES.DATE) {
83-
return Localize.translateLocal('common.initialValue');
79+
return translateLocal('common.currentDate');
8480
}
8581

8682
return reportField.value ?? reportField.defaultValue;

src/pages/workspace/reportFields/CreateReportFieldsPage.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function WorkspaceCreateReportFieldsPage({
4343
const styles = useThemeStyles();
4444
const {translate} = useLocalize();
4545
const formRef = useRef<FormRef>(null);
46-
const [formDraft] = useOnyx(ONYXKEYS.FORMS.WORKSPACE_REPORT_FIELDS_FORM_DRAFT);
46+
const [formDraft] = useOnyx(ONYXKEYS.FORMS.WORKSPACE_REPORT_FIELDS_FORM_DRAFT, {canBeMissing: true});
4747

4848
const availableListValuesLength = (formDraft?.[INPUT_IDS.DISABLED_LIST_VALUES] ?? []).filter((disabledListValue) => !disabledListValue).length;
4949

@@ -103,7 +103,7 @@ function WorkspaceCreateReportFieldsPage({
103103
setInitialCreateReportFieldsForm();
104104
}, []);
105105

106-
const [modal] = useOnyx(ONYXKEYS.MODAL);
106+
const [modal] = useOnyx(ONYXKEYS.MODAL, {canBeMissing: true});
107107

108108
const listValues = [...(formDraft?.[INPUT_IDS.LIST_VALUES] ?? [])].sort(localeCompare).join(', ');
109109

@@ -186,8 +186,8 @@ function WorkspaceCreateReportFieldsPage({
186186

187187
{inputValues[INPUT_IDS.TYPE] === CONST.REPORT_FIELD_TYPES.DATE && (
188188
<MenuItemWithTopDescription
189-
title={translate('common.initialValue')}
190-
description={translate('common.date')}
189+
title={translate('common.currentDate')}
190+
description={translate('common.initialValue')}
191191
rightLabel={translate('common.required')}
192192
interactive={false}
193193
/>

src/pages/workspace/reportFields/ReportFieldsSettingsPage.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ import useThemeStyles from '@hooks/useThemeStyles';
1212
import localeCompare from '@libs/LocaleCompare';
1313
import Navigation from '@libs/Navigation/Navigation';
1414
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
15-
import * as PolicyUtils from '@libs/PolicyUtils';
16-
import * as ReportUtils from '@libs/ReportUtils';
17-
import * as WorkspaceReportFieldUtils from '@libs/WorkspaceReportFieldUtils';
15+
import {hasAccountingConnections as hasAccountingConnectionsPolicyUtils} from '@libs/PolicyUtils';
16+
import {getReportFieldKey} from '@libs/ReportUtils';
17+
import {getReportFieldInitialValue, getReportFieldTypeTranslationKey} from '@libs/WorkspaceReportFieldUtils';
1818
import type {SettingsNavigatorParamList} from '@navigation/types';
1919
import NotFoundPage from '@pages/ErrorPage/NotFoundPage';
2020
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
2121
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
2222
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
23-
import * as ReportField from '@userActions/Policy/ReportField';
23+
import {deleteReportFields} from '@userActions/Policy/ReportField';
2424
import CONST from '@src/CONST';
2525
import ROUTES from '@src/ROUTES';
2626
import type SCREENS from '@src/SCREENS';
@@ -37,8 +37,8 @@ function ReportFieldsSettingsPage({
3737
const {translate} = useLocalize();
3838
const [isDeleteModalVisible, setIsDeleteModalVisible] = useState(false);
3939

40-
const hasAccountingConnections = PolicyUtils.hasAccountingConnections(policy);
41-
const reportFieldKey = ReportUtils.getReportFieldKey(reportFieldID);
40+
const hasAccountingConnections = hasAccountingConnectionsPolicyUtils(policy);
41+
const reportFieldKey = getReportFieldKey(reportFieldID);
4242
const reportField = policy?.fieldList?.[reportFieldKey] ?? null;
4343

4444
if (!reportField) {
@@ -51,7 +51,7 @@ function ReportFieldsSettingsPage({
5151
const listValues = Object.values(policy?.fieldList?.[reportFieldKey]?.values ?? {})?.sort(localeCompare);
5252

5353
const deleteReportFieldAndHideModal = () => {
54-
ReportField.deleteReportFields(policyID, [reportFieldKey]);
54+
deleteReportFields(policyID, [reportFieldKey]);
5555
setIsDeleteModalVisible(false);
5656
Navigation.goBack();
5757
};
@@ -93,7 +93,7 @@ function ReportFieldsSettingsPage({
9393
<MenuItemWithTopDescription
9494
style={[styles.moneyRequestMenuItem]}
9595
titleStyle={styles.flex1}
96-
title={Str.recapitalize(translate(WorkspaceReportFieldUtils.getReportFieldTypeTranslationKey(reportField.type)))}
96+
title={Str.recapitalize(translate(getReportFieldTypeTranslationKey(reportField.type)))}
9797
description={translate('common.type')}
9898
interactive={false}
9999
/>
@@ -112,8 +112,8 @@ function ReportFieldsSettingsPage({
112112
<MenuItemWithTopDescription
113113
style={[styles.moneyRequestMenuItem]}
114114
titleStyle={styles.flex1}
115-
title={WorkspaceReportFieldUtils.getReportFieldInitialValue(reportField)}
116-
description={isDateFieldType ? translate('common.date') : translate('common.initialValue')}
115+
title={getReportFieldInitialValue(reportField)}
116+
description={translate('common.initialValue')}
117117
shouldShowRightIcon={!isDateFieldType && !hasAccountingConnections}
118118
interactive={!isDateFieldType && !hasAccountingConnections}
119119
onPress={() => Navigation.navigate(ROUTES.WORKSPACE_EDIT_REPORT_FIELDS_INITIAL_VALUE.getRoute(policyID, reportFieldID))}

0 commit comments

Comments
 (0)