IO-1695 Add validation to time ticket window for clock times.

This commit is contained in:
Patrick Fic
2022-02-04 09:29:37 -08:00
parent 6d3fc783d6
commit 7f15e9ef7a
6 changed files with 84 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
<babeledit_project version="1.2" be_version="2.7.1">
<babeledit_project be_version="2.7.1" version="1.2">
<!--
BabelEdit project file
@@ -40261,6 +40261,53 @@
</concept_node>
</children>
</folder_node>
<folder_node>
<name>validation</name>
<children>
<concept_node>
<name>clockoffmustbeafterclockon</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>clockoffwithoutclockon</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
</children>
</folder_node>
</children>
</folder_node>
<folder_node>

View File

@@ -421,7 +421,7 @@ export function BillEnterModalLinesComponent({
</Form.Item>
{price &&
adjustmentRate &&
`${(price / adjustmentRate).toFixed(2)} hrs`}
`${(price / adjustmentRate).toFixed(1)} hrs`}
</div>
);
return <></>;

View File

@@ -221,7 +221,29 @@ export function TimeTicketModalComponent({
}
/>
</Form.Item>
<Form.Item label={t("timetickets.fields.clockoff")} name="clockoff">
<Form.Item
label={t("timetickets.fields.clockoff")}
name="clockoff"
rules={[
({ getFieldValue }) => ({
validator(rule, value) {
const clockon = getFieldValue("clockon");
console.log(value, clockon);
if (!value) return Promise.resolve();
if (!clockon && value)
return Promise.reject(
t("timetickets.validation.clockoffwithoutclockon")
);
if (!value.isSameOrAfter(clockon))
return Promise.reject(
t("timetickets.validation.clockoffmustbeafterclockon")
);
return Promise.resolve();
},
}),
]}
>
<FormDateTimePicker
disabled={
!HasRbacAccess({

View File

@@ -2406,6 +2406,10 @@
"clockedout": "Clocked out successfully.",
"created": "Time ticket entered successfully.",
"deleted": "Time ticket deleted successfully."
},
"validation": {
"clockoffmustbeafterclockon": "Clock off time must be the same or after clock in time.",
"clockoffwithoutclockon": "Clock off time cannot be set without a clock in time."
}
},
"titles": {

View File

@@ -2406,6 +2406,10 @@
"clockedout": "",
"created": "",
"deleted": ""
},
"validation": {
"clockoffmustbeafterclockon": "",
"clockoffwithoutclockon": ""
}
},
"titles": {

View File

@@ -2406,6 +2406,10 @@
"clockedout": "",
"created": "",
"deleted": ""
},
"validation": {
"clockoffmustbeafterclockon": "",
"clockoffwithoutclockon": ""
}
},
"titles": {