use the original record id in the update manage rule checks

This commit is contained in:
Gani Georgiev 2025-01-03 17:35:21 +02:00
parent 1e2a923433
commit dadbca5248
1 changed files with 2 additions and 1 deletions

View File

@ -453,7 +453,8 @@ func recordUpdate(optFinalizer func(data any) error) func(e *core.RequestEvent)
form.SetRecord(e.Record) form.SetRecord(e.Record)
manageRuleQuery := e.App.DB().Select("(1)").From(e.Collection.Name).AndWhere(dbx.HashExp{ manageRuleQuery := e.App.DB().Select("(1)").From(e.Collection.Name).AndWhere(dbx.HashExp{
e.Collection.Name + ".id": e.Record.Id, // note: use the original record id and not e.Record.Id because the record validations because may get overwritten
e.Collection.Name + ".id": e.Record.LastSavedPK(),
}) })
if !form.HasManageAccess() && if !form.HasManageAccess() &&
hasAuthManageAccess(e.App, requestInfo, e.Collection, manageRuleQuery) { hasAuthManageAccess(e.App, requestInfo, e.Collection, manageRuleQuery) {