Skip to content

Conversation

@quang-le
Copy link
Member

Add interface to add integrated campaigns to polio campaign

Related JIRA tickets :POLIO-2055

Self proofreading checklist

  • Did I use eslint and ruff formatters?
  • Is my code clear enough and well documented?
  • Are my typescript files well typed?
  • New translations have been added or updated if new strings have been introduced in the frontend
  • My migrations file are included
  • Are there enough tests?
  • Documentation has been included (for new feature)

Doc

In code

Changes

  • Add WidgetPaper with child table listing the integrated campaigns
    • with link to the details page for non-polio campaigns
    • with delete button
  • Add modal to add a campaign to the list:
    • Use AsyncSelect to avoid loading all campaigns
    • polio campaigns are filtered out

How to test

With the polio plugin activated:

  • create one or more non polio campaigns eg: type = "measles"
  • create/edit a polio campaign and use the interface to add/delete integrated campaigns

Print screen / video

CREATE
https://github.com/user-attachments/assets/12164eb1-7ff6-49a0-8188-f9caa9c83679

EDIT
https://github.com/user-attachments/assets/7eb168df-f75e-464d-8d53-a4a3a9b21bff

Notes

  • Requires Polio-2055 iaso version bluesquare-components#197 from bluesquare-components
  • Integration must be done from the polio campaign side. Selecting a polio campaign from the non polio campaign details screen will be part of another ticket to keep the PR size reasonable

- TODO: replace obr name with ID to simplify validation
- replace serializerFields
- update tests
- extract WidgetPaperRow for reuse
- outline add integrated component
- align delete icons
- use better translations
- update blsq-comp
@quang-le quang-le changed the title Polio 2055 integrated campaigns UI POLIO-2055 integrated campaigns UI Dec 29, 2025
@quang-le quang-le added the release Should be released in production at next deploy label Dec 30, 2025
@beygorghor beygorghor self-requested a review January 5, 2026 10:04
Comment on lines +170 to +192
{/* {!isPolio && (
<Box ml={2} mb={2} mt={2}>
<Grid container justifyContent="flex-start">
<Grid item xs={6} lg={5}>
<Typography variant="button">
Integrated to Polio campaign:
</Typography>
</Grid>
<Grid item xs={6} lg={7}>
<Typography variant="button">
<LinkTo
url={`campaignId/${values.integrated_to?.id}`}
condition
text={
values.integrated_to
?.obr_name
}
/>
</Typography>
</Grid>
</Grid>
</Box>
)} */}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

<WidgetPaper
title="Integrated campaigns"
elevation={1}
//@ts-ignore
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you remove this with my changes

Base automatically changed from POLIO-2013_integrated_campaign_api to develop January 6, 2026 13:53
@quang-le quang-le merged commit 72f572d into develop Jan 6, 2026
7 checks passed
@quang-le quang-le deleted the POLIO-2055_integrated_campaigns_UI branch January 6, 2026 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Should be released in production at next deploy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants