From: toyomoyo Date: Wed, 11 Apr 2007 09:19:24 +0000 (+0000) Subject: adding idnumber field for course modules and modedit form X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=177d4abf1190d66212cfa848a3bf573578a653ae;p=moodle.git adding idnumber field for course modules and modedit form --- diff --git a/course/lib.php b/course/lib.php index 466eaa77ea..0fca9adaf8 100644 --- a/course/lib.php +++ b/course/lib.php @@ -2037,6 +2037,9 @@ function set_coursemodule_groupmode($id, $groupmode) { return set_field("course_modules", "groupmode", $groupmode, "id", $id); } +function set_coursemodule_idnumber($id, $idnumber) { + return set_field("course_modules", "idnumber", $idnumber, "id", $id); +} /** * $prevstateoverrides = true will set the visibility of the course module * to what is defined in visibleold. This enables us to remember the current diff --git a/course/modedit.php b/course/modedit.php index 7c7c07bc15..56e2b50c75 100644 --- a/course/modedit.php +++ b/course/modedit.php @@ -183,7 +183,6 @@ if (!empty($fromform->update)) { - if (isset($fromform->name)) { if (trim($fromform->name) == '') { unset($fromform->name); @@ -205,7 +204,11 @@ if (isset($fromform->groupmode)) { set_coursemodule_groupmode($fromform->coursemodule, $fromform->groupmode); } - + + // set cm id number + if (isset($fromform->idnumber)) { + set_coursemodule_idnumber($fromform->coursemodule, $fromform->idnumber); + } add_to_log($course->id, "course", "update mod", "../mod/$fromform->modulename/view.php?id=$fromform->coursemodule", @@ -262,7 +265,12 @@ } // make sure visibility is set correctly (in particular in calendar) set_coursemodule_visible($fromform->coursemodule, $fromform->visible); - + + // set cm idnumber + if (isset($fromform->idnumber)) { + set_coursemodule_idnumber($fromform->coursemodule, $fromform->idnumber); + } + add_to_log($course->id, "course", "add mod", "../mod/$fromform->modulename/view.php?id=$fromform->coursemodule", "$fromform->modulename $fromform->instance"); diff --git a/course/moodleform_mod.php b/course/moodleform_mod.php index 3a8b0482df..945a105705 100644 --- a/course/moodleform_mod.php +++ b/course/moodleform_mod.php @@ -68,7 +68,8 @@ class moodleform_mod extends moodleform { $mform->addElement('modgroupmode', 'groupmode', get_string('groupmode')); } $mform->addElement('modvisible', 'visible', get_string('visible')); - + $mform->addElement('text', 'idnumber', get_string('idnumber')); + $mform->setDefault('idnumber', $this->_cm->idnumber); $this->standard_hidden_coursemodule_elements(); } @@ -112,7 +113,7 @@ class moodleform_mod extends moodleform { * @return unknown */ function standard_coursemodule_elements_settings(){ - return ($this->modgroupmode_settings() + $this->modvisible_settings()); + return ($this->modgroupmode_settings() + $this->modvisible_settings() + $this->modidnumber_settings()); } /** * This is called from modedit.php to load the default for the groupmode element. @@ -124,6 +125,16 @@ class moodleform_mod extends moodleform { global $COURSE; return array('groupmode'=>groupmode($COURSE, $this->_cm)); } + /** + * This is called from modedit.php to load the default for the groupmode element. + * + * @param object $course + * @param object $cm + */ + function modidnumber_settings() { + global $COURSE; + return array('idnumber'=>$this->_cm->idnumber); + } /** * This is called from modedit.php to set the default for modvisible form element. * diff --git a/lib/db/install.xml b/lib/db/install.xml index f363bf11bf..b822924617 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -1,5 +1,5 @@ - @@ -135,8 +135,9 @@ - - + + + @@ -150,7 +151,8 @@ - + + diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index c166459be5..d992055110 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -691,6 +691,27 @@ function xmldb_main_upgrade($oldversion=0) { /// Launch add index text $result = $result && add_index($table, $index); } + + if ($result && $oldversion < 2007041100) { + + /// Define field idnumber to be added to course_modules + $table = new XMLDBTable('course_modules'); + $field = new XMLDBField('idnumber'); + $field->setAttributes(XMLDB_TYPE_CHAR, '100', null, null, null, null, null, null, 'section'); + + /// Launch add field idnumber + $result = $result && add_field($table, $field); + + /// Define index idnumber (unique) to be added to course_modules + $table = new XMLDBTable('course_modules'); + $index = new XMLDBIndex('idnumber'); + $index->setAttributes(XMLDB_INDEX_UNIQUE, array('idnumber')); + + /// Launch add index idnumber + $result = $result && add_index($table, $index); + + } + return $result; } diff --git a/version.php b/version.php index 28e6e7f466..5a011f8d46 100644 --- a/version.php +++ b/version.php @@ -6,7 +6,7 @@ // This is compared against the values stored in the database to determine // whether upgrades should be performed (see lib/db/*.php) - $version = 2007040400; // YYYYMMDD = date + $version = 2007041100; // YYYYMMDD = date // XY = increments within a single day $release = '1.9 dev'; // Human-friendly version name