1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2025-07-24 07:42:07 +03:00

Converted books view setting to user setting

Also cleaned up/moved new CSS and removed redundant new book methods.
This commit is contained in:
Dan Brown
2017-12-06 16:34:26 +00:00
parent bc1302a8d8
commit 261e57fc4e
11 changed files with 75 additions and 134 deletions

View File

@ -21,15 +21,14 @@ class Book extends Entity
/**
* Returns book cover image, if book cover not exists return default cover image.
* @param int $height - Height of the image
* @param type $width - Width of the image
* @return type string
* @param int $width - Width of the image
* @return string
*/
public function getBookCover($height = 170, $width = 300)
{
$default = baseUrl('/book_default_cover.png');
$image = $this->image_id;
if ($image === 0 || $image === '0' || $image === null)
return $default;
if (!$this->image_id) return $default;
try {
$cover = $this->cover ? baseUrl($this->cover->getThumb($width, $height, false)) : $default;
} catch (\Exception $err) {
@ -38,17 +37,6 @@ class Book extends Entity
return $cover;
}
/**
* Get an excerpt of this book's name to the specified length or less.
* @param int $length
* @return string
*/
public function getHeadingExcerpt($length = 35)
{
$bookHeading = $this->name;
return strlen($bookHeading) > $length ? substr($bookHeading, 0, $length-3) . '...' : $bookHeading;
}
/**
* Get the cover image of the book
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
@ -103,14 +91,5 @@ class Book extends Entity
{
return "'BookStack\\\\Book' as entity_type, id, id as entity_id, slug, name, {$this->textField} as text,'' as html, '0' as book_id, '0' as priority, '0' as chapter_id, '0' as draft, created_by, updated_by, updated_at, created_at";
}
/**
* Get the user that created the page revision
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function createdBy()
{
return $this->belongsTo(User::class, 'created_by');
}
}

View File

@ -40,8 +40,8 @@ class BookController extends Controller
$recents = $this->signedIn ? $this->entityRepo->getRecentlyViewed('book', 4, 0) : false;
$popular = $this->entityRepo->getPopular('book', 4, 0);
$new = $this->entityRepo->getRecentlyCreated('book', 4, 0);
$booksViewType = $this->currentUser->books_view_type;
$this->setPageTitle('Books');
$booksViewType = setting()->getUser($this->currentUser, 'books_view_type', 'list');
$this->setPageTitle(trans('entities.books'));
return view('books/index', [
'books' => $books,
'recents' => $recents,

View File

@ -22,7 +22,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
* The attributes that are mass assignable.
* @var array
*/
protected $fillable = ['name', 'email', 'image_id', 'books_view_type' ];
protected $fillable = ['name', 'email', 'image_id'];
/**
* The attributes excluded from the model's JSON form.