Skip to content

Commit e255f8b

Browse files
authored
Merge pull request #124 from DaleMcGrew/Dale_WCC_Nov13c-2025
Added statusOfferDecisionNeededSetFalse to TaskDefinition interface. Added "file-saver" and "react-papaparse" to package.json for WV-2083.
2 parents 819a1ac + bd60e11 commit e255f8b

File tree

12 files changed

+217
-123
lines changed

12 files changed

+217
-123
lines changed

package-lock.json

Lines changed: 41 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,12 @@
6767
"eslint-webpack-plugin": "^2.4.3",
6868
"express": "^5.0.0-beta.3",
6969
"file-loader": "^6.2.0",
70+
"file-saver": "^2.0.5",
7071
"html-webpack-plugin": "^5.6.0",
7172
"jsdom": "^23.0.1",
7273
"mocha": "^10.2.0",
7374
"pre-commit": "^1.0.10",
75+
"react-papaparse": "^4.4.0",
7476
"terser-webpack-plugin": "^5.1.2",
7577
"unused-webpack-plugin": "^2.4.0",
7678
"webpack": "^5.99.8",

src/js/components/Navigation/TeamsActionBar.jsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ const TeamsActionBar = () => {
237237
}, 100);
238238
}}
239239
>
240-
Expand all
240+
Expand all
241241
</SpanWithLinkStyle>
242242
</ActionBarItem>
243243
<ActionBarItem>
@@ -252,7 +252,7 @@ const TeamsActionBar = () => {
252252
}, 100);
253253
}}
254254
>
255-
Collapse all
255+
Collapse&nbsp;all
256256
</SpanWithLinkStyle>
257257
</ActionBarItem>
258258
</ActionBarSection>
@@ -267,7 +267,7 @@ const TeamsActionBar = () => {
267267
{viewerCanSeeOrDo(['canAddTeam'], viewerAccessRights) && (
268268
<ActionBarItem>
269269
<SpanWithLinkStyle onClick={() => addTeamClick()}>
270-
Add team
270+
Add&nbsp;team
271271
</SpanWithLinkStyle>
272272
</ActionBarItem>
273273
)}
@@ -312,10 +312,12 @@ const ViewingCount = styled('div')`
312312
color: ${DesignTokenColors.neutralUI400};
313313
font-size: .8em;
314314
padding-right: 15px;
315+
white-space: nowrap;
315316
`;
316317

317318
const DownloadStyled = styled(Download)`
318-
font-size: 1.7em;
319+
color: ${DesignTokenColors.neutral200};
320+
font-size: 1.3em;
319321
padding-right: 15px;
320322
`;
321323

src/js/components/Person/AddPersonForm.jsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const AddPersonForm = ({ classes }) => { // classes, teamId
3030
const locationInputRef = useRef('');
3131
const phoneNumberInputRef = useRef('');
3232
const statusOfferApprovedInputRef = useRef(false);
33-
const statusOfferDecisionNeededInputRef = useRef(false);
33+
const statusOfferDecisionNeededSetFalseInputRef = useRef(false);
3434
const statusOfferLetterSignedInputRef = useRef(false);
3535

3636
useEffect(() => { // Replaces onAppObservableStoreChange and will be called whenever the context value changes
@@ -56,7 +56,7 @@ const AddPersonForm = ({ classes }) => { // classes, teamId
5656
phoneNumber: phoneNumberInputRef.current.value,
5757
statusActive: true,
5858
statusOfferApproved: statusOfferApprovedInputRef.current.checked,
59-
statusOfferDecisionNeeded: !statusOfferDecisionNeededInputRef.current.checked, // statusOfferDecisionNeeded reversed on purpose
59+
statusOfferDecisionNeeded: !statusOfferDecisionNeededSetFalseInputRef.current.checked, // statusOfferDecisionNeeded reversed on purpose
6060
statusOfferLetterSigned: statusOfferLetterSignedInputRef.current.checked,
6161
};
6262
if (locationInputRef.current.value && locationInputRef.current.value.length) {
@@ -169,9 +169,9 @@ const AddPersonForm = ({ classes }) => { // classes, teamId
169169
<Checkbox
170170
className={classes.checkboxRoot}
171171
color="primary"
172-
id="statusOfferDecisionNeededToBeSaved"
173-
inputRef={statusOfferDecisionNeededInputRef}
174-
name="statusOfferDecisionNeeded"
172+
id="statusOfferDecisionNeededSetFalseToBeSaved"
173+
inputRef={statusOfferDecisionNeededSetFalseInputRef}
174+
name="statusOfferDecisionNeededSetFalse"
175175
onChange={() => updateSaveButton()}
176176
/>
177177
)}

src/js/components/Person/EditPersonForm.jsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ const EditPersonForm = ({ classes }) => {
7474
const statusActiveInputRef = useRef(false);
7575
const statusAvailableForSpecialProjectsInputRef = useRef(false);
7676
const statusOfferApprovedInputRef = useRef(false);
77-
const statusOfferDecisionNeededInputRef = useRef(false);
77+
const statusOfferDecisionNeededSetFalseInputRef = useRef(false);
7878
const statusOfferLetterCreatedInputRef = useRef(false);
7979
const statusOfferLetterSignedInputRef = useRef(false);
8080
const statusOfferQuestionnaireAnsweredInputRef = useRef(false);
@@ -124,7 +124,7 @@ const EditPersonForm = ({ classes }) => {
124124
activePerson.jazzHrUrl = jazzHrUrlInputRef.current.value;
125125
activePerson.jobTitle = jobTitleInputRef.current.value;
126126
activePerson.statusOfferApproved = statusOfferApprovedInputRef.current.checked;
127-
activePerson.statusOfferDecisionNeeded = !statusOfferDecisionNeededInputRef.current.checked; // statusOfferDecisionNeeded reversed on purpose
127+
activePerson.statusOfferDecisionNeeded = !statusOfferDecisionNeededSetFalseInputRef.current.checked; // statusOfferDecisionNeeded reversed on purpose
128128
activePerson.statusOfferLetterCreated = statusOfferLetterCreatedInputRef.current.checked;
129129
activePerson.statusOfferLetterSigned = statusOfferLetterSignedInputRef.current.checked;
130130
activePerson.statusOfferQuestionnaireAnswered = statusOfferQuestionnaireAnsweredInputRef.current.checked;
@@ -362,9 +362,9 @@ const EditPersonForm = ({ classes }) => {
362362
checked={!activePerson.statusOfferDecisionNeeded}
363363
className={classes.checkboxRoot}
364364
color="primary"
365-
id="statusOfferDecisionNeededToBeSaved"
366-
inputRef={statusOfferDecisionNeededInputRef}
367-
name="statusOfferDecisionNeeded"
365+
id="statusOfferDecisionNeededSetFalseToBeSaved"
366+
inputRef={statusOfferDecisionNeededSetFalseInputRef}
367+
name="statusOfferDecisionNeededSetFalse"
368368
onChange={(event) => {
369369
setActivePerson((prev) => ({
370370
...prev,

src/js/components/Person/EmailOfficialManager.jsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ const EmailOfficialManager = (
9696
setNewAccountNotification(
9797
`Hi${(firstNameToDisplay) && ` ${firstNameToDisplay}`}, I have just created your new Gmail-powered ${webAppConfig.ORGANIZATION_NAME} email account. Can you please verify you can sign in?
9898
Username: ${primaryEmail}
99-
Password (expires in 48 hours): ${password}`,
99+
Password (expires in 48 hours): ${password}
100+
Please note that we prefer that you keep your Slack account connected to your personal email address (as opposed to switching Slack to your new WeVote email address.)`,
100101
);
101102
setShowNewAccountNotification(true);
102103
} else {

src/js/components/Person/PersonSummaryRowTripleDot.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ const PersonSummaryRowTripleDot = ({ person, teamId }) => {
147147
)}
148148
</PopoverViewDetailsText>
149149
)}
150-
{(teamId > 0 && viewerCanSeeOrDo(['canRemoveTeamMemberAnyTeam'], viewerAccessRights)) && (
150+
{(teamId > 0 && (viewerCanSeeOrDo(['canAddTeamMemberAnyTeam'], viewerAccessRights) || viewerCanSeeOrDo(['canRemoveTeamMemberAnyTeam'], viewerAccessRights))) && (
151151
<PopoverViewDetailsText>
152152
<StyledTypography onClick={() => removeTeamMemberClick(person)}>
153153
Remove

src/js/components/Style/drawerLayoutStyles.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const DrawerHeaderAnimateDownOuterContainer = styled.div.attrs(({ scrolle
3434
box-shadow: ${standardBoxShadow('wide')};
3535
`}
3636
`;
37+
3738
export const DrawerHeaderAnimateDownInnerContainer = styled('div')`
3839
display: flex;
3940
flex-direction: column;

src/js/components/Task/EditTaskDefinitionForm.jsx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const EditTaskDefinitionForm = ({ classes }) => {
3535
const [saveButtonActive, setSaveButtonActive] = useState(false);
3636
const [statusActive, setStatusActive] = useState(false);
3737
const [statusOfferApproved, setStatusOfferApproved] = useState(false);
38+
const [statusOfferDecisionNeededSetFalse, setStatusOfferDecisionNeededSetFalse] = useState(false);
3839
const [statusOfferLetterCreated, setStatusOfferLetterCreated] = useState(false);
3940
const [statusOfferLetterSigned, setStatusOfferLetterSigned] = useState(false);
4041
const [statusOfferQuestionnaireAnswered, setStatusOfferQuestionnaireAnswered] = useState(false);
@@ -63,6 +64,7 @@ const EditTaskDefinitionForm = ({ classes }) => {
6364
setQuestionnaireId(taskDefinition.questionnaireId);
6465
setStatusActive(taskDefinition.statusActive);
6566
setStatusOfferApproved(taskDefinition.statusOfferApproved);
67+
setStatusOfferDecisionNeededSetFalse(taskDefinition.statusOfferDecisionNeededSetFalse);
6668
setStatusOfferLetterCreated(taskDefinition.statusOfferLetterCreated);
6769
setStatusOfferLetterSigned(taskDefinition.statusOfferLetterSigned);
6870
setStatusOfferQuestionnaireAnswered(taskDefinition.statusOfferQuestionnaireAnswered);
@@ -81,6 +83,7 @@ const EditTaskDefinitionForm = ({ classes }) => {
8183
setQuestionnaireId('');
8284
setStatusActive(false);
8385
setStatusOfferApproved(false);
86+
setStatusOfferDecisionNeededSetFalse(false);
8487
setStatusOfferLetterCreated(false);
8588
setStatusOfferLetterSigned(false);
8689
setStatusOfferQuestionnaireAnswered(false);
@@ -105,6 +108,7 @@ const EditTaskDefinitionForm = ({ classes }) => {
105108
}, []);
106109

107110
const saveTaskDefinition = () => {
111+
// console.log('Saving task definition statusOfferDecisionNeededSetFalse:', statusOfferDecisionNeededSetFalse);
108112
const requestParams = makeRequestParams({
109113
taskDefinitionId: taskDefinition ? taskDefinition.id : '-1',
110114
taskGroupId: taskGroup.taskGroupId,
@@ -115,6 +119,7 @@ const EditTaskDefinitionForm = ({ classes }) => {
115119
questionnaireId,
116120
statusActive,
117121
statusOfferApproved,
122+
statusOfferDecisionNeededSetFalse,
118123
statusOfferLetterCreated,
119124
statusOfferLetterSigned,
120125
statusOfferQuestionnaireAnswered,
@@ -323,6 +328,23 @@ const EditTaskDefinitionForm = ({ classes }) => {
323328
<CustomizationTokensHeader>
324329
When this task marked completed, also update:
325330
</CustomizationTokensHeader>
331+
<CheckboxLabel
332+
classes={{ label: classes.checkboxLabel }}
333+
control={(
334+
<Checkbox
335+
checked={statusOfferDecisionNeededSetFalse || false}
336+
className={classes.checkboxRoot}
337+
color="primary"
338+
id="statusOfferDecisionNeededSetFalseToBeSaved"
339+
name="statusOfferDecisionNeededSetFalse"
340+
onChange={(event) => {
341+
setStatusOfferDecisionNeededSetFalse(event.target.checked);
342+
updateSaveButton(true);
343+
}}
344+
/>
345+
)}
346+
label="Set Person.statusOfferDecisionNeeded to FALSE"
347+
/>
326348
<CheckboxLabel
327349
classes={{ label: classes.checkboxLabel }}
328350
control={(

src/js/components/Team/TeamHeader.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,13 +213,13 @@ const TeamHeader = (
213213
<ActionBarSection $borderRightOff={!officialEmailsToCopy && !personalEmailsToCopy}>
214214
<ActionBarItem>
215215
<SpanWithLinkStyle onClick={() => { setExpandAllTeamMembers(true); setShowAllTeamMembers(true); }}>
216-
Expand all
216+
Expand&nbsp;all
217217
</SpanWithLinkStyle>
218218
</ActionBarItem>
219219
{showAllTeamMembers && (
220220
<ActionBarItem>
221221
<SpanWithLinkStyle onClick={() => setExpandAllTeamMembers(false)}>
222-
Collapse all
222+
Collapse&nbsp;all
223223
</SpanWithLinkStyle>
224224
</ActionBarItem>
225225
)}

0 commit comments

Comments
 (0)