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 {