Skip to content

Commit

Permalink
Merge branch 'master' into UIBULKED-316
Browse files Browse the repository at this point in the history
  • Loading branch information
UladzislauKutarkin authored Oct 31, 2023
2 parents f67a0b9 + 60c1271 commit f78fed2
Show file tree
Hide file tree
Showing 12 changed files with 435 additions and 57 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

* [UIBULKED-355](https://issues.folio.org/browse/UIBULKED-355) Remove reference to Query tab on the landing page.
* [UIBULKED-315](https://issues.folio.org/browse/UIBULKED-315) Group holdings record properties using optgroup component
* [UIBULKED-354](https://issues.folio.org/browse/UIBULKED-354) Two identical files with the preview of proposed changes are downloaded from Logs
* [UIBULKED-373](https://issues.folio.org/browse/UIBULKED-373) "User" dropdown doesn't include Users recently run bulk edit jobs
* [UIBULKED-316](https://issues.folio.org/browse/UIBULKED-316) Bulk edit actions for holdings notes - add and remove Mark as staff only.
* [UIBULKED-331](https://issues.folio.org/browse/UIBULKED-331) Bulk edit actions for holdings notes - add and remove notes.
* [UIBULKED-332](https://issues.folio.org/browse/UIBULKED-332) Bulk edit actions for holdings notes - find and replace or remove.
Expand Down
7 changes: 6 additions & 1 deletion src/components/BulkEditActionMenu/BulkEditActionMenu.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ import {
usePathParams,
} from '../../hooks';
import { RootContext } from '../../context/RootContext';
import { useBulkOperationDetails, useFileDownload } from '../../hooks/api';
import {
QUERY_KEY_DOWNLOAD_ACTION_MENU,
useBulkOperationDetails,
useFileDownload
} from '../../hooks/api';

const BulkEditActionMenu = ({
onEdit,
Expand Down Expand Up @@ -57,6 +61,7 @@ const BulkEditActionMenu = ({


useFileDownload({
queryKey: QUERY_KEY_DOWNLOAD_ACTION_MENU,
enabled: !!fileInfo,
id,
fileInfo: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
useBulkOperationDetails,
useContentUpdate,
useFileDownload,
QUERY_KEY_DOWNLOAD_IN_APP,
} from '../../../../hooks/api';

import { getContentUpdatesBody } from '../BulkEditInApp/ContentUpdatesForm/helpers';
Expand Down Expand Up @@ -75,6 +76,7 @@ const BulkEditInAppPreviewModal = ({
});

const { refetch } = useFileDownload({
queryKey: QUERY_KEY_DOWNLOAD_IN_APP,
enabled: false, // to prevent automatic file fetch in preview modal
id: bulkOperationId,
fileInfo: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
InfoPopover,
} from '@folio/stripes/components';
import { FormattedMessage } from 'react-intl';
import { useFileDownload } from '../../../hooks/api';
import { QUERY_KEY_DOWNLOAD_LOGS, useFileDownload } from '../../../hooks/api';
import { CAPABILITIES, linkNamesMap } from '../../../constants';
import { useBulkPermissions } from '../../../hooks';

Expand All @@ -26,6 +26,7 @@ const BulkEditLogsActions = ({ item }) => {
} = useBulkPermissions();
const [triggeredFile, setTriggeredFile] = useState(null);
const { refetch } = useFileDownload({
queryKey: QUERY_KEY_DOWNLOAD_LOGS,
enabled: false,
id: item.id,
fileInfo: {
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/api/useBulkOperationUsers.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const useBulkOperationUsers = (options) => {

const { data, isLoading } = useQuery({
queryKey: ['bulkOperationUsers'],
queryFn: () => ky.get(`bulk-operations/list-users?query=(entityType==("${CAPABILITIES.USER}" or "${CAPABILITIES.ITEM}" or "${CAPABILITIES.HOLDING}"))&limit=100&offset=0`).json(),
queryFn: () => ky.get(`bulk-operations/list-users?query=(entityType==("${CAPABILITIES.USER}" or "${CAPABILITIES.ITEM}" or "${CAPABILITIES.HOLDING}"))&offset=0`).json(),
...options,
});

Expand Down
7 changes: 6 additions & 1 deletion src/hooks/api/useFileDownload.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
import { useQuery } from 'react-query';
import { useOkapiKy } from '@folio/stripes/core';

export const QUERY_KEY_DOWNLOAD_LOGS = 'downloadLogs';
export const QUERY_KEY_DOWNLOAD_ACTION_MENU = 'downloadActionMenu';
export const QUERY_KEY_DOWNLOAD_IN_APP = 'downloadInApp';

export const useFileDownload = ({
id,
fileInfo,
onSuccess,
queryKey,
...queryProps
}) => {
const ky = useOkapiKy();

const { refetch } = useQuery(
{
queryKey: ['downloadFile', id, fileInfo],
queryKey: [queryKey, id, fileInfo],
queryFn: () => ky.get(`bulk-operations/${id}/download`, {
searchParams: { fileContentType: fileInfo?.fileContentType },
}).blob(),
Expand Down
30 changes: 15 additions & 15 deletions translations/ui-bulk-edit/cs_CZ.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"list.logSubTitle": "Nastavte kritéria pro zahájení hromadných úprav",
"list.filters.identifier": "Identifikátor",
"list.filters.query": "Dotaz",
"list.result.emptyMessage": "Vyberte \"identifikátor záznamu\", když jste na kartě Identifikátor. Zadejte \"vyhledávací dotaz\" na kartě Dotaz",
"list.result.emptyMessage": "Na kartě Identifikátor vyberte „identifikátor záznamu“.",
"list.filters.recordIdentifier": "Identifikátor záznamu",
"list.filters.recordIdentifier.placeholder": "Vybrat identifikátor záznamu",
"list.filters.recordIdentifier.userUUIDs": "UUID uživatelů",
Expand Down Expand Up @@ -41,15 +41,15 @@
"menuGroup.actions": "Akce",
"menuGroup.showColumns": "Zobrazit sloupce",
"meta.title.conformationModal": "Hromadná úprava: <b>{fileName}</b>",
"conformationModal.message": "{count} záznamy budou aktualizovány, pokud kliknete na tlačítko <b>Provést změny</b>.",
"recordsSuccessfullyChanged": "{value} záznamů bylo úspěšně změněno",
"conformationModal.message": "{count, number} záznamů bude aktualizováno, pokud kliknete na tlačítko <b>Potvrdit změny</b> .",
"recordsSuccessfullyChanged": "{value, number} záznamů bylo úspěšně změněno",
"error.sww": "Něco se pokazilo",
"list.logSubTitle.matched": "{count} shoda záznamů",
"list.logSubTitle.matched": "{count, number} záznamů se shoduje",
"list.preview.title": "Náhled porovnaného záznamu",
"preview.file.title": "Název souboru: {fileUploadedName}",
"preview.query.title": "Dotaz: {queryText}",
"list.errors.title": "Chyby",
"list.errors.info": "<b>{fileName}: {entries} záznamy * {matched} přiřazené záznamy * {errors} chyby</b>",
"list.errors.info": "<b>{fileName}: {entries, number} záznamů * {matched, number} záznamů odpovídá * {errors, number} chyb</b>",
"list.errors.table.code": "Identifikátor záznamu",
"list.errors.table.message": "Důvod chyby",
"modal.successfullMessage": "{fileName} úspěšně nahrán.",
Expand All @@ -70,7 +70,7 @@
"layer.action.clear": "Vymazat pole",
"layer.confirmChanges": "Potvrďte změny",
"actions.placeholder": "Vybrat akci",
"previewModal.message": "{count} záznamů se změní, pokud kliknete na tlačítko Uložit a zavřít. Můžete zvolit Stáhnout náhled a zkontrolovat všechny změny před uložením.",
"previewModal.message": "{count, number} záznamů se změní, pokud kliknete na tlačítko Uložit a zavřít. Můžete zvolit Stáhnout náhled a zkontrolovat všechny změny před uložením.",
"previewModal.previewToBeChanged": "Náhled záznamů, které mají být změněny",
"previewModal.keepEditing": "Pokračovat v úpravách",
"previewModal.downloadPreview": "Stáhnout náhled",
Expand All @@ -93,7 +93,7 @@
"list.result.emptyMessage.USER_NAME": "Přetáhnout nebo vybrat soubor s uživatelskými jmény",
"uploaderSubTitle.EXTERNAL_SYSTEM_ID": "Vyberte soubor s externími ID",
"uploaderSubTitle.USER_NAME": "Vyberte soubor s uživatelskými jmény",
"list.result.emptyMessage.item": "Vyberte \"identifikátor záznamu\", když jste na kartě Identifikátor. Zadejte \"vyhledávací dotaz\" na kartě Dotaz",
"list.result.emptyMessage.item": "Na kartě Identifikátor vyberte „identifikátor záznamu“.",
"list.result.emptyMessage.item.BARCODE": "Přetáhnout nebo vybrat soubor s čárovým kódem jednotky",
"list.result.emptyMessage.item.ID": "Přetáhnout nebo vybrat soubor s UUID jednotek",
"list.result.emptyMessage.item.HRID": "Přetáhnout nebo vybrat soubor s HRID jednotek",
Expand All @@ -108,7 +108,7 @@
"uploaderSubTitle.item.ACCESSION_NUMBER": "Vybrat soubor s přístupovým číslem jednotky",
"uploaderSubTitle.item.HOLDINGS_RECORD_ID": "Vybrat soubor s UUID holdingů",
"layer.selectLocation": "Zvolit lokaci",
"list.logSubTitle.changed": "{count} záznamů změněno",
"list.logSubTitle.changed": "{count, number} záznamů změněno",
"list.preview.titleChanged": "Náhled záznamu změněn",
"modal.fileExtensions.blocked.message2": "Lze nahrát pouze jeden soubor s příponou .csv.",
"layer.options.expirationDate": "Datum platnosti",
Expand All @@ -125,7 +125,7 @@
"list.filters.recordIdentifier.holdings.holdingsHRID": "HRID holdingů",
"list.filters.recordIdentifier.holdings.instanceHRID": "HRID titulu",
"list.filters.recordIdentifier.holdings.itemBarcodes": "Čárové kódy jednotek",
"list.result.emptyMessage.holdings": "Na kartě Identifikátor vyberte „identifikátor záznamu“. Na kartě Dotaz zadejte „vyhledávací dotaz“.",
"list.result.emptyMessage.holdings": "Na kartě Identifikátor vyberte „identifikátor záznamu“.",
"list.result.emptyMessage.holdings.ID": "Přetáhnout nebo vybrat soubor s UUID jednotek",
"list.result.emptyMessage.holdings.INSTANCE_HRID": "Přetáhnout nebo vybrat soubor s HRID titulů",
"list.result.emptyMessage.holdings.ITEM_BARCODE": "Přetáhnout nebo vybrat soubor s čárovým kódem jednotky",
Expand Down Expand Up @@ -161,15 +161,15 @@
"columns.logs.editing": "Úpravy",
"columns.logs.actions": "Akce",
"list.actions.download": "Stáhnout",
"retrievedDataList.title": "Bylo nalezeno {matched} odpovídajících {capability} záznamů.",
"retrievedDataList.title": "Nalezeno {matched, number} odpovídajících {capability} záznamů.",
"columns.logs.operationType": "Typ hromadné operace",
"columns.logs.entityType": "Typ záznamu",
"columns.logs.userId": "Provozuje",
"columns.logs.startTime": "Zahájeno",
"columns.logs.endTime": "Ukončeno",
"columns.logs.totalNumOfRecords": "# záznamů",
"columns.logs.processedNumOfRecords": "Zpracováno",
"list.errors.infoProcessed": "<b>{fileName}: {entries} záznamy * {matched} záznamů změněno * {errors} chyby</b>",
"list.errors.infoProcessed": "<b>{fileName}: {entries, number} záznamů * {matched, number} záznamů změněno * {errors, number} chyb</b>",
"logs.actions.linkToTriggeringCsvFile": "Soubor, který byl použit ke spuštění hromadné úpravy",
"logs.actions.linkToMatchedRecordsCsvFile": "Soubor s odpovídajícími záznamy",
"logs.actions.linkToMatchedRecordsErrorsCsvFile": "Soubor s chybami zjištěnými během porovnávání záznamů",
Expand Down Expand Up @@ -353,11 +353,11 @@
"permissionsModal.save": "Uložit a zavřít",
"permissionsModal.totalSelected": "Celkem vybráno: {count, number}",
"layer.options.items.duplicateTo": "Duplikovat do",
"list.result.emptyMessage.empty": "Na kartě Identifikátor vyberte „identifikátor záznamu“. Na kartě Dotaz zadejte „vyhledávací dotaz“.",
"list.result.emptyMessage.empty": "Na kartě Identifikátor vyberte „identifikátor záznamu“.",
"uploaderSubTitle.empty": "Vybrat soubor s identifikátory záznamu",
"logs.filter.title.user": "Uživatel",
"logs.filter.user.placeholder": "Vybrat uživatele",
"columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Instance (Title, Publisher, Publication date)",
"category.holdingsNotes": "Holdings notes",
"category.holdingsLocation": "Holdings location"
"columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Titul (Název, Vydavatel, Datum publikace)",
"category.holdingsNotes": "Poznámky holdingů",
"category.holdingsLocation": "Lokace holdingů"
}
4 changes: 2 additions & 2 deletions translations/ui-bulk-edit/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
"list.filters.recordIdentifier.userUUIDs": "User UUIDs",
"list.filters.recordIdentifier.userBarcodes": "User Barcodes",
"list.filters.recordIdentifier.externalIDs": "External IDs",
"list.filters.recordIdentifier.usernames": "Usernames",
"list.filters.recordIdentifier.usernames": "Usuarios",
"uploaderBtnText": "or choose file",
"uploaderSubTitle": "Select a file with record identifiers",
"uploaderTitle": "Drag and drop",
"uploaderActiveTitle": "Drop to continue",
"uploading": "Uploading",
"cancel": "Cancel",
"cancel": "Cancelar",
"modal.fileExtensions.blocked.header": "Invalid file",
"modal.fileExtensions.blocked.message": "Only file with .csv extension can be uploaded.",
"modal.fileExtensions.actionButton": "Choose other file to upload",
Expand Down
38 changes: 19 additions & 19 deletions translations/ui-bulk-edit/es_ES.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
"list.filters.recordIdentifier.userUUIDs": "User UUIDs",
"list.filters.recordIdentifier.userBarcodes": "User Barcodes",
"list.filters.recordIdentifier.externalIDs": "Identificadores externos",
"list.filters.recordIdentifier.usernames": "Usernames",
"list.filters.recordIdentifier.usernames": "Usuarios",
"uploaderBtnText": "or choose file",
"uploaderSubTitle": "Select a file with record identifiers",
"uploaderTitle": "Drag and drop",
"uploaderActiveTitle": "Drop to continue",
"uploading": "Uploading",
"cancel": "Cancel",
"cancel": "Cancelar",
"modal.fileExtensions.blocked.header": "Invalid file",
"modal.fileExtensions.blocked.message": "Only file with .csv extension can be uploaded.",
"modal.fileExtensions.actionButton": "Choose other file to upload",
Expand Down Expand Up @@ -195,7 +195,7 @@
"columns.USER.User id": "User id",
"columns.USER.External system id": "External System ID",
"columns.USER.Barcode": "Barcode",
"columns.USER.Active": "Active",
"columns.USER.Active": "Activo",
"columns.USER.Type": "Type",
"columns.USER.Patron group": "Patron group",
"columns.USER.Departments": "Departments",
Expand Down Expand Up @@ -295,8 +295,8 @@
"columns.HOLDINGS_RECORD.Source": "Source",
"columns.HOLDINGS_RECORD.Instance HRID": "Instance HRID",
"columns.HOLDINGS_RECORD.Item barcode": "Item barcode",
"list.preview.table.status.true": "Active",
"list.preview.table.status.false": "Inactive",
"list.preview.table.status.true": "Activo",
"list.preview.table.status.false": "Inactivo",
"columns.logs.hrId": "ID",
"layer.options.items.true": "Set true",
"layer.options.items.false": "Set false",
Expand Down Expand Up @@ -324,39 +324,39 @@
"ariaLabel.location": "Location",
"ariaLabel.statusSelect": "Status select",
"ariaLabel.loanTypeSelect": "Loan type select",
"category.itemNotes": "Item notes",
"layer.selectNoteType": "Select note type",
"category.itemNotes": "Notas del item",
"layer.selectNoteType": "Seleccionar tipo de nota",
"layer.options.items.changeNote": "Change note type",
"ariaLabel.actionsSelect": "Actions select",
"layer.options.items.removeNote": "Remove",
"logs.infoPopover": "Files are unavailable for download because 30 days have elapsed since the date the job was run.",
"permissionsModal.title": "Select Permissions",
"permissionsModal.title": "Seleccionar permisos",
"permissionsModal.filter.title": "Search & filter",
"permissionsModal.filter.search": "Search",
"permissionsModal.filter.search": "Buscar",
"permissionsModal.filter.resetAll": "Reset all",
"permissionsModal.filter.permissionTypes": "Permission types",
"permissionsModal.filter.permissionSets": "Permission sets",
"permissionsModal.filter.permissions": "Permissions",
"permissionsModal.filter.permissions": "Permisos",
"permissionsModal.filter.assignmentStatus": "Permission assignment status",
"permissionsModal.filter.assigned": "Assigned",
"permissionsModal.filter.assigned": "Asignado",
"permissionsModal.filter.unassigned": "Unassigned",
"permissionsModal.list.columns.name": "Name",
"permissionsModal.list.columns.name": "Nombre",
"permissionsModal.list.columns.type": "Type",
"permissionsModal.list.columns.status": "Status",
"permissionsModal.list.cell.assigned": "Assigned",
"permissionsModal.list.cell.assigned": "Asignado",
"permissionsModal.list.cell.unassigned": "Unassigned",
"permissionsModal.list.cell.permissionSets": "Permission set",
"permissionsModal.list.cell.permissions": "Permission",
"permissionsModal.list.title": "Permissions",
"permissionsModal.list.cell.permissions": "Permiso",
"permissionsModal.list.title": "Permisos",
"permissionsModal.list.subTitle": "{count, number} permissions found",
"permissionsModal.cancel": "Cancel",
"permissionsModal.save": "Save & close",
"permissionsModal.cancel": "Cancelar",
"permissionsModal.save": "Guardar e cerrar",
"permissionsModal.totalSelected": "Total selected: {count, number}",
"layer.options.items.duplicateTo": "Duplicate to",
"list.result.emptyMessage.empty": "Select a \"record identifier\" when on the Identifier tab",
"uploaderSubTitle.empty": "Select a file with record identifiers",
"logs.filter.title.user": "User",
"logs.filter.user.placeholder": "Choose user",
"logs.filter.title.user": "Usuario",
"logs.filter.user.placeholder": "Elegir usuario",
"columns.HOLDINGS_RECORD.Instance (Title, Publisher, Publication date)": "Instance (Title, Publisher, Publication date)",
"category.holdingsNotes": "Holdings notes",
"category.holdingsLocation": "Holdings location"
Expand Down
4 changes: 2 additions & 2 deletions translations/ui-bulk-edit/pt_BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
"modal.successfullMessage": "{fileName} carregado com sucesso.",
"modal.next": "Próximo",
"conformationModal.commitChanges": "Confirmar as alterações",
"list.filters.recordIdentifier.item.barcode": "Código de barras do exemplar",
"list.filters.recordIdentifier.item.barcode": "Código de barras do item",
"list.filters.recordIdentifier.item.UUID": "UUIDs de exemplares",
"list.filters.recordIdentifier.item.ItemHRIDs": "HRIDs de exemplares",
"list.filters.recordIdentifier.item.former": "Identificador anterior do exemplar",
Expand Down Expand Up @@ -94,7 +94,7 @@
"uploaderSubTitle.EXTERNAL_SYSTEM_ID": "Selecione um arquivo com IDs externos",
"uploaderSubTitle.USER_NAME": "Selecione um arquivo com Usernames",
"list.result.emptyMessage.item": "Selecione um \"identificador de registro\" quando estiver na guia Identificador",
"list.result.emptyMessage.item.BARCODE": "Arraste e solte ou escolha o arquivo com o código de barras do exemplar",
"list.result.emptyMessage.item.BARCODE": "Arraste e solte ou escolha o arquivo com o código de barras do item",
"list.result.emptyMessage.item.ID": "Arraste e solte ou escolha o arquivo com UUIDs de exemplar",
"list.result.emptyMessage.item.HRID": "Arraste e solte ou escolha o arquivo com HRIDs do exemplar",
"list.result.emptyMessage.item.FORMER_IDS": "Arrastar e soltar ou escolher arquivo com o item identificador anterior",
Expand Down
Loading

0 comments on commit f78fed2

Please sign in to comment.