Fix page reordering on root node

When operating on root node, the parentID is 0; the page is not
found so it fails.
This commit is contained in:
Tomaž Jerman
2020-06-30 20:58:29 +02:00
committed by Denis Arh
parent 239d6fc429
commit f2b2279547
+16 -13
View File
@@ -236,23 +236,26 @@ func (svc page) Reorder(namespaceID, parentID uint64, pageIDs []uint64) (err err
return err
}
// Reordering on root mode -- check if user can create pages.
if parentID == 0 && !svc.ac.CanCreatePage(svc.ctx, ns) {
return PageErrNotAllowedToUpdate()
}
if parentID == 0 {
// Reordering on root mode -- check if user can create pages.
if !svc.ac.CanCreatePage(svc.ctx, ns) {
return PageErrNotAllowedToUpdate()
}
} else {
// Validate permissions on parent page
if p, err = svc.pageRepo.FindByID(ns.ID, parentID); err != nil {
if repository.ErrPageNotFound.Eq(err) {
return PageErrNotFound()
}
if p, err = svc.pageRepo.FindByID(ns.ID, parentID); err != nil {
if repository.ErrPageNotFound.Eq(err) {
return PageErrNotFound()
return
}
return
}
aProps.setPage(p)
aProps.setPage(p)
if !svc.ac.CanUpdatePage(svc.ctx, p) {
return PageErrNotAllowedToUpdate()
if !svc.ac.CanUpdatePage(svc.ctx, p) {
return PageErrNotAllowedToUpdate()
}
}
return svc.pageRepo.Reorder(namespaceID, parentID, pageIDs)