123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /**
- * ДОБАВЛЕНИЕ ЗАЯВЛЕНИЯ РОДИТЕЛЕЙ О ПРИЧИНЕ ПРОПУСКА УРОКОВ
- * Copyright © 2024, А.М.Гольдин. Modified BSD License
- */
- "use strict";
- // Аргументы: ["med", "2019-09-02", "2019-09-02", "petrov"]
- // Первый аргумент: med - медицинская справка
- // doc - документ организации</option>
- // fam - семейные обстоятельства
- // Последний аргумент - логин родителя (он же логин ребенка)
- // (с фронтенда не передается, подписывается скриптом index.js)
- // Возвращает "success" или "none"
- module.exports = async (args) => {
- try {
- if (args.length != 4) return "none";
- let vid = args[0].substr(0, 3).trim(),
- start = args[1].substr(0, 10).trim(),
- fin = args[2].substr(0, 10).trim(),
- lgn = args[3].substr(0, 30).trim();
- if (!vid || !start || !fin || !lgn) return "none";
- let dtPatt = /^\d{4}-\d{2}-\d{2}$/;
- if (!dtPatt.test(start) || !dtPatt.test(fin)) return "none";
- if (start > fin) return "none";
-
- // Определяем класс ребенка
- let pupRes = await dbFind("pupils", {Ulogin: lgn});
- if (!pupRes.length) return "none";
- let pupClass = pupRes[0].Uclass;
-
- // Пишем новую запись в базу
- await db.spravki.insert({
- Uclass: pupClass, pupil: lgn, vid: "par",
- start: start, fin: fin, prim: vid, state: "new"
- });
-
- return "success";
- }
- catch(e) {return "none";}
- };
|