X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c429cf78187e80deb63982a282a1c6889f30291a..refs/pull/3012/head:/app/Entities/Models/Page.php diff --git a/app/Entities/Models/Page.php b/app/Entities/Models/Page.php index 123600539..fbe0db41b 100644 --- a/app/Entities/Models/Page.php +++ b/app/Entities/Models/Page.php @@ -6,6 +6,7 @@ use BookStack\Entities\Tools\PageContent; use BookStack\Uploads\Attachment; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Collection; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; use Permissions; @@ -25,9 +26,12 @@ use Permissions; */ class Page extends BookChild { - protected $fillable = ['name', 'priority', 'markdown']; + use HasFactory; - protected $simpleAttributes = ['name', 'id', 'slug']; + public static $listAttributes = ['name', 'id', 'slug', 'book_id', 'chapter_id', 'draft', 'template', 'text', 'created_at', 'updated_at', 'priority']; + public static $contentAttributes = ['name', 'id', 'slug', 'book_id', 'chapter_id', 'draft', 'template', 'html', 'text', 'created_at', 'updated_at', 'priority']; + + protected $fillable = ['name', 'priority']; public $textField = 'text'; @@ -48,19 +52,6 @@ class Page extends BookChild return parent::scopeVisible($query); } - /** - * Converts this page into a simplified array. - * - * @return mixed - */ - public function toSimpleArray() - { - $array = array_intersect_key($this->toArray(), array_flip($this->simpleAttributes)); - $array['url'] = $this->getUrl(); - - return $array; - } - /** * Get the chapter that this page is in, If applicable. * @@ -119,7 +110,7 @@ class Page extends BookChild { $parts = [ 'books', - urlencode($this->getAttribute('bookSlug') ?? $this->book->slug), + urlencode($this->book_slug ?? $this->book->slug), $this->draft ? 'draft' : 'page', $this->draft ? $this->id : urlencode($this->slug), trim($path, '/'), @@ -141,7 +132,7 @@ class Page extends BookChild /** * Get this page for JSON display. */ - public function forJsonDisplay(): Page + public function forJsonDisplay(): self { $refreshed = $this->refresh()->unsetRelations()->load(['tags', 'createdBy', 'updatedBy', 'ownedBy']); $refreshed->setHidden(array_diff($refreshed->getHidden(), ['html', 'markdown']));