For users with edit permissions, but not add permissions, it was
impossible to save the editing form. The validation assuemd this value
was present, but it was not. Other code checks this field too, so I
added it rather than changing the validation and all the other uses.
// Editing question with no permission to move from category.
$mform->addElement('questioncategory', 'category', get_string('category', 'question'),
array('contexts' => array($this->categorycontext)));
+ $mform->addElement('hidden', 'usecurrentcat', 1);
+ $mform->setType('usecurrentcat', PARAM_BOOL);
+ $mform->setConstant('usecurrentcat', 1);
} else {
// Editing question with permission to move from category or save as new q.
$currentgrp = array();