X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/4ddbc9556bf02ecd31aff093ed4acb200c9fcfd6..refs/pull/5721/head:/app/Entities/Models/PageRevision.php diff --git a/app/Entities/Models/PageRevision.php b/app/Entities/Models/PageRevision.php index a3c4379a6..10ff6d901 100644 --- a/app/Entities/Models/PageRevision.php +++ b/app/Entities/Models/PageRevision.php @@ -2,15 +2,18 @@ namespace BookStack\Entities\Models; -use BookStack\Auth\User; -use BookStack\Model; +use BookStack\Activity\Models\Loggable; +use BookStack\App\Model; +use BookStack\Users\Models\User; use Carbon\Carbon; use Illuminate\Database\Eloquent\Relations\BelongsTo; /** * Class PageRevision. * + * @property mixed $id * @property int $page_id + * @property string $name * @property string $slug * @property string $book_slug * @property int $created_by @@ -20,13 +23,15 @@ use Illuminate\Database\Eloquent\Relations\BelongsTo; * @property string $summary * @property string $markdown * @property string $html + * @property string $text * @property int $revision_number * @property Page $page * @property-read ?User $createdBy */ -class PageRevision extends Model +class PageRevision extends Model implements Loggable { - protected $fillable = ['name', 'html', 'text', 'markdown', 'summary']; + protected $fillable = ['name', 'text', 'summary']; + protected $hidden = ['html', 'markdown', 'text']; /** * Get the user that created the page revision. @@ -46,27 +51,16 @@ class PageRevision extends Model /** * Get the url for this revision. - * - * @param null|string $path - * - * @return string */ - public function getUrl($path = null) + public function getUrl(string $path = ''): string { - $url = $this->page->getUrl() . '/revisions/' . $this->id; - if ($path) { - return $url . '/' . trim($path, '/'); - } - - return $url; + return $this->page->getUrl('/revisions/' . $this->id . '/' . ltrim($path, '/')); } /** * Get the previous revision for the same page if existing. - * - * @return \BookStack\Entities\PageRevision|null */ - public function getPrevious() + public function getPrevious(): ?PageRevision { $id = static::newQuery()->where('page_id', '=', $this->page_id) ->where('id', '<', $this->id) @@ -90,4 +84,9 @@ class PageRevision extends Model { return $type === 'revision'; } + + public function logDescriptor(): string + { + return "Revision #{$this->revision_number} (ID: {$this->id}) for page ID {$this->page_id}"; + } }