Advertisement
Nom1fan

Hilan - Auto Fill Monthly Hours

Oct 31st, 2023 (edited)
734
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Auto-fill monthly attendance - Main page
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.2
  5. // @description  Auto-fill monthly attendance
  6. // @author       Mor Merhav
  7. // @match        https://jfrog-sso.net.hilan.co.il/Hilannetv2/Attendance/calendarpage.aspx*
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. function sleep(ms) {
  12.   return new Promise(resolve => setTimeout(resolve, ms));
  13. }
  14.  
  15. window.addEventListener('load', async function() {
  16.     'use strict';
  17.     debugger;
  18.     const beforeBtn = document.getElementById("ctl00_mp_calendar_prev");
  19.     beforeBtn.click();
  20.  
  21.     do {
  22.         var cells = document.getElementsByClassName("calendarCpecialDay");
  23.         await sleep(1000);
  24.     } while (cells.length == 0)
  25.  
  26.     for (var i = 0; i < cells.length ; i++) {
  27.         var cell = cells[i];
  28.         if (cell.title.includes("אוטו")) {
  29.             cell.click();
  30.         }
  31.     }
  32.  
  33.     await sleep(500);
  34.  
  35.     const addDaysBtn = document.querySelector("#ctl00_mp_RefreshSelectedDays");
  36.     addDaysBtn.click();
  37.  
  38.     do {
  39.         var inputEntryCells = document.querySelectorAll('input[id*="_cellOf_ManualEntry_EmployeeReports_row_"]');
  40.         await sleep(1000);
  41.     } while (inputEntryCells.length == 0);
  42.  
  43.     var inputExitCells = document.querySelectorAll('input[id*="_cellOf_ManualExit_EmployeeReports_row_"]');
  44.     var reportTypeCells = document.querySelectorAll('select[id*="_cellOf_Symbol\.SymbolId_EmployeeReports_row_"]')
  45.  
  46.     for (i = 0; i < inputEntryCells.length; i++) {
  47.        var inputEntryCell = inputEntryCells[i];
  48.        if (inputEntryCell.value == '') {
  49.            inputEntryCell.value = '09:30';
  50.            inputEntryCell.focus();
  51.            var inputExitCell = inputExitCells[i];
  52.            inputExitCell.focus();
  53.            inputExitCell.value = '19:00';
  54.            var reportTypeCell = reportTypeCells[i];
  55.            reportTypeCell.selectedIndex = 1;
  56.        }
  57.     }
  58.  
  59.     document.querySelector("#ctl00_mp_RG_Days_17711420_2023_10_btnSave").click();
  60. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement