]> BookStack Code Mirror - bookstack/commitdiff
Made new pages in chapters have a better inital priority
authorDan Brown <redacted>
Thu, 7 Apr 2016 18:03:00 +0000 (19:03 +0100)
committerDan Brown <redacted>
Thu, 7 Apr 2016 18:03:00 +0000 (19:03 +0100)
app/Http/Controllers/PageController.php
app/Repos/ChapterRepo.php

index c3d8e396c388cd45fab39082475202c2b7a87052..e250d8c8539f2f2bfe0b064d88c423f805a4e454 100644 (file)
@@ -88,7 +88,6 @@ class PageController extends Controller
 
         $input = $request->all();
         $book = $this->bookRepo->getBySlug($bookSlug);
-        $input['priority'] = $this->bookRepo->getNewPriority($book);
 
         $draftPage = $this->pageRepo->getById($pageId, true);
 
@@ -96,6 +95,12 @@ class PageController extends Controller
         $parent = $chapterId !== 0 ? $this->chapterRepo->getById($chapterId) : $book;
         $this->checkOwnablePermission('page-create', $parent);
 
+        if ($parent->isA('chapter')) {
+            $input['priority'] = $this->chapterRepo->getNewPriority($parent);
+        } else {
+            $input['priority'] = $this->bookRepo->getNewPriority($parent);
+        }
+
         $page = $this->pageRepo->publishDraft($draftPage, $input);
 
         Activity::add($page, 'page_create', $book->id);
index f9f31a7aa243e55c150277c3bd7ed6bb65ad7d13..530f550b1478342712ad572fb76318250346327a 100644 (file)
@@ -136,6 +136,18 @@ class ChapterRepo extends EntityRepo
         return $slug;
     }
 
+    /**
+     * Get a new priority value for a new page to be added
+     * to the given chapter.
+     * @param Chapter $chapter
+     * @return int
+     */
+    public function getNewPriority(Chapter $chapter)
+    {
+        $lastPage = $chapter->pages->last();
+        return $lastPage !== null ? $lastPage->priority + 1 : 0;
+    }
+
     /**
      * Get chapters by the given search term.
      * @param string $term