Skip to content

Commit

Permalink
First pass on read only global attrition
Browse files Browse the repository at this point in the history
  • Loading branch information
CaitBarnard committed Feb 13, 2025
1 parent 5c38cf9 commit f26a519
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 11 deletions.
23 changes: 18 additions & 5 deletions front_end/src/Apps/Payroll.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -194,12 +194,25 @@ export default function Payroll() {
</a>
</Tab>
<Tab label="Pay modifiers" key="4">
<EditPayModifier
data={allPayroll.pay_modifiers.attrition}
onInputChange={handleUpdateAttrition}
onCreate={handleCreateAttrition}
{allPayroll.pay_modifiers.attrition &&
allPayroll.pay_modifiers.attrition.length ? (
<EditPayModifier
data={allPayroll.pay_modifiers.attrition}
onInputChange={handleUpdateAttrition}
onCreate={handleCreateAttrition}
/>
) : (
<DisplayPayModifier
data={allPayroll.pay_modifiers.global_attrition}
title="Global attrition"
isAttrition={true}
onCreate={handleCreateAttrition}
/>
)}
<DisplayPayModifier
data={allPayroll.pay_modifiers.pay_uplift}
title="Pay uplift"
/>
<DisplayPayModifier data={allPayroll.pay_modifiers.pay_uplift} />
</Tab>
</Tabs>
<button className="govuk-button" onClick={handleSavePayroll}>
Expand Down
39 changes: 33 additions & 6 deletions front_end/src/Components/EditPayroll/DisplayPayModifier/index.jsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,31 @@
import PayModifierHeaders from "../PayModifierHeaders";

const DisplayPayModifier = ({ data }) => {
const DisplayPayModifier = ({
data,
title,
isAttrition = false,
onCreate = [],
}) => {
if (!data || data <= 0) {
return (
<>
<h3 className="govuk-heading-s">Pay uplift</h3>
<p className="govuk-body">No pay uplift set</p>
<h3 className="govuk-heading-s">{title}</h3>
<p className="govuk-body">No {title.toLowerCase()} set</p>
{isAttrition && (
<button
className="govuk-button govuk-button--secondary"
onClick={onCreate}
>
Add Attrition
</button>
)}
</>
);
}

return (
<div className="govuk-form-group">
<h3 className="govuk-heading-s">Pay Uplift</h3>
<>
<h3 className="govuk-heading-s">{title}</h3>
<table className="govuk-table">
<PayModifierHeaders />
<tbody className="govuk-table__body">
Expand All @@ -27,7 +40,21 @@ const DisplayPayModifier = ({ data }) => {
</tr>
</tbody>
</table>
</div>
{isAttrition && (
<>
<p className="govuk-body">
This attrition is for the current financial year. You can add one
for this specific cost centre instead.
</p>
<button
className="govuk-button govuk-button--secondary"
onClick={onCreate}
>
Add Attrition
</button>
</>
)}
</>
);
};

Expand Down

0 comments on commit f26a519

Please sign in to comment.