From 5747c6bccd134e9982f15e4e1e5d0fa11f02ba06 Mon Sep 17 00:00:00 2001 From: Ankit Agarwal Date: Thu, 4 Oct 2012 13:04:27 +0800 Subject: [PATCH] MDL-33646 book: Adding a notice instead of error when there is no content in the book --- mod/book/lang/en/book.php | 1 + mod/book/view.php | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/mod/book/lang/en/book.php b/mod/book/lang/en/book.php index 470e18e7d9d..e15de109d5b 100644 --- a/mod/book/lang/en/book.php +++ b/mod/book/lang/en/book.php @@ -47,6 +47,7 @@ $string['editingchapter'] = 'Editing chapter'; $string['chaptertitle'] = 'Chapter title'; $string['content'] = 'Content'; $string['subchapter'] = 'Subchapter'; +$string['nocontent'] = 'No content has been added to this book yet.'; $string['numbering'] = 'Chapter formatting'; $string['numbering_help'] = '* None - Chapter and subchapter titles have no formatting * Numbers - Chapters and subchapter titles are numbered 1, 1.1, 1.2, 2, ... diff --git a/mod/book/view.php b/mod/book/view.php index 91b83b88f72..6b9365d7c40 100644 --- a/mod/book/view.php +++ b/mod/book/view.php @@ -87,13 +87,16 @@ if ($chapterid == '0') { // Go to first chapter if no given. } } -if (!$chapterid or !$chapter = $DB->get_record('book_chapters', array('id'=>$chapterid, 'bookid'=>$book->id))) { - print_error('errorchapter', 'mod_book', new moodle_url('/course/view.php', array('id'=>$course->id))); -} +$courseurl = new moodle_url('/course/view.php', array('id' => $course->id)); -// chapter is hidden for students -if ($chapter->hidden and !$viewhidden) { - print_error('errorchapter', 'mod_book', new moodle_url('/course/view.php', array('id'=>$course->id))); +// No content in the book. +if (!$chapterid) { + $PAGE->set_url('/mod/book/view.php', array('id' => $id)); + notice(get_string('nocontent', 'mod_book'), $courseurl->out(false)); +} +// Chapter doesnt exist or it is hidden for students +if ((!$chapter = $DB->get_record('book_chapters', array('id' => $chapterid, 'bookid' => $book->id))) or ($chapter->hidden and !$viewhidden)) { + print_error('errorchapter', 'mod_book', $courseurl); } $PAGE->set_url('/mod/book/view.php', array('id'=>$id, 'chapterid'=>$chapterid));