Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 54 additions & 5 deletions src/actions/sponsor-forms-actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ export const SPONSOR_CUSTOMIZED_FORM_ITEMS_ADDED =
"SPONSOR_CUSTOMIZED_FORM_ITEMS_ADDED";
export const RESET_SPONSOR_FORM_MANAGED_ITEM =
"RESET_SPONSOR_FORM_MANAGED_ITEM";

export const SPONSOR_CUSTOMIZED_FORM_ITEM_IMAGE_DELETED =
"SPONSOR_CUSTOMIZED_FORM_ITEM_IMAGE_DELETED";
// ITEMS
export const REQUEST_SPONSOR_FORM_ITEMS = "REQUEST_SPONSOR_FORM_ITEMS";
export const RECEIVE_SPONSOR_FORM_ITEMS = "RECEIVE_SPONSOR_FORM_ITEMS";
Expand All @@ -104,6 +105,7 @@ export const RESET_SPONSOR_FORM_ITEM = "RESET_SPONSOR_FORM_ITEM";
export const SPONSOR_FORM_ITEM_DELETED = "SPONSOR_FORM_ITEM_DELETED";
export const SPONSOR_FORM_ITEM_IMAGES_UPDATED =
"SPONSOR_FORM_ITEM_IMAGES_UPDATED";
export const SPONSOR_FORM_ITEM_FILE_DELETED = "SPONSOR_FORM_ITEM_FILE_DELETED";
export const SPONSOR_FORM_ITEMS_ADDED = "SPONSOR_FORM_ITEMS_ADDED";
export const SPONSOR_FORM_ITEM_ARCHIVED = "SPONSOR_FORM_ITEM_ARCHIVED";
export const SPONSOR_FORM_ITEM_UNARCHIVED = "SPONSOR_FORM_ITEM_UNARCHIVED";
Expand Down Expand Up @@ -783,7 +785,8 @@ export const getSponsorCustomizedFormItems =
const params = {
page,
per_page: perPage,
access_token: accessToken
access_token: accessToken,
expand: "images"
};

filter.push(`is_archived==${showArchived ? 1 : 0}`);
Expand Down Expand Up @@ -1172,6 +1175,26 @@ const saveItemImages =
return Promise.all(promises);
};

export const removeItemFile =
(formId, formItemId, fileId) => async (dispatch, getState) => {
const { currentSummitState } = getState();
const { currentSummit } = currentSummitState;
const accessToken = await getAccessTokenSafely();
const params = { access_token: accessToken };

dispatch(startLoading());

return deleteRequest(
null,
createAction(SPONSOR_FORM_ITEM_FILE_DELETED),
`${window.PURCHASES_API_URL}/api/v1/summits/${currentSummit.id}/show-forms/${formId}/items/${formItemId}/images/${fileId}`,
null,
snackbarErrorHandler
)(params)(dispatch).finally(() => {
dispatch(stopLoading());
});
};

export const saveSponsorFormItem =
(formId, entity) => async (dispatch, getState) => {
const { currentSummitState } = getState();
Expand Down Expand Up @@ -1431,9 +1454,12 @@ export const saveSponsorFormManagedItem =
snackbarErrorHandler,
entity
)(params)(dispatch)
.then(() => {
dispatch(snackbarSuccessHandler(successMessage));
})
.then(({ response }) =>
saveImages(response.id).then(() => {
dispatch(snackbarSuccessHandler(successMessage));
return response;
})
)
.finally(() => {
dispatch(stopLoading());
});
Expand Down Expand Up @@ -1599,3 +1625,26 @@ export const unarchiveSponsorCustomizedFormItem =
dispatch(stopLoading());
});
};

