Skip to content

Instantly share code, notes, and snippets.

@mityukov
Created November 16, 2020 10:41
Show Gist options
  • Save mityukov/91cc26857cc43806e82fa5b18373da47 to your computer and use it in GitHub Desktop.
Save mityukov/91cc26857cc43806e82fa5b18373da47 to your computer and use it in GitHub Desktop.
UserScript: Отключает комментарии при создании нового урока в GetCourse
// ==UserScript==
// @name GetCourse: disable comments by default
// @namespace https://github.com/mityukov
// @version 0.1
// @description Отключает комментарии при создании нового урока в GetCourse
// @author mityukov@gmail.com
// @match https://*/pl/teach/control/lesson/view?id=*
// @grant GM_getValue
// @grant GM_setValue
// ==/UserScript==
(function() {
'use strict';
const lessonId = window.location.search.replace(/^.*id=([0-9]+).*$/, "$1");
var alreadyRun = GM_getValue("already_run_at_" + lessonId, false);
if (! alreadyRun) {
GM_setValue("already_run_at_" + lessonId, true);
const lessonTitle = document.querySelector('.lesson-title-value').innerText.trim();
const url = `https://${window.location.hostname}/teach/control/lesson/update/id/${lessonId}/part/mission`;
const formData = new FormData();
formData.append('MissionParamsObject[has_mission]', '0');
formData.append('MissionParamsObject[mission_text]', '');
formData.append('openInNewWindow', 'on');
formData.append('asButton', 'on');
formData.append('questions', JSON.stringify({
"questions": [],
"deleted": false,
"defaultQuestionaryName": lessonTitle,
"ownerType": "lesson",
"setParams": {}
}));
// this one's does the trick; others — didn't have to find unnecessary ones
formData.append('MissionParamsObject[free_comment_allowed]', '0');
formData.append('Lesson[is_promo]', '0');
formData.append('Lesson[readonly_without_access]', '0');
formData.append('MissionParamsObject[answers_default_sort]', 'asc');
formData.append('save', 'Сохранить');
fetch(url, {
method: 'POST',
body: formData
}).then(() => {
document.querySelector('a[href$="#MissionParamsObject_free_comment_allowed"]').parentNode.childNodes[0].textContent = 'Комментарии пользователей ЗАПРЕЩЕНЫ автоматически';
});
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment