From 687f512d88eefc22257c6594ce4458c19bca3b07 Mon Sep 17 00:00:00 2001 From: Rajesh Taneja Date: Thu, 29 Sep 2011 15:18:19 +0800 Subject: [PATCH] MDL-27790 Backup: Added warning message to let user know that temporary course will be created for restoration process --- backup/util/ui/renderer.php | 10 ++++++++-- .../ui/yui/confirmcancel/confirmcancel.js | 20 +++++++++++++++++++ lang/en/backup.php | 2 ++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/backup/util/ui/renderer.php b/backup/util/ui/renderer.php index d62a243b457..4ca5414c2af 100644 --- a/backup/util/ui/renderer.php +++ b/backup/util/ui/renderer.php @@ -211,7 +211,7 @@ class core_backup_renderer extends plugin_renderer_base { * @return string */ public function course_selector(moodle_url $nextstageurl, $wholecourse = true, restore_category_search $categories = null, restore_course_search $courses=null, $currentcourse = null) { - global $CFG; + global $CFG, $PAGE; require_once($CFG->dirroot.'/course/lib.php'); $nextstageurl->param('sesskey', sesskey()); @@ -232,9 +232,15 @@ class core_backup_renderer extends plugin_renderer_base { $html .= $this->output->heading(get_string('restoretonewcourse', 'backup'), 2, array('class'=>'header')); $html .= $this->backup_detail_input(get_string('restoretonewcourse', 'backup'), 'radio', 'target', backup::TARGET_NEW_COURSE, array('checked'=>'checked')); $html .= $this->backup_detail_pair(get_string('selectacategory', 'backup'), $this->render($categories)); - $html .= $this->backup_detail_pair('', html_writer::empty_tag('input', array('type'=>'submit', 'value'=>get_string('continue')))); + $html .= $this->backup_detail_pair('', html_writer::empty_tag('input', array('type'=>'submit', 'value'=>get_string('continue'), 'class'=>'newcoursecontinue'))); $html .= html_writer::end_tag('div'); $html .= html_writer::end_tag('form'); + $config = new stdClass; + $config->title = get_string('confirmnewcoursecontinue', 'backup'); + $config->question = get_string('confirmnewcoursecontinuequestion', 'backup'); + $config->yesLabel = get_string('continue'); + $config->noLabel = get_string('cancel'); + $PAGE->requires->yui_module('moodle-backup-confirmcancel', 'M.core_backup.watch_newcoursecontinue_buttons', array($config)); } if ($wholecourse && !empty($currentcourse)) { diff --git a/backup/util/ui/yui/confirmcancel/confirmcancel.js b/backup/util/ui/yui/confirmcancel/confirmcancel.js index 267b853c01c..05395e47aac 100644 --- a/backup/util/ui/yui/confirmcancel/confirmcancel.js +++ b/backup/util/ui/yui/confirmcancel/confirmcancel.js @@ -27,4 +27,24 @@ M.core_backup.watch_cancel_buttons = function(config) { }); } +M.core_backup.watch_newcoursecontinue_buttons = function(config) { + Y.all('.newcoursecontinue').each(function(){ + this._confirmationListener = this._confirmationListener || this.on('click', function(e){ + // Prevent the default event (sumbit) from firing + e.preventDefault(); + // Create the confirm box + var confirm = new M.core.confirm(config); + // If the user clicks yes + confirm.on('complete-yes', function(e){ + // Detach the listener for the confirm box so it doesn't fire again. + this._confirmationListener.detach(); + // Simulate the original cancel button click + this.simulate('click'); + }, this); + // Show the confirm box + confirm.show(); + }, this); + }); +} + }, '@VERSION@', {'requires':['base','node','node-event-simulate','moodle-enrol-notification']}); \ No newline at end of file diff --git a/lang/en/backup.php b/lang/en/backup.php index 595c8a1248b..25c5718f1e7 100644 --- a/lang/en/backup.php +++ b/lang/en/backup.php @@ -92,6 +92,8 @@ $string['confirmcancelquestion'] = 'Are you sure you wish to cancel? Any information you have entered will be lost.'; $string['confirmcancelyes'] = 'Cancel'; $string['confirmcancelno'] = 'Stay'; +$string['confirmnewcoursecontinue'] = 'New course warning'; +$string['confirmnewcoursecontinuequestion'] = 'A temporary (hidden) course will be created by the course restoration process. To abort restoration click cancel. Do not close the browser while restoring.'; $string['coursecategory'] = 'Category the course will be restored into'; $string['courseid'] = 'Original ID'; $string['coursesettings'] = 'Course settings';