From c52885fc6b02fa6110668da9f31a871309cb7bb4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 25 Aug 2024 12:14:57 +1000 Subject: [PATCH] Attachments fix (#528) * Bump version * Fix for viewing and uploading attachment files - Make sure we use the correct attribute! --- assets/release_notes.md | 7 +++++++ lib/inventree/model.dart | 14 +++++++++++++- lib/widget/attachment_widget.dart | 11 ++++++----- pubspec.yaml | 2 +- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/assets/release_notes.md b/assets/release_notes.md index 5fced5e1..bc02280b 100644 --- a/assets/release_notes.md +++ b/assets/release_notes.md @@ -1,3 +1,10 @@ +### 0.16.3 - August 2024 +--- + +- Fixes bug relating to viewing attachment files +- Fixes bug relating to uploading attachment files + + ### 0.16.2 - August 2024 --- diff --git a/lib/inventree/model.dart b/lib/inventree/model.dart index 0ad4c17d..2ee62563 100644 --- a/lib/inventree/model.dart +++ b/lib/inventree/model.dart @@ -1001,11 +1001,23 @@ class InvenTreeAttachment extends InvenTreeModel { String url = URL; if (InvenTreeAPI().supportsModernAttachments) { - // All attachments are stored in a consolidated table + + if (modelType.isEmpty) { + sentryReportMessage("uploadAttachment called with empty 'modelType'"); + return false; + } + url = "attachment/"; data["model_id"] = modelId.toString(); data["model_type"] = modelType; + } else { + + if (REFERENCE_FIELD.isEmpty) { + sentryReportMessage("uploadAttachment called with empty 'REFERENCE_FIELD'"); + return false; + } + data[REFERENCE_FIELD] = modelId.toString(); } diff --git a/lib/widget/attachment_widget.dart b/lib/widget/attachment_widget.dart index 78d4dada..bc700f4d 100644 --- a/lib/widget/attachment_widget.dart +++ b/lib/widget/attachment_widget.dart @@ -76,7 +76,11 @@ class _AttachmentWidgetState extends RefreshableState { showLoadingOverlay(context); - final bool result = await widget.attachmentClass.uploadAttachment(file, widget.attachmentClass.MODEL_TYPE, widget.modelId); + final bool result = await widget.attachmentClass.uploadAttachment( + file, + widget.attachmentClass.REF_MODEL_TYPE, + widget.modelId + ); hideLoadingOverlay(); @@ -137,7 +141,7 @@ class _AttachmentWidgetState extends RefreshableState { Map filters = {}; if (InvenTreeAPI().supportsModernAttachments) { - filters["model_type"] = widget.attachmentClass.MODEL_TYPE; + filters["model_type"] = widget.attachmentClass.REF_MODEL_TYPE; filters["model_id"] = widget.modelId.toString(); } else { filters[widget.attachmentClass.REFERENCE_FIELD] = widget.modelId.toString(); @@ -148,10 +152,7 @@ class _AttachmentWidgetState extends RefreshableState { ).then((var results) { attachments.clear(); - print("Found ${results.length} results:"); - for (var result in results) { - print(result.toString()); if (result is InvenTreeAttachment) { attachments.add(result); } diff --git a/pubspec.yaml b/pubspec.yaml index 75aebf60..a00d6866 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: inventree description: InvenTree stock management -version: 0.16.2+88 +version: 0.16.3+89 environment: sdk: ">=2.19.5 <3.13.0"