]> git.mjollnir.org Git - moodle.git/commitdiff
grade items in xml export should not be checkable if they have no idnumbers
authortoyomoyo <toyomoyo>
Mon, 13 Aug 2007 09:29:12 +0000 (09:29 +0000)
committertoyomoyo <toyomoyo>
Mon, 13 Aug 2007 09:29:12 +0000 (09:29 +0000)
grade/export/grade_export_form.php
grade/export/lib.php
grade/export/xml/index.php

index 657fbe279e8757555bc0d29a85d8c6e57b461e11..658a481a5ebf2ab0e8fda507aae9f8b105ce5916 100755 (executable)
@@ -5,9 +5,12 @@ class grade_export_form extends moodleform {
     function definition (){
         global $CFG;
         include_once($CFG->libdir.'/pear/HTML/QuickForm/advcheckbox.php');
-
         $mform =& $this->_form;
-
+        if (isset($this->_customdata['plugin'])) {
+            $plugin = $this->_customdata['plugin'];
+        } else {
+            $plugin = 'unknown';
+        }
         $mform->addElement('advcheckbox', 'export_letters', get_string('exportletters', 'grades'));
         $mform->setDefault('export_letters', 0);
         $mform->setHelpButton('export_letters', array(false, get_string('exportletters', 'grades'),
@@ -18,13 +21,25 @@ class grade_export_form extends moodleform {
         $id = $this->_customdata['id']; // course id
         $mform->addElement('hidden', 'id', $id);
         if ($grade_items = grade_item::fetch_all(array('courseid'=>$id))) {
+            $noidnumber = false;
             foreach ($grade_items as $grade_item) {
-                $element = new HTML_QuickForm_advcheckbox('itemids[]', null, $grade_item->get_name(), array('selected'=>'selected'), array(0, $grade_item->id));
-                $element->setChecked(1);
+                
+                if ($plugin != 'xmlexport' || $grade_item->idnumber) {
+                    $element = new HTML_QuickForm_advcheckbox('itemids[]', null, $grade_item->get_name(), array('selected'=>'selected'), array(0, $grade_item->id));
+                    $element->setChecked(1);
+                } else {
+                    $noidnumber = true;
+                    $element = new HTML_QuickForm_advcheckbox('itemids[]', null, $grade_item->get_name(), array('disabled'=>'disabled'), array(0, $grade_item->id));               
+                }
+                
                 $mform->addElement($element);
             }
         }
         
+        if ($noidnumber) {
+            $mform->addElement('static', 'noidnumber',  '', get_string('noidnumber')); 
+        }
+        
         $options = array('10'=>10, '20'=>20, '100'=>100, '1000'=>1000, '100000'=>100000);
         $mform->addElement('select', 'previewrows', 'Preview rows', $options); // TODO: localize
         $mform->setType('previewrows', PARAM_INT);
index 4dc81538f2950eeba8c742df527a4a2afb237467..211ef42954befa5a2638b5aa37c33e987bdab7dd 100755 (executable)
@@ -30,12 +30,12 @@ require_once($CFG->dirroot.'/grade/lib.php');
  * Prints all grade items for selection
  * @input int id - course id
  */
-function print_gradeitem_selections($id, $params = NULL) {
+function print_gradeitem_selections($id, $params = array()) {
     global $CFG;
     // print all items for selections
     // make this a standard function in lib maybe
     include_once('grade_export_form.php');
-    $mform = new grade_export_form(qualified_me(), array('id'=>$id));
+    $mform = new grade_export_form(qualified_me(), array('id'=>$id)+$params);
     $mform->display();
 
 }
index c07b231f8f7f17c39be7e1fa8c38de2ff62e90fa..98b7183c2a6e21f0ef9ff02ca66a6dbf643109db 100755 (executable)
@@ -66,6 +66,6 @@ if (($data = data_submitted()) && confirm_sesskey()) {
     exit;
 }
 
-print_gradeitem_selections($id);
+print_gradeitem_selections($id, array('plugin'=>'xmlexport'));
 print_footer();
 ?>