From 8427ea208bc65b40666fed85bf56b68ee0eb4145 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 2 Jun 2021 10:48:01 -0700 Subject: [PATCH 1/2] IO-1169 Download only images. --- .../jobs-document-gallery.download.component.jsx | 10 +++------- .../jobs-documents-gallery.component.jsx | 7 +++++-- client/src/translations/en_us/common.json | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/client/src/components/jobs-documents-gallery/jobs-document-gallery.download.component.jsx b/client/src/components/jobs-documents-gallery/jobs-document-gallery.download.component.jsx index b172e0806..a1be3e834 100644 --- a/client/src/components/jobs-documents-gallery/jobs-document-gallery.download.component.jsx +++ b/client/src/components/jobs-documents-gallery/jobs-document-gallery.download.component.jsx @@ -14,11 +14,11 @@ export default function JobsDocumentsDownloadButton({ const [download, setDownload] = useState(null); const imagesToDownload = [ ...galleryImages.images.filter((image) => image.isSelected), - ...galleryImages.other.filter((image) => image.isSelected), + // ...galleryImages.other.filter((image) => image.isSelected), ]; + const handleDownload = () => { logImEXEvent("jobs_documents_download"); - axios .post("/media/download", { ids: imagesToDownload.map((_) => _.key), @@ -27,12 +27,8 @@ export default function JobsDocumentsDownloadButton({ // window.open(r.data); downloadAs( r.data, - `${identifier || "images"}.zip`, + `${identifier || "documents"}.zip`, (progressEvent) => { - const percentage = Math.round( - (progressEvent.loaded * 100) / progressEvent.total - ); - console.log(progressEvent, percentage); setDownload((currentDownloadState) => { return { downloaded: progressEvent.loaded || 0, diff --git a/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx b/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx index 2b29a7b3c..500874293 100644 --- a/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx +++ b/client/src/components/jobs-documents-gallery/jobs-documents-gallery.component.jsx @@ -56,6 +56,7 @@ function JobsDocumentsComponent({ isSelected: false, key: value.key, extension: value.extension, + id: value.id, type: value.type, size: value.size, @@ -74,7 +75,8 @@ function JobsDocumentsComponent({ const fileName = value.key.split("/").pop(); acc.other.push({ - src: GenerateSrcUrl(value), + source: GenerateSrcUrl(value), + src: "", thumbnail: thumb, tags: [ { @@ -100,6 +102,7 @@ function JobsDocumentsComponent({ thumbnailHeight: 225, thumbnailWidth: 225, isSelected: false, + extension: value.extension, key: value.key, id: value.id, @@ -211,7 +214,7 @@ function JobsDocumentsComponent({ }} onClickThumbnail={(index) => { window.open( - galleryImages.other[index].src, + galleryImages.other[index].source, "_blank", "toolbar=0,location=0,menubar=0" ); diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 999241966..c2da016f2 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -677,7 +677,7 @@ "documents": { "actions": { "delete": "Delete Selected Documents", - "download": "Download Selected Documents", + "download": "Download Selected Images", "reassign": "Reassign to another Job", "selectallimages": "Select All Images", "selectallotherdocuments": "Select All Other Documents" From 786d76bb73e72c83d9c0228e1a71e2a05c65a31a Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Wed, 2 Jun 2021 13:00:38 -0700 Subject: [PATCH 2/2] Upload documents with unique time stamp. --- bodyshop_translations.babel | 21 +++++++++++++++++++ .../documents-upload.utility.js | 5 ++++- .../components/header/header.component.jsx | 10 +++++++++ client/src/translations/en_us/common.json | 1 + client/src/translations/es/common.json | 1 + client/src/translations/fr/common.json | 1 + 6 files changed, 38 insertions(+), 1 deletion(-) diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index afae10463..96ddb91b6 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -24030,6 +24030,27 @@ + + help + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + home false diff --git a/client/src/components/documents-upload/documents-upload.utility.js b/client/src/components/documents-upload/documents-upload.utility.js index 72893ef88..abc0315f1 100644 --- a/client/src/components/documents-upload/documents-upload.utility.js +++ b/client/src/components/documents-upload/documents-upload.utility.js @@ -23,7 +23,10 @@ export const handleUpload = (ev, context) => { const fileName = ev.file.name || ev.filename; - let key = `${bodyshop.id}/${jobId}/${fileName.replace(/\.[^/.]+$/, "")}`; + let key = `${bodyshop.id}/${jobId}/${fileName.replace( + /\.[^/.]+$/, + "" + )}-${new Date().getTime()}`; let extension = fileName.split(".").pop(); uploadToCloudinary( key, diff --git a/client/src/components/header/header.component.jsx b/client/src/components/header/header.component.jsx index 33dc0f069..c361a93a3 100644 --- a/client/src/components/header/header.component.jsx +++ b/client/src/components/header/header.component.jsx @@ -20,6 +20,7 @@ import Icon, { ToolFilled, UnorderedListOutlined, UserOutlined, + QuestionCircleFilled, } from "@ant-design/icons"; import { Layout, Menu } from "antd"; import React from "react"; @@ -284,6 +285,15 @@ function Header({ {t("menus.header.shop_csi")} + { + window.open("https://help.imex.online/", "_blank"); + }} + icon={} + > + {t("menus.header.help")} +