case 4763 - backup sets to keep must be at least 1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -20,6 +20,7 @@ IN PROGRESS
|
|||||||
- Server: in some cases opening a record that has since been deleted (for example from an old link) gave a server error, and a report printed for records of which some had since been deleted failed; it now shows a "not found" message, and the report prints the remaining records.
|
- Server: in some cases opening a record that has since been deleted (for example from an old link) gave a server error, and a report printed for records of which some had since been deleted failed; it now shows a "not found" message, and the report prints the remaining records.
|
||||||
- Server: in some cases deleting a record that is still in use elsewhere (for example a customer, unit, part or rate used on a work order, quote or PM) gave a server error; it now always says which kind of record is using it.
|
- Server: in some cases deleting a record that is still in use elsewhere (for example a customer, unit, part or rate used on a work order, quote or PM) gave a server error; it now always says which kind of record is using it.
|
||||||
- Server: the server log now records the next automatic backup time (or that automatic backup is off) each time the server starts.
|
- Server: the server log now records the next automatic backup time (or that automatic backup is off) each time the server starts.
|
||||||
|
- Backup: the [number of backups to keep](ops-form-backup.md#number-of-backups-to-keep) can no longer be set below 1; a setting of 0 already kept the most recent backup, the same as 1.
|
||||||
|
|
||||||
### AyaNova 8.3.0
|
### AyaNova 8.3.0
|
||||||
|
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ Checking this box will cause AyaNova to also back up the attached files in addit
|
|||||||
|
|
||||||
_AyaNova Subscription service keeps one backup by default and this option is not available_
|
_AyaNova Subscription service keeps one backup by default and this option is not available_
|
||||||
|
|
||||||
The backup system will automatically remove old backups depending upon this setting. If it is set to 3 then the most recent three backups are kept.
|
The backup system will automatically remove old backups depending upon this setting. If it is set to 3 then the most recent three backups are kept. The minimum is 1: the most recent backup is always kept.
|
||||||
|
|
||||||
If you are following the disaster recovery best practice policy of 10 backup rotation as [suggested above](#10-backup-rotation) then you would only need to keep 1 current backup set.
|
If you are following the disaster recovery best practice policy of 10 backup rotation as [suggested above](#10-backup-rotation) then you would only need to keep 1 current backup set.
|
||||||
|
|
||||||
|
|||||||
@@ -79,9 +79,15 @@ namespace AyaNova.Api.Controllers
|
|||||||
GlobalOpsBackupSettingsBiz biz = GlobalOpsBackupSettingsBiz.GetBiz(ct, HttpContext);
|
GlobalOpsBackupSettingsBiz biz = GlobalOpsBackupSettingsBiz.GetBiz(ct, HttpContext);
|
||||||
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType))
|
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
var o = await biz.PutAsync(updatedObject);
|
var o = await biz.PutAsync(updatedObject);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
return StatusCode(409, new ApiErrorResponse(biz.Errors));
|
{
|
||||||
|
//case 4763: the settings can now fail validation, which is not a concurrency conflict
|
||||||
|
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
|
||||||
|
return StatusCode(409, new ApiErrorResponse(biz.Errors));
|
||||||
|
else
|
||||||
|
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||||
|
}
|
||||||
return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency }));
|
return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency }));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -112,8 +112,12 @@ namespace AyaNova.Biz
|
|||||||
//Can save or update?
|
//Can save or update?
|
||||||
private void Validate(GlobalOpsBackupSettings inObj)
|
private void Validate(GlobalOpsBackupSettings inObj)
|
||||||
{
|
{
|
||||||
|
#if (!SUBSCRIPTION_BUILD)
|
||||||
//currently nothing to validate
|
//case 4763: at least the newest backup is always kept, so fewer than 1 is not a setting (it was treated as 1)
|
||||||
|
//the subscription build always keeps 1 and its form doesn't show this setting
|
||||||
|
if (inObj.BackupSetsToKeep < 1)
|
||||||
|
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "BackupSetsToKeep");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user