use BookStack\Entities\Models\Bookshelf;
use BookStack\Entities\Models\Chapter;
use BookStack\Entities\Models\Entity;
+use BookStack\Entities\Models\HasCoverImage;
use BookStack\Entities\Models\Page;
use BookStack\Entities\Repos\BookRepo;
use BookStack\Entities\Repos\ChapterRepo;
$inputData['tags'] = $this->entityTagsToInputArray($entity);
// Add a cover to the data if existing on the original entity
- if ($entity->cover instanceof Image) {
- $uploadedFile = $this->imageToUploadedFile($entity->cover);
- $inputData['image'] = $uploadedFile;
+ if ($entity instanceof HasCoverImage) {
+ $cover = $entity->cover()->first();
+ if ($cover) {
+ $inputData['image'] = $this->imageToUploadedFile($cover);
+ }
}
return $inputData;
*/
public function copyEntityPermissions(Entity $sourceEntity, Entity $targetEntity): void
{
- $targetEntity->restricted = $sourceEntity->restricted;
- $permissions = $sourceEntity->permissions()->get(['role_id', 'action'])->toArray();
+ $permissions = $sourceEntity->permissions()->get(['role_id', 'view', 'create', 'update', 'delete'])->toArray();
$targetEntity->permissions()->delete();
$targetEntity->permissions()->createMany($permissions);
$targetEntity->rebuildPermissions();