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 BabelEdit project file
@@ -40261,6 +40261,53 @@
</concept_node> </concept_node>
</children> </children>
</folder_node> </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> </children>
</folder_node> </folder_node>
<folder_node> <folder_node>

View File

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

View File

@@ -221,7 +221,29 @@ export function TimeTicketModalComponent({
} }
/> />
</Form.Item> </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 <FormDateTimePicker
disabled={ disabled={
!HasRbacAccess({ !HasRbacAccess({

View File

@@ -2406,6 +2406,10 @@
"clockedout": "Clocked out successfully.", "clockedout": "Clocked out successfully.",
"created": "Time ticket entered successfully.", "created": "Time ticket entered successfully.",
"deleted": "Time ticket deleted 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": { "titles": {

View File

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

View File

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