global $PAGE, $CFG;
if(empty($instance->typeid)){
- $tool = lti_get_tool_by_url_match($instance->toolurl);
+ $tool = lti_get_tool_by_url_match($instance->toolurl, $instance->course);
if($tool){
$typeid = $tool->id;
} else {
WHERE
coursevisible = 1
AND (course = :siteid OR course = :courseid)
+ AND state = :active
QUERY;
- $admintypes = $DB->get_records_sql($query, array('siteid' => $SITE->id, 'courseid' => $COURSE->id));
+ $admintypes = $DB->get_records_sql($query, array('siteid' => $SITE->id, 'courseid' => $COURSE->id, 'active' => LTI_TOOL_STATE_CONFIGURED));
$types = array();
$types[0] = (object)array('name' => get_string('automatic', 'lti'), 'course' => $SITE->id);
var typeSelector = Y.one('#id_typeid');
typeSelector.on('change', function(e){
+ self.updateAutomaticToolMatch();
+
self.toggleEditButtons();
});
updateAutomaticToolMatch: function(){
var toolurl = Y.one('#id_toolurl');
+ var typeSelector = Y.one('#id_typeid');
var automatchToolDisplay = Y.one('#lti_automatch_tool');
if(!automatchToolDisplay){
var url = toolurl.get('value');
- if(!url){
+ if(!url || typeSelector.get('value') > 0){
automatchToolDisplay.setStyle('display', 'none');
return;
}
.set('id', 'course_tool_group')
.set('label', M.str.lti.course_tool_types);
- typeSelector.all('option[globalTool=1]').remove().each(function(node){
+ var globalOptions = typeSelector.all('option[globalTool=1]').remove().each(function(node){
globalGroup.append(node);
});
- typeSelector.all('option[courseTool=1]').remove().each(function(node){
+ var courseOptions = typeSelector.all('option[courseTool=1]').remove().each(function(node){
courseGroup.append(node);
});
- typeSelector.append(globalGroup);
- typeSelector.append(courseGroup);
+ if(globalOptions.size() > 0){
+ typeSelector.append(globalGroup);
+ }
+
+ if(courseOptions.size() > 0){
+ typeSelector.append(courseGroup);
+ }
}
},