diff --git a/backend/i18n/source/backend_en.json b/backend/i18n/source/backend_en.json
index 156c82c7c..e1f0943a1 100644
--- a/backend/i18n/source/backend_en.json
+++ b/backend/i18n/source/backend_en.json
@@ -91,9 +91,9 @@
"common.name": "Name",
"common.notFoundValue": "- not found -",
"common.numDays": "Num days",
- "common.odataFailure": "Failed to parse query: {message}",
+ "common.odataFailure": "Failed to parse query: {message}, for query: {odata}",
"common.odataFilterNotValid": "OData $filter clause not valid: {message}",
- "common.odataNotSupported": "OData operation is not supported.",
+ "common.odataNotSupported": "OData operation is not supported for query: {odata}",
"common.odataSearchNotValid": "OData $search clause not valid: {message}",
"common.oldPassword": "Old password",
"common.other": "Other",
diff --git a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs
index 3e364963d..90e3abde6 100644
--- a/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs
+++ b/backend/src/Squidex.Domain.Apps.Entities/Assets/Queries/AssetQueryParser.cs
@@ -133,11 +133,17 @@ namespace Squidex.Domain.Apps.Entities.Assets.Queries
}
catch (NotSupportedException)
{
- throw new ValidationException(T.Get("common.odataNotSupported"));
+ throw new ValidationException(T.Get("common.odataNotSupported", new { odata }));
}
catch (ODataException ex)
{
- throw new ValidationException(T.Get("common.odataFailure", new { message = ex.Message }), ex);
+ var message = ex.Message;
+
+ throw new ValidationException(T.Get("common.odataFailure", new { odata, message }), ex);
+ }
+ catch (Exception)
+ {
+ throw new ValidationException(T.Get("common.odataNotSupported", new { odata }));
}
}
diff --git a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs
index f94db8bcf..4befe088e 100644
--- a/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs
+++ b/backend/src/Squidex.Domain.Apps.Entities/Contents/Queries/ContentQueryParser.cs
@@ -187,11 +187,17 @@ namespace Squidex.Domain.Apps.Entities.Contents.Queries
}
catch (NotSupportedException)
{
- throw new ValidationException(T.Get("common.odataNotSupported"));
+ throw new ValidationException(T.Get("common.odataNotSupported", new { odata }));
}
catch (ODataException ex)
{
- throw new ValidationException(T.Get("common.odataFailure", new { message = ex.Message }), ex);
+ var message = ex.Message;
+
+ throw new ValidationException(T.Get("common.odataFailure", new { odata, message }), ex);
+ }
+ catch (Exception)
+ {
+ throw new ValidationException(T.Get("common.odataNotSupported", new { odata }));
}
}
diff --git a/backend/src/Squidex.Shared/Texts.resx b/backend/src/Squidex.Shared/Texts.resx
index 39f1f41e1..948e8d6c1 100644
--- a/backend/src/Squidex.Shared/Texts.resx
+++ b/backend/src/Squidex.Shared/Texts.resx
@@ -359,13 +359,13 @@
Num days
- Failed to parse query: {message}
+ Failed to parse query: {message}, for query: {odata}
OData $filter clause not valid: {message}
- OData operation is not supported.
+ OData operation is not supported for query: {odata}
OData $search clause not valid: {message}
diff --git a/frontend/app/features/content/pages/content/content-page.component.ts b/frontend/app/features/content/pages/content/content-page.component.ts
index 4bfc34236..ebc057f7f 100644
--- a/frontend/app/features/content/pages/content/content-page.component.ts
+++ b/frontend/app/features/content/pages/content/content-page.component.ts
@@ -209,9 +209,9 @@ export class ContentPageComponent extends ResourceOwner implements CanComponentD
const content = this.content;
if (content) {
- this.contentsState.deleteMany([content]);
-
- this.back();
+ this.contentsState.deleteMany([content]).subscribe(() => {
+ this.back();
+ });
}
}
@@ -271,10 +271,9 @@ export class ContentPageComponent extends ResourceOwner implements CanComponentD
private loadContent(data: any, isInitial: boolean) {
this.isLoadingContent = true;
-
- this.autoSaveService.remove(this.autoSaveKey);
-
try {
+ this.autoSaveService.remove(this.autoSaveKey);
+
this.contentForm.load(data, isInitial);
this.contentForm.setEnabled(!this.content || this.content.canUpdate);
} finally {