export const removeSponsorCustomizedFormItemImages =
(formId, formItemId, fileId) => async (dispatch, getState) => {
const { currentSummitState, currentSponsorState } = getState();
const { currentSummit } = currentSummitState;
const {
entity: { id: sponsorId }
} = currentSponsorState;
const accessToken = await getAccessTokenSafely();
const params = { access_token: accessToken };

dispatch(startLoading());

return deleteRequest(
null,
createAction(SPONSOR_CUSTOMIZED_FORM_ITEM_IMAGE_DELETED),
`${window.PURCHASES_API_URL}/api/v1/summits/${currentSummit.id}/sponsors/${sponsorId}/sponsor-forms/${formId}/items/${formItemId}/images/${fileId}`,
null,
snackbarErrorHandler
)(params)(dispatch).finally(() => {
dispatch(stopLoading());
});
};
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,10 @@ const FormTemplateItemListPage = ({
setShowInventoryItemModal(false);
};

const handleRemoveImage = (imageId) => {
deleteItemImage(formTemplateId, currentFormTemplateItem.id, imageId);
};

const columns = [
{
columnKey: "code",
Expand Down Expand Up @@ -321,7 +325,7 @@ const FormTemplateItemListPage = ({
onClose={() => setShowInventoryItemModal(false)}
onMetaFieldTypeDeleted={deleteItemMetaFieldType}
onMetaFieldTypeValueDeleted={deleteItemMetaFieldTypeValue}
onImageDeleted={deleteItemImage}
onImageDeleted={handleRemoveImage}
/>
)}
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ const SponsorItemDialog = ({
onSave,
onMetaFieldTypeDeleted,
onMetaFieldTypeValueDeleted,
onImageDeleted,
entity: initialEntity
}) => {
const formik = useFormik({
Expand Down Expand Up @@ -83,6 +84,10 @@ const SponsorItemDialog = ({
onClose();
};

const handleIDeleteImage = (id) => {
if (id && onImageDeleted) onImageDeleted(id);
};

Comment thread
coderabbitai[bot] marked this conversation as resolved.
return (
<Dialog
open
Expand Down Expand Up @@ -220,6 +225,7 @@ const SponsorItemDialog = ({
id="image-upload"
name="images"
maxFiles={mediaType.max_uploads_qty}
onDelete={handleIDeleteImage}
allowedExtensions={getFileUploadAllowedExtensions()}
/>
</Grid2>
Expand All @@ -242,6 +248,7 @@ SponsorItemDialog.propTypes = {
onSave: PropTypes.func.isRequired,
onMetaFieldTypeDeleted: PropTypes.func,
onMetaFieldTypeValueDeleted: PropTypes.func,
onImageDeleted: PropTypes.func,
entity: PropTypes.object
};

Expand Down
7 changes: 5 additions & 2 deletions src/pages/sponsors-global/inventory/inventory-list-page.js
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,10 @@ const InventoryListPage = ({
? unarchiveInventoryItem(item)
: archiveInventoryItem(item);

const handleRemoveImage = (imageId) => {
deleteInventoryItemImage(currentInventoryItem.id, imageId);
};

const columns = [
{
columnKey: "code",
Expand Down Expand Up @@ -293,7 +297,7 @@ const InventoryListPage = ({
onClose={handleClose}
onMetaFieldTypeDeleted={deleteInventoryItemMetaFieldType}
onMetaFieldTypeValueDeleted={deleteInventoryItemMetaFieldTypeValue}
onImageDeleted={deleteInventoryItemImage}
onImageDeleted={handleRemoveImage}
/>
)}
</div>
Expand All @@ -314,7 +318,6 @@ export default connect(mapStateToProps, {
getInventoryItem,
resetInventoryItemForm,
saveInventoryItem,

deleteInventoryItemImage,
deleteInventoryItemMetaFieldType,
deleteInventoryItemMetaFieldTypeValue,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ const buildInitialValues = (data) => ({ ...data });

addIssAfterDateFieldValidator();

const SponsorFormItemForm = ({ initialValues, onSubmit }) => {
const SponsorFormItemForm = ({ initialValues, onSubmit, onImageDeleted }) => {
const formik = useFormik({
initialValues: buildInitialValues(initialValues),
validationSchema: yup.object({
Expand All @@ -57,6 +57,10 @@ const SponsorFormItemForm = ({ initialValues, onSubmit }) => {
// SCROLL TO ERROR
useScrollToError(formik);

const handleDeleteImage = (id) => {
if (id && onImageDeleted) onImageDeleted(id);
};

Comment thread
coderabbitai[bot] marked this conversation as resolved.
return (
<FormikProvider value={formik}>
<Box
Expand Down Expand Up @@ -147,6 +151,7 @@ const SponsorFormItemForm = ({ initialValues, onSubmit }) => {
id="item-image-upload"
name="images"
maxFiles={MAX_INVENTORY_IMAGES_UPLOAD_QTY}
onDelete={handleDeleteImage}
allowedExtensions={getFileUploadAllowedExtensions()}
/>
</Box>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import CloseIcon from "@mui/icons-material/Close";
import {
resetSponsorFormItem,
saveSponsorFormItem,
removeItemFile,
updateSponsorFormItem
} from "../../../../actions/sponsor-forms-actions";
import SponsorFormItemForm from "./sponsor-form-item-form";
Expand All @@ -24,7 +25,8 @@ const SponsorFormItemPopup = ({
onClose,
resetSponsorFormItem,
saveSponsorFormItem,
updateSponsorFormItem
updateSponsorFormItem,
removeItemFile
}) => {
const handleClose = () => {
// clear form from reducer
Expand All @@ -40,6 +42,10 @@ const SponsorFormItemPopup = ({
});
};

const handleRemoveImage = (imageId) => {
removeItemFile(formId, item.id, imageId);
};

return (
<Dialog open={open} onClose={handleClose} maxWidth="md" fullWidth>
<DialogTitle
Expand All @@ -56,7 +62,11 @@ const SponsorFormItemPopup = ({
</IconButton>
</DialogTitle>
<Divider />
<SponsorFormItemForm initialValues={item} onSubmit={handleOnSave} />
<SponsorFormItemForm
initialValues={item}
onSubmit={handleOnSave}
onImageDeleted={handleRemoveImage}
/>
</Dialog>
);
};
Expand All @@ -81,5 +91,6 @@ const mapStateToProps = ({
export default connect(mapStateToProps, {
resetSponsorFormItem,
saveSponsorFormItem,
updateSponsorFormItem
updateSponsorFormItem,
removeItemFile
})(SponsorFormItemPopup);
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ import {
deleteSponsorFormManagedItem,
resetSponsorFormManagedItem,
unarchiveSponsorCustomizedFormItem,
getSponsorFormManagedItem
getSponsorFormManagedItem,
removeSponsorCustomizedFormItemImages
} from "../../../../../../../actions/sponsor-forms-actions";
import CustomAlert from "../../../../../../../components/mui/custom-alert";
import SponsorInventoryDialog from "../../../../../../sponsors-global/form-templates/sponsor-inventory-popup";
Expand Down Expand Up @@ -67,7 +68,8 @@ const SponsorFormsManageItems = ({
deleteSponsorFormManagedItem,
archiveSponsorCustomizedFormItem,
unarchiveSponsorCustomizedFormItem,
getSponsorFormManagedItem
getSponsorFormManagedItem,
removeSponsorCustomizedFormItemImages
}) => {
const [openPopup, setOpenPopup] = useState(null);

Expand Down Expand Up @@ -202,6 +204,14 @@ const SponsorFormsManageItems = ({
);
};

const handleImageRemove = (imageId) => {
removeSponsorCustomizedFormItemImages(
formId,
currentInventoryItem.id,
imageId
);
};

const sponsorItemColumns = [
{
columnKey: "code",
Expand Down Expand Up @@ -384,6 +394,7 @@ const SponsorFormsManageItems = ({
entity={currentInventoryItem}
onSave={handleItemSave}
onClose={handleClose}
onImageDeleted={handleImageRemove}
/>
)}

Expand Down Expand Up @@ -411,7 +422,8 @@ export default Restrict(
deleteSponsorFormManagedItem,
getSponsorFormManagedItem,
archiveSponsorCustomizedFormItem,
unarchiveSponsorCustomizedFormItem
unarchiveSponsorCustomizedFormItem,
removeSponsorCustomizedFormItemImages
})(SponsorFormsManageItems),
ACCESS_ROUTES.ADMIN_SPONSORS
);
Loading