]> git.mjollnir.org Git - moodle.git/commitdiff
some fixes for disabledIf and using disabledIf in course/edit_form.php
authorjamiesensei <jamiesensei>
Tue, 28 Nov 2006 08:04:00 +0000 (08:04 +0000)
committerjamiesensei <jamiesensei>
Tue, 28 Nov 2006 08:04:00 +0000 (08:04 +0000)
course/edit_form.php
lib/form/submit.php
lib/formslib.php
lib/javascript-static.js

index 9817d46e9eca25a1e97344ee759a591df789a025..464bcea17c2bf13b52b6a7072ba99de18fc9c6eb 100644 (file)
@@ -214,9 +214,10 @@ class course_edit_form extends moodleform {
         $enroldatestartgrp = array();
         $enroldatestartgrp[] = &MoodleQuickForm::createElement('date_selector', 'enrolstartdate');
         $enroldatestartgrp[] = &MoodleQuickForm::createElement('checkbox', 'enrolstartdisabled', null, get_string('disable'));
-        $mform->addGroup($enroldatestartgrp, '', get_string('enrolstartdate'), ' ', false);
+        $mform->addGroup($enroldatestartgrp, 'enrolstartdategrp', get_string('enrolstartdate'), ' ', false);
         $mform->setDefault('enrolstartdate', 0);
         $mform->setDefault('enrolstartdisabled', 1);
+        $mform->disabledIf('enrolstartdategrp', 'enrolstartdisabled', 'checked');
 
         $enroldateendgrp = array();
         $enroldateendgrp[] = &MoodleQuickForm::createElement('date_selector', 'enrolenddate');
@@ -224,6 +225,7 @@ class course_edit_form extends moodleform {
         $mform->addGroup($enroldateendgrp, 'enroldateendgrp', get_string('enrolenddate'), ' ', false);
         $mform->setDefault('enrolenddate', 0);
         $mform->setDefault('enrolenddisabled', 1);
+        $mform->disabledIf('enroldateendgrp', 'enrolenddisabled', 'checked');
 
         $periodmenu=array();
         $periodmenu[0] = get_string('unlimited');
@@ -331,16 +333,15 @@ class course_edit_form extends moodleform {
             $options = array();
             $options['0'] = get_string('no');
             $options['1'] = get_string('yes');
-            $mform->addElement('select', 'restrictmodules', get_string('restrictmodules'), $options,
-                    array('onChange'=>"document.getElementById('id_allowedmods').disabled=".
-                                "((this.selectedIndex==0)?true:false);"));
+            $mform->addElement('select', 'restrictmodules', get_string('restrictmodules'), $options);
             $mods = array(0=>get_string('allownone'));
             $mods += get_records_menu('modules', '','','','id, name');
 
 
-            $mform->addElement('select', 'allowedmods', get_string('to'),$mods,
-                            array('multiple'=>'multiple', 'size'=>'10', 'id'=>'allowedmods'));
-        }else {
+            $mform->addElement('select', 'allowedmods', get_string('to'), $mods,
+                            array('multiple'=>'multiple', 'size'=>'10'));
+            $mform->disabledIf('allowedmods', 'restrictmodules', 'eq', 0);
+        } else {
             $mform->addElement('hidden', 'restrictmodules', null);
         }
         if ($CFG->restrictmodulesfor == 'all') {
@@ -352,8 +353,7 @@ class course_edit_form extends moodleform {
         $mform->setType('restrictmodules', PARAM_INT);
 
 //--------------------------------------------------------------------------------
-        $mform->addElement('submit', 'submit', get_string('savechanges'));
-
+        $mform->addElement('submit', 'submitbutton', get_string('savechanges'));
 //--------------------------------------------------------------------------------
         $mform->addElement('hidden', 'id', null);
         $mform->setType('id', PARAM_INT);
@@ -377,17 +377,7 @@ class course_edit_form extends moodleform {
 
 
     }
-    function definition_after_data(){
-       $mform=&$this->_form;
-       if ($mform->elementExists('allowedmods')){
-           if ($mform->exportValue('restrictmodules')!=1){
-               $allowedmods=&$mform->getElement('allowedmods');
-               $allowedmods->
-                       updateAttributes(array('disabled'
-                        => 'disabled')) ;
-           }
-       }
-   }
+
 
 /// perform some extra moodle validation
     function validation($data){
index 05669f262364c0ecbb2b2d29852a67fb85d8157c..fe23a83309c33ed52f591ad2ad6fdc4da580a2e6 100644 (file)
@@ -27,7 +27,7 @@ class MoodleQuickForm_submit extends HTML_QuickForm_submit
         HTML_QuickForm_submit::HTML_QuickForm_submit($elementName, $value, $attributes);
         if ('cancel'==$elementName){
             //bypass form validation js :
-            $this->updateAttributes(array('onclick'=>'this.form.submit();'));
+            $this->updateAttributes(array('onclick'=>'return this.form.submit();'));
         }
     } //end constructor
 
index fa8b072df02a1cef5fc6aa49733ac519a77970e1..def85ae584c0af4c617fc8c9113973923877aabf 100644 (file)
@@ -850,6 +850,8 @@ function validate_' . $this->_attributes['id'] . '(frm) {
                 $elNames = array($group->getElementName($el->getName()));
             } elseif (is_a($el, 'HTML_QuickForm_header')) {
                 return null;
+            } elseif (method_exists($el, 'getPrivateName')) {
+                return array($el->getPrivateName());
             } else {
                 $elNames = array($el->getName());
             }
index d0ede00718d8a0188d273f5bcdd46d7b9d32ee37..2e5f03db7bdb1e902320fde03da480b9a1567edf 100644 (file)
@@ -98,10 +98,9 @@ function lockoptionsallsetup(formid) {
       form.elements[master].oldonclick = ((form.elements[master].onclick) ? form.elements[master].onclick : function () {});
       form.elements[master].oldonblur = ((form.elements[master].onblur) ? form.elements[master].onblur : function () {});
       form.elements[master].oldonchange = ((form.elements[master].onchange) ? form.elements[master].onchange : function () {});
-      form.elements[master].oldonkeypress = ((form.elements[master].onkeypress) ? form.elements[master].onkeypress : function () {});
-      form.elements[master].onclick = function(){this.oldonclick(); return lockoptionsall(this.form.id);};
-      form.elements[master].onblur = function(){this.oldonblur(); return lockoptionsall(this.form.id);};
-      form.elements[master].onchange = function(){this.oldonchange(); return lockoptionsall(this.form.id);};
+      form.elements[master].onclick = function(){this.oldonclick(); return lockoptionsall(this.form.getAttribute('id'));};
+      form.elements[master].onblur = function(){this.oldonblur(); return lockoptionsall(this.form.getAttribute('id'));};
+      form.elements[master].onchange = function(){this.oldonchange(); return lockoptionsall(this.form.getAttribute('id'));};
   }
   return lockoptionsall(formid);
 }