Change to check no content errors

This commit is contained in:
Pfeil, Scott Robert 2020-11-04 09:56:00 -05:00
parent 146e44a905
commit e3b089c294

View File

@ -167,8 +167,15 @@
// Can continue loading with the page.
[MVMCoreLoadRequestOperation handleLoadObject:loadObject error:error];
} else {
} else if ([MVMCoreLoadRequestOperation hasSomethingToShow:loadObject error:error] || loadObject.operation.backgroundLoad || loadObject.requestParameters.noViewControllerToLoad) {
// Something to show, or nothing was expected to show, can finish.
[MVMCoreLoadRequestOperation loadFinished:loadObject loadedViewController:nil errorObject:error];
} else {
// Error, foreground request with no page, alert, action, or anything else to show. Abort with error.
MVMCoreErrorObject *error = [[MVMCoreErrorObject alloc] initWithTitle:[MVMCoreGetterUtility hardcodedStringWithKey:HardcodedErrorTitle] message:[MVMCoreGetterUtility hardcodedStringWithKey:HardcodedErrorCritical] code:ErrorCodeNoPageType domain:ErrorDomainNative location:[[MVMCoreLoadHandler sharedGlobal] errorLocationForRequest:loadObject]];
[MVMCoreLoadRequestOperation loadAbortedWithError:error loadObject:loadObject];
}
}];
}];
@ -725,6 +732,10 @@
}];
}
+ (BOOL)hasSomethingToShow:(nonnull MVMCoreLoadObject *)loadObject error:(nullable MVMCoreErrorObject *)error {
return loadObject.operation.alertToShow || [loadObject.responseJSON objectForKey:@"PostAction"] || [loadObject.responseJSON objectForKey:@"TopNotification"];
}
+ (void)handleError:(nonnull MVMCoreErrorObject *)error loadObject:(nonnull MVMCoreLoadObject *)loadObject showAlertForErrorIfApplicable:(BOOL)showAlertForErrorIfApplicable {
if ([loadObject.operation checkAndHandleForCancellation]) {