Автор скрипта @OlegROA

Дисклеймер публикации

Я не против. Но не обещаю их поддерживать из-за недостатка свободного времени. На правах "as is".OlegROA

Не забывайте читать комментарии внутри скрипта!

Сам скрипт: js-код для удаления расписания параллели (2025-26 учебный год)

 

Удаление расписания заданной параллели на заданную неделю

Шаг 1:

1. ОБЯЗАТЕЛЬНО заходите в старую админку, на любую страницу.
2. Открываете в браузере панель инструментов разработчика.
3. Переходите на закладку Консоль.
4. Открываете файл со скриптом и копируете блок «Подключение jQuery» в окно консоли (в ФайрФоксе возможно придется подтвердить вставку кода ручным вводом указанной фразы).
5. Жмете Enter.

// ==================================================================
// Подключение jQuery - НАЧАЛО.
// Выполняется ОДИН РАЗ после каждого обновления страницы.
//
// !!!
// Не запускайте этот скрипт подключения jQuery вместе с запуском
// основного скрипта - для выполнения подключения нужно некоторое
// время (порядка одной секунды), но движек JavaScript не ждет
// завершения операции и продолжает выполнение скрипта - на первом же
// вызове jQuery будет выдана ошибка, потому что jQuery еще не успел
// подключиться.
// !!!
// ==================================================================
var jq = document.createElement('script');
jq.src = "https://code.jquery.com/jquery-3.7.1.min.js";
document.head.appendChild(jq);
// Подключение jQuery - КОНЕЦ.

 

Шаг 2:

6. Копируете основной код скрипта в окно консоли (в ФайрФоксе возможно придется подтвердить вставку кода ручным вводом указанной фразы).
7. Жмете Enter.

!!! Скрипт запрашивает поочередно номер параллели, номер недели и после дополнительного подтверждения выполняет удаление.
На любом из этих этапов можно прервать работу скрипта просто нажав на кнопку «Отменить».
Внимательно вводите все параметры!!!

!!! В СКРИПТЕ НИЧЕГО МЕНЯТЬ НЕ НУЖНО — ВСЕ ПАРАМЕТРЫ СКРИПТ ЗАПРОСИТ У ПОЛЬЗОВАТЕЛЯ САМ.
!!! ВЫ СМОЖЕТЕ ОТКАЗАТЬ ОТ ВЫПОЛНЕНИЯ СКРИПТА НА ЛЮБОМ ЭТАПЕ ЗАПРОСА ДАННЫХ ИЛИ ПРОСТО ЗАКРЫТЬ ТЕКУЩУЮ СТРАНИЦУ БРАУЗЕРА ИЛИ САМ БРАУЗЕР.

var year_id = 13; // Идентификатор учебного года (2025-2026)

var counter = 0;
var cls_level = prompt("Введите номер параллели:");
if (cls_level && (cls_level != "0")){
jQuery.getJSON("core/api/class_units?academic_year_id="+ year_id +
               "&class_level_id="+ cls_level +"&with_home_based=true")
  .done(function(data){
    let cls = data.map(function(cls){return cls.id}).join(",");
    if (!cls || !cls.length){return};
    let week_num = prompt("Введите номер недели:");
    if (!week_num || (week_num == "0") || 
        !confirm("Вы действительно хотите удалить всё расписание классов "+ 
                 cls_level +" параллели на "+ week_num +" неделе?!")){return};
    jQuery.getJSON("jersey/api/schedules/items?academic_year_id="+ year_id +
                   "&class_unit_id="+ cls +"&week_number="+ week_num)
      .done(function(data){
        data.forEach(function(item){
          let msg = "Класс - "+ item.class_unit_name +
                    "; Группа - "+ item.group_name +
                    "; Дата - "+ item.date +"; Урок - "+ item.study_ordinal;
          jQuery.ajax({url:"jersey/api/schedules/"+ item.schedule_id +
                           "/items/"+ item.id, method:"DELETE"
                      })
            .done(function(data){console.log(++counter +". "+ msg)})
        })
      })
  })
}

 

 


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *