diff --git a/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json b/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json index 488dcdb2ec..9fb5f4470d 100644 --- a/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json +++ b/src/i18n/org/opencastproject/adminui/languages/lang-en_US.json @@ -171,6 +171,7 @@ "EVENTS_CREATED": "The event has been created", "EVENTS_UPLOAD_STARTED": "The event is being uploaded… {{ progress }}%", "EVENTS_NOT_CREATED": "The event could not be created", + "EVENTS_UPDATED": "The event has been successfully updated", "EVENTS_UPDATED_ALL": "All events have been successfully updated", "EVENTS_NOT_UPDATED": "The event could not be saved", "EVENTS_NOT_UPDATED_ID": "The event {{ id }} could not be saved", diff --git a/src/slices/eventDetailsSlice.ts b/src/slices/eventDetailsSlice.ts index bdde6074a4..e4f323b338 100644 --- a/src/slices/eventDetailsSlice.ts +++ b/src/slices/eventDetailsSlice.ts @@ -1564,24 +1564,47 @@ export const updateAssets = createAsyncThunk('eventDetails/updateAssets', async let formData = new FormData(); let assets: { - workflow: string | undefined, options: UploadAssetOption[], } = { - workflow: uploadAssetWorkflow, options: [], }; + let assetFlavors = ""; + uploadAssetOptions.forEach((option) => { if (!!values[option.id]) { formData.append(option.id + ".0", values[option.id]); assets.options = assets.options.concat(option); + const uploadAssetFlavor = [option.flavorType, option.flavorSubType].join("/"); + if (assetFlavors.length > 0) { + assetFlavors = [assetFlavors, uploadAssetFlavor].join(","); + } else { + assetFlavors = uploadAssetFlavor; + } } }); + const uploadAssetWorkflowConfiguration: { + "downloadSourceflavorsExist": string, + "download-source-flavors": string, + } = { + "downloadSourceflavorsExist": String(assetFlavors.length > 0), + "download-source-flavors": assetFlavors, + }; + + const processing: { + workflow: string | undefined, + configuration: typeof uploadAssetWorkflowConfiguration, + } = { + workflow: uploadAssetWorkflow, + configuration: uploadAssetWorkflowConfiguration, + }; + formData.append( "metadata", JSON.stringify({ assets: assets, + processing: processing, }) ); diff --git a/src/slices/eventSlice.ts b/src/slices/eventSlice.ts index 75785a0a72..9408a454d8 100644 --- a/src/slices/eventSlice.ts +++ b/src/slices/eventSlice.ts @@ -582,7 +582,7 @@ export const postNewEvent = createAsyncThunk('events/postNewEvent', async (param ) { formData.append( uploadAssetOptions[i].id + ".0", - String(values[uploadAssetOptions[i].id]) + values[uploadAssetOptions[i].id] as File ); assets.options = assets.options.concat(uploadAssetOptions[i]); }