diff --git a/logs/access.log b/logs/access.log
index 2d02a95..5103284 100644
--- a/logs/access.log
+++ b/logs/access.log
@@ -653,3 +653,212 @@
192.168.0.132 - - [01/Nov/2025:15:24:11 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1678
192.168.0.132 - - [01/Nov/2025:15:24:22 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 6942
192.168.0.132 - - [01/Nov/2025:15:24:22 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2365
+192.168.0.132 - - [03/Nov/2025:07:11:21 +0200] "GET /robots.txt HTTP/1.1" 404 207 "http://quality.moto-adv.com/robots.txt" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.0; robots.txt; +https://openai.com/searchbot" 1356
+192.168.0.132 - - [03/Nov/2025:10:31:58 +0200] "HEAD / HTTP/1.1" 200 0 "-" "-" 1580
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1651
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET /static/css/base.css HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2055
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET /static/script.js HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1888
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET /static/style.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 3648
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET /static/logo_login.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 3133
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET /static/css/login.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2265
+192.168.0.132 - - [03/Nov/2025:10:31:59 +0200] "GET /favicon.ico HTTP/1.1" 404 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1368
+192.168.0.132 - - [03/Nov/2025:10:32:09 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 1708
+192.168.0.132 - - [03/Nov/2025:10:32:09 +0200] "GET /static/script.js HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 2150
+192.168.0.132 - - [03/Nov/2025:10:32:09 +0200] "GET /static/css/login.css HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 1980
+192.168.0.132 - - [03/Nov/2025:10:32:09 +0200] "GET /static/style.css HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 1895
+192.168.0.132 - - [03/Nov/2025:10:32:09 +0200] "GET /static/logo_login.jpg HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 6018
+192.168.0.132 - - [03/Nov/2025:10:32:09 +0200] "GET /static/css/base.css HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 1854
+192.168.0.132 - - [03/Nov/2025:10:32:10 +0200] "GET /favicon.ico HTTP/1.1" 404 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" 1417
+192.168.0.132 - - [03/Nov/2025:10:32:37 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 5597
+192.168.0.132 - - [03/Nov/2025:10:32:37 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2315
+192.168.0.132 - - [03/Nov/2025:10:32:37 +0200] "GET /static/scan_me.jpg HTTP/1.1" 200 0 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 28232
+192.168.0.132 - - [03/Nov/2025:10:32:41 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 6834
+192.168.0.132 - - [03/Nov/2025:10:32:45 +0200] "GET /fg_scan HTTP/1.1" 200 32748 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 31993
+192.168.0.132 - - [03/Nov/2025:10:32:45 +0200] "GET /static/css/scan.css HTTP/1.1" 200 0 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2377
+192.168.0.132 - - [03/Nov/2025:11:48:37 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2346
+192.168.0.132 - - [03/Nov/2025:11:49:12 +0200] "GET /dashboard HTTP/1.1" 200 2932 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 9463
+192.168.0.132 - - [03/Nov/2025:11:49:42 +0200] "GET /dashboard HTTP/1.1" 200 2932 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2339
+192.168.0.132 - - [03/Nov/2025:11:49:46 +0200] "GET /dashboard HTTP/1.1" 200 2932 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2363
+192.168.0.132 - - [03/Nov/2025:11:50:07 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1412
+192.168.0.132 - - [03/Nov/2025:11:50:07 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1705
+192.168.0.132 - - [03/Nov/2025:11:50:11 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 6069
+192.168.0.132 - - [03/Nov/2025:11:50:11 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2302
+192.168.0.132 - - [03/Nov/2025:11:50:20 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1488
+192.168.0.132 - - [03/Nov/2025:11:50:20 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1673
+192.168.0.132 - - [03/Nov/2025:11:50:28 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1422
+192.168.0.132 - - [03/Nov/2025:11:50:28 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 1683
+192.168.0.132 - - [03/Nov/2025:11:50:29 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 5238
+192.168.0.132 - - [03/Nov/2025:11:50:29 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2331
+192.168.0.132 - - [03/Nov/2025:11:50:35 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 2190
+192.168.0.132 - - [03/Nov/2025:11:50:40 +0200] "GET /fg_scan HTTP/1.1" 200 32748 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 5936
+192.168.0.132 - - [03/Nov/2025:11:55:23 +0200] "POST /fg_scan HTTP/1.1" 200 32746 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" 13926
+192.168.0.132 - - [03/Nov/2025:12:03:11 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1600
+192.168.0.132 - - [03/Nov/2025:12:03:11 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1720
+192.168.0.132 - - [03/Nov/2025:12:03:14 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 6972
+192.168.0.132 - - [03/Nov/2025:12:03:15 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2323
+192.168.0.132 - - [03/Nov/2025:12:03:19 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 6757
+192.168.0.132 - - [03/Nov/2025:12:03:21 +0200] "GET /fg_scan HTTP/1.1" 200 32746 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 31759
+192.168.0.132 - - [03/Nov/2025:12:03:26 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1424
+192.168.0.132 - - [03/Nov/2025:12:03:26 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1666
+192.168.0.132 - - [03/Nov/2025:12:03:28 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5215
+192.168.0.132 - - [03/Nov/2025:12:03:29 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2343
+192.168.0.132 - - [03/Nov/2025:12:03:31 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 6803
+192.168.0.132 - - [03/Nov/2025:12:03:33 +0200] "GET /fg_scan HTTP/1.1" 200 32746 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 31209
+192.168.0.132 - - [03/Nov/2025:12:04:39 +0200] "POST /fg_scan HTTP/1.1" 200 32743 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13797
+192.168.0.132 - - [03/Nov/2025:12:58:35 +0200] "GET /dashboard HTTP/1.1" 200 2932 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2397
+192.168.0.132 - - [03/Nov/2025:12:58:40 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1491
+192.168.0.132 - - [03/Nov/2025:12:58:41 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1664
+192.168.0.132 - - [03/Nov/2025:12:58:42 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 7330
+192.168.0.132 - - [03/Nov/2025:12:58:42 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2354
+192.168.0.132 - - [03/Nov/2025:12:58:43 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2209
+192.168.0.132 - - [03/Nov/2025:12:58:44 +0200] "GET /fg_scan HTTP/1.1" 200 32743 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5933
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET /quality HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1931
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2084
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET /static/script.js HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2312
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET /static/style.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2067
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET /static/css/base.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2235
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET /static/css/login.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 3114
+192.168.0.132 - - [03/Nov/2025:13:18:19 +0200] "GET /static/logo_login.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2149
+192.168.0.132 - - [03/Nov/2025:13:18:20 +0200] "GET /favicon.ico HTTP/1.1" 404 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1678
+192.168.0.132 - - [03/Nov/2025:13:18:21 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5683
+192.168.0.132 - - [03/Nov/2025:13:18:21 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2395
+192.168.0.132 - - [03/Nov/2025:13:18:21 +0200] "GET /static/scan_me.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2433
+192.168.0.132 - - [03/Nov/2025:13:18:24 +0200] "GET /reports HTTP/1.1" 200 3277 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 7785
+192.168.0.132 - - [03/Nov/2025:13:18:26 +0200] "GET /fg_quality HTTP/1.1" 200 22317 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2471
+192.168.0.132 - - [03/Nov/2025:13:18:26 +0200] "GET /static/fg_quality.js HTTP/1.1" 200 0 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2420
+192.168.0.132 - - [03/Nov/2025:13:18:49 +0200] "GET /get_fg_report_data?report=5 HTTP/1.1" 200 3431 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 7001
+192.168.0.132 - - [03/Nov/2025:13:50:30 +0200] "GET /reports HTTP/1.1" 200 3277 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2309
+192.168.0.132 - - [03/Nov/2025:13:50:32 +0200] "GET /quality HTTP/1.1" 200 8731 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2325
+192.168.0.132 - - [03/Nov/2025:13:50:35 +0200] "GET /reports HTTP/1.1" 200 3277 "https://quality.moto-adv.com/quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2339
+192.168.0.132 - - [03/Nov/2025:13:50:38 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2384
+192.168.0.132 - - [03/Nov/2025:13:50:39 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2294
+192.168.0.132 - - [03/Nov/2025:13:50:44 +0200] "GET /fg_scan HTTP/1.1" 200 32743 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 6050
+192.168.0.132 - - [03/Nov/2025:13:50:44 +0200] "GET /static/css/scan.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2300
+192.168.0.132 - - [03/Nov/2025:13:52:27 +0200] "POST /fg_scan HTTP/1.1" 200 32740 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 40117
+192.168.0.132 - - [03/Nov/2025:15:46:04 +0200] "POST /fg_scan HTTP/1.1" 200 32736 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 12290
+192.168.0.132 - - [03/Nov/2025:15:46:44 +0200] "POST /fg_scan HTTP/1.1" 200 32733 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14099
+192.168.0.132 - - [03/Nov/2025:15:47:38 +0200] "POST /fg_scan HTTP/1.1" 200 32729 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13936
+192.168.0.132 - - [03/Nov/2025:15:48:02 +0200] "POST /fg_scan HTTP/1.1" 200 32726 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14869
+192.168.0.132 - - [03/Nov/2025:15:48:20 +0200] "POST /fg_scan HTTP/1.1" 200 32723 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13530
+192.168.0.132 - - [03/Nov/2025:15:48:46 +0200] "POST /fg_scan HTTP/1.1" 200 32719 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14615
+192.168.0.132 - - [03/Nov/2025:15:49:07 +0200] "POST /fg_scan HTTP/1.1" 200 32716 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13523
+192.168.0.132 - - [03/Nov/2025:15:49:35 +0200] "POST /fg_scan HTTP/1.1" 200 32713 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14801
+192.168.0.132 - - [03/Nov/2025:15:49:51 +0200] "POST /fg_scan HTTP/1.1" 200 32711 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14467
+192.168.0.132 - - [03/Nov/2025:15:50:11 +0200] "POST /fg_scan HTTP/1.1" 200 32720 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13977
+192.168.0.132 - - [03/Nov/2025:15:50:28 +0200] "POST /fg_scan HTTP/1.1" 200 32719 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 12785
+192.168.0.132 - - [03/Nov/2025:15:50:47 +0200] "POST /fg_scan HTTP/1.1" 200 32718 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14669
+192.168.0.132 - - [03/Nov/2025:15:51:05 +0200] "POST /fg_scan HTTP/1.1" 200 32719 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14411
+192.168.0.132 - - [03/Nov/2025:15:51:32 +0200] "POST /fg_scan HTTP/1.1" 200 32722 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14472
+192.168.0.132 - - [03/Nov/2025:15:51:57 +0200] "POST /fg_scan HTTP/1.1" 200 32723 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14983
+192.168.0.132 - - [03/Nov/2025:15:52:17 +0200] "POST /fg_scan HTTP/1.1" 200 32724 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14828
+192.168.0.132 - - [03/Nov/2025:15:52:45 +0200] "POST /fg_scan HTTP/1.1" 200 32725 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 16130
+192.168.0.132 - - [03/Nov/2025:15:53:06 +0200] "POST /fg_scan HTTP/1.1" 200 32724 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13745
+192.168.0.132 - - [03/Nov/2025:15:53:21 +0200] "POST /fg_scan HTTP/1.1" 200 32723 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14353
+192.168.0.132 - - [03/Nov/2025:15:53:37 +0200] "POST /fg_scan HTTP/1.1" 200 32722 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14507
+192.168.0.132 - - [03/Nov/2025:15:53:53 +0200] "POST /fg_scan HTTP/1.1" 200 32721 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15300
+192.168.0.132 - - [03/Nov/2025:15:54:09 +0200] "POST /fg_scan HTTP/1.1" 200 32720 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 40809
+192.168.0.132 - - [03/Nov/2025:15:54:29 +0200] "POST /fg_scan HTTP/1.1" 200 32719 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15132
+192.168.0.132 - - [03/Nov/2025:15:54:47 +0200] "POST /fg_scan HTTP/1.1" 200 32717 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14832
+192.168.0.132 - - [03/Nov/2025:15:55:05 +0200] "POST /fg_scan HTTP/1.1" 200 32716 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 42256
+192.168.0.132 - - [03/Nov/2025:15:55:21 +0200] "POST /fg_scan HTTP/1.1" 200 32715 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15012
+192.168.0.132 - - [03/Nov/2025:15:55:34 +0200] "POST /fg_scan HTTP/1.1" 200 32724 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15096
+192.168.0.132 - - [03/Nov/2025:15:55:46 +0200] "POST /fg_scan HTTP/1.1" 200 32724 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14369
+192.168.0.132 - - [03/Nov/2025:15:56:03 +0200] "POST /fg_scan HTTP/1.1" 200 32723 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15199
+192.168.0.132 - - [03/Nov/2025:15:56:20 +0200] "POST /fg_scan HTTP/1.1" 200 32724 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15271
+192.168.0.132 - - [03/Nov/2025:15:57:37 +0200] "POST /fg_scan HTTP/1.1" 200 32724 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14363
+192.168.0.132 - - [03/Nov/2025:15:58:05 +0200] "POST /fg_scan HTTP/1.1" 200 32725 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14496
+192.168.0.132 - - [03/Nov/2025:15:58:20 +0200] "POST /fg_scan HTTP/1.1" 200 32726 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15623
+192.168.0.132 - - [03/Nov/2025:15:58:38 +0200] "POST /fg_scan HTTP/1.1" 200 32727 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13830
+192.168.0.132 - - [03/Nov/2025:15:58:52 +0200] "POST /fg_scan HTTP/1.1" 200 32728 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14584
+192.168.0.132 - - [03/Nov/2025:15:59:07 +0200] "POST /fg_scan HTTP/1.1" 200 32729 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14538
+192.168.0.132 - - [03/Nov/2025:15:59:26 +0200] "POST /fg_scan HTTP/1.1" 200 32730 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15633
+192.168.0.132 - - [03/Nov/2025:15:59:38 +0200] "POST /fg_scan HTTP/1.1" 200 32731 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15577
+192.168.0.132 - - [03/Nov/2025:15:59:53 +0200] "POST /fg_scan HTTP/1.1" 200 32732 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15506
+192.168.0.132 - - [03/Nov/2025:16:00:07 +0200] "POST /fg_scan HTTP/1.1" 200 32732 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13844
+192.168.0.132 - - [03/Nov/2025:16:00:17 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2706
+192.168.0.132 - - [03/Nov/2025:16:00:19 +0200] "GET /reports HTTP/1.1" 200 3277 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2625
+192.168.0.132 - - [03/Nov/2025:16:00:23 +0200] "GET /fg_quality HTTP/1.1" 200 22317 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2857
+192.168.0.132 - - [03/Nov/2025:16:00:25 +0200] "GET /get_fg_report_data?report=5 HTTP/1.1" 200 6944 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 9772
+192.168.0.132 - - [03/Nov/2025:17:41:48 +0200] "GET /reports HTTP/1.1" 200 3277 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 8172
+192.168.0.132 - - [03/Nov/2025:17:41:48 +0200] "GET /static/style.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2737
+192.168.0.132 - - [03/Nov/2025:17:41:48 +0200] "GET /static/script.js HTTP/1.1" 304 0 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2526
+192.168.0.132 - - [03/Nov/2025:17:41:48 +0200] "GET /static/css/base.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2581
+192.168.0.132 - - [03/Nov/2025:17:41:48 +0200] "GET /static/scan_me.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2487
+192.168.0.132 - - [03/Nov/2025:17:41:49 +0200] "GET /quality HTTP/1.1" 200 8731 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2649
+192.168.0.132 - - [03/Nov/2025:17:41:52 +0200] "GET /reports HTTP/1.1" 200 3277 "https://quality.moto-adv.com/quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2659
+192.168.0.132 - - [03/Nov/2025:17:41:54 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2779
+192.168.0.132 - - [03/Nov/2025:17:41:56 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2676
+192.168.0.132 - - [03/Nov/2025:17:41:58 +0200] "GET /fg_scan HTTP/1.1" 200 32732 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 6455
+192.168.0.132 - - [03/Nov/2025:17:42:36 +0200] "POST /fg_scan HTTP/1.1" 200 32731 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14407
+192.168.0.132 - - [03/Nov/2025:17:42:54 +0200] "POST /fg_scan HTTP/1.1" 200 32730 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15836
+192.168.0.132 - - [03/Nov/2025:17:43:17 +0200] "POST /fg_scan HTTP/1.1" 200 32728 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15007
+192.168.0.132 - - [03/Nov/2025:17:43:36 +0200] "POST /fg_scan HTTP/1.1" 200 32727 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 15207
+192.168.0.132 - - [03/Nov/2025:17:44:02 +0200] "POST /fg_scan HTTP/1.1" 200 32725 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14736
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1444
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1669
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /static/css/base.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1983
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /static/style.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1853
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /static/script.js HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1734
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /static/css/login.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1750
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /static/logo_login.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1951
+192.168.0.132 - - [03/Nov/2025:17:48:40 +0200] "GET /favicon.ico HTTP/1.1" 404 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1447
+192.168.0.132 - - [03/Nov/2025:17:48:41 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5228
+192.168.0.132 - - [03/Nov/2025:17:48:41 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2347
+192.168.0.132 - - [03/Nov/2025:17:48:41 +0200] "GET /static/scan_me.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2302
+192.168.0.132 - - [03/Nov/2025:17:48:42 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2245
+192.168.0.132 - - [03/Nov/2025:17:48:43 +0200] "GET /fg_scan HTTP/1.1" 200 32725 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5854
+192.168.0.132 - - [03/Nov/2025:17:48:43 +0200] "GET /static/css/scan.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2305
+192.168.0.132 - - [03/Nov/2025:17:50:38 +0200] "POST /fg_scan HTTP/1.1" 200 32723 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13769
+192.168.0.132 - - [03/Nov/2025:17:56:04 +0200] "POST /fg_scan HTTP/1.1" 200 32721 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13391
+192.168.0.132 - - [03/Nov/2025:17:56:56 +0200] "POST /fg_scan HTTP/1.1" 200 32720 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13891
+192.168.0.132 - - [03/Nov/2025:17:57:16 +0200] "POST /fg_scan HTTP/1.1" 200 32719 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13604
+192.168.0.132 - - [03/Nov/2025:17:58:01 +0200] "POST /fg_scan HTTP/1.1" 200 32718 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 14025
+192.168.0.132 - - [03/Nov/2025:17:58:55 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1436
+192.168.0.132 - - [03/Nov/2025:17:58:55 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1670
+192.168.0.132 - - [03/Nov/2025:17:58:59 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5258
+192.168.0.132 - - [03/Nov/2025:17:58:59 +0200] "GET /dashboard HTTP/1.1" 200 2932 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2338
+192.168.0.132 - - [03/Nov/2025:17:59:04 +0200] "GET /main_scan HTTP/1.1" 200 2433 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2193
+192.168.0.132 - - [03/Nov/2025:17:59:09 +0200] "GET /fg_scan HTTP/1.1" 200 32718 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 5883
+192.168.0.132 - - [03/Nov/2025:17:59:55 +0200] "POST /fg_scan HTTP/1.1" 200 32728 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 13915
+192.168.0.132 - - [03/Nov/2025:18:31:25 +0200] "GET /quality HTTP/1.1" 302 189 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1991
+192.168.0.132 - - [03/Nov/2025:18:31:25 +0200] "GET / HTTP/1.1" 200 1627 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2071
+192.168.0.132 - - [03/Nov/2025:18:31:25 +0200] "GET /static/css/login.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2312
+192.168.0.132 - - [03/Nov/2025:18:31:25 +0200] "GET /static/logo_login.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 2293
+192.168.0.132 - - [03/Nov/2025:18:31:25 +0200] "GET /favicon.ico HTTP/1.1" 404 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36 Edg/142.0.0.0" 1725
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET / HTTP/1.1" 200 1688 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 61988
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET /static/css/login.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 12865
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET /static/style.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 2025
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET /static/css/base.css HTTP/1.1" 200 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 27863
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET /static/logo_login.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 27549
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET /static/script.js HTTP/1.1" 304 0 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 29128
+192.168.0.132 - - [03/Nov/2025:18:52:12 +0200] "GET /favicon.ico HTTP/1.1" 404 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 2657
+192.168.0.132 - - [03/Nov/2025:18:52:17 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 11441
+192.168.0.132 - - [03/Nov/2025:18:52:17 +0200] "GET /dashboard HTTP/1.1" 500 265 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 79088
+192.168.0.132 - - [03/Nov/2025:19:13:56 +0200] "GET / HTTP/1.1" 200 1688 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 63622
+192.168.0.132 - - [03/Nov/2025:19:13:59 +0200] "GET /static/style.css HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 27903
+192.168.0.132 - - [03/Nov/2025:19:14:01 +0200] "GET /js/lkk_ch.js HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 17892
+192.168.0.132 - - [03/Nov/2025:19:14:09 +0200] "GET /static/css/login.css HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 13426
+192.168.0.132 - - [03/Nov/2025:19:14:12 +0200] "GET /css/support_parent.css HTTP/1.1" 404 207 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 1465
+192.168.0.132 - - [03/Nov/2025:19:14:12 +0200] "GET /static/script.js HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 28210
+192.168.0.132 - - [03/Nov/2025:19:14:15 +0200] "GET /static/logo_login.jpg HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36" 15437
+127.0.0.1 - - [03/Nov/2025:19:32:05 +0200] "GET / HTTP/1.1" 200 1688 "-" "curl/8.14.1" 49996
+127.0.0.1 - - [03/Nov/2025:19:34:59 +0200] "GET / HTTP/1.1" 200 1688 "-" "curl/8.14.1" 61225 µs
+192.168.0.132 - - [03/Nov/2025:19:36:05 +0200] "GET /dashboard HTTP/1.1" 500 265 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 94788 µs
+192.168.0.132 - - [03/Nov/2025:19:36:08 +0200] "GET / HTTP/1.1" 200 1688 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 9191 µs
+192.168.0.132 - - [03/Nov/2025:19:36:23 +0200] "POST / HTTP/1.1" 302 207 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 26201 µs
+192.168.0.132 - - [03/Nov/2025:19:36:23 +0200] "GET /dashboard HTTP/1.1" 500 265 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 79185 µs
+127.0.0.1 - - [03/Nov/2025:19:38:11 +0200] "GET / HTTP/1.1" 200 1688 "-" "curl/8.14.1" 2159 µs
+127.0.0.1 - - [03/Nov/2025:19:42:47 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "curl/8.14.1" 17041 µs
+127.0.0.1 - - [03/Nov/2025:19:43:40 +0200] "POST / HTTP/1.1" 200 1688 "-" "curl/8.14.1" 73782 µs
+127.0.0.1 - - [03/Nov/2025:19:44:26 +0200] "GET /dashboard HTTP/1.1" 302 189 "-" "curl/8.14.1" 20144 µs
+192.168.0.132 - - [03/Nov/2025:19:44:55 +0200] "GET /dashboard HTTP/1.1" 200 3827 "https://quality.moto-adv.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 70205 µs
+192.168.0.132 - - [03/Nov/2025:19:44:55 +0200] "GET /static/scan_me.jpg HTTP/1.1" 304 0 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 13018 µs
+192.168.0.132 - - [03/Nov/2025:19:46:17 +0200] "GET /main_scan HTTP/1.1" 200 2544 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 64331 µs
+192.168.0.132 - - [03/Nov/2025:19:46:19 +0200] "GET /fg_scan HTTP/1.1" 200 32839 "https://quality.moto-adv.com/main_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 36225 µs
+192.168.0.132 - - [03/Nov/2025:19:46:19 +0200] "GET /static/css/scan.css HTTP/1.1" 304 0 "https://quality.moto-adv.com/fg_scan" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 12443 µs
+192.168.0.132 - - [03/Nov/2025:19:46:32 +0200] "GET /reports HTTP/1.1" 200 3388 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 8148 µs
+192.168.0.132 - - [03/Nov/2025:19:46:36 +0200] "GET /fg_quality HTTP/1.1" 200 22444 "https://quality.moto-adv.com/reports" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 21915 µs
+192.168.0.132 - - [03/Nov/2025:19:46:36 +0200] "GET /static/fg_quality.js HTTP/1.1" 304 0 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 2608 µs
+192.168.0.132 - - [03/Nov/2025:19:46:38 +0200] "GET /get_fg_report_data?report=1 HTTP/1.1" 200 4791 "https://quality.moto-adv.com/fg_quality" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 9459 µs
+192.168.0.132 - - [03/Nov/2025:19:46:52 +0200] "GET /settings HTTP/1.1" 200 10625 "https://quality.moto-adv.com/dashboard" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 29667 µs
+192.168.0.132 - - [03/Nov/2025:19:47:14 +0200] "GET /user_management_simple HTTP/1.1" 200 43577 "https://quality.moto-adv.com/settings" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36" 54731 µs
diff --git a/logs/error.log b/logs/error.log
index 3bed0de..f54e4f1 100644
--- a/logs/error.log
+++ b/logs/error.log
@@ -156,3 +156,498 @@
[2025-10-22 21:02:07 +0300] [317525] [INFO] Worker spawned (pid: [booting])
[2025-10-22 21:02:07 +0300] [317556] [INFO] Booting worker with pid: 317556
[2025-10-22 21:02:07 +0300] [317556] [INFO] Worker spawned (pid: 317556)
+[2025-11-03 18:40:40 +0200] [317525] [INFO] Handling signal: term
+[2025-11-03 18:40:40 +0200] [317543] [INFO] Worker exiting (pid: 317543)
+[2025-11-03 18:40:40 +0200] [317547] [INFO] Worker exiting (pid: 317547)
+[2025-11-03 18:40:40 +0200] [317548] [INFO] Worker exiting (pid: 317548)
+[2025-11-03 18:40:40 +0200] [317550] [INFO] Worker exiting (pid: 317550)
+[2025-11-03 18:40:40 +0200] [317549] [INFO] Worker exiting (pid: 317549)
+[2025-11-03 18:40:40 +0200] [317556] [INFO] Worker exiting (pid: 317556)
+[2025-11-03 18:40:40 +0200] [317551] [INFO] Worker exiting (pid: 317551)
+[2025-11-03 18:40:40 +0200] [317552] [INFO] Worker exiting (pid: 317552)
+[2025-11-03 18:40:40 +0200] [317553] [INFO] Worker exiting (pid: 317553)
+[2025-11-03 18:40:41 +0200] [317525] [INFO] Shutting down: Master
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Starting gunicorn 23.0.0
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Listening at: http://0.0.0.0:8781 (391559)
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Using worker: sync
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Trasabilitate Application server is ready. Listening on: [('0.0.0.0', 8781)]
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:56 +0200] [391582] [INFO] Booting worker with pid: 391582
+[2025-11-03 18:51:56 +0200] [391582] [INFO] Worker spawned (pid: 391582)
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:56 +0200] [391583] [INFO] Booting worker with pid: 391583
+[2025-11-03 18:51:56 +0200] [391583] [INFO] Worker spawned (pid: 391583)
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:56 +0200] [391584] [INFO] Booting worker with pid: 391584
+[2025-11-03 18:51:56 +0200] [391584] [INFO] Worker spawned (pid: 391584)
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:56 +0200] [391585] [INFO] Booting worker with pid: 391585
+[2025-11-03 18:51:56 +0200] [391585] [INFO] Worker spawned (pid: 391585)
+[2025-11-03 18:51:56 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:56 +0200] [391586] [INFO] Booting worker with pid: 391586
+[2025-11-03 18:51:56 +0200] [391586] [INFO] Worker spawned (pid: 391586)
+[2025-11-03 18:51:57 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:57 +0200] [391587] [INFO] Booting worker with pid: 391587
+[2025-11-03 18:51:57 +0200] [391587] [INFO] Worker spawned (pid: 391587)
+[2025-11-03 18:51:57 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:57 +0200] [391588] [INFO] Booting worker with pid: 391588
+[2025-11-03 18:51:57 +0200] [391588] [INFO] Worker spawned (pid: 391588)
+[2025-11-03 18:51:57 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:57 +0200] [391591] [INFO] Booting worker with pid: 391591
+[2025-11-03 18:51:57 +0200] [391591] [INFO] Worker spawned (pid: 391591)
+[2025-11-03 18:51:57 +0200] [391559] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:51:57 +0200] [391596] [INFO] Booting worker with pid: 391596
+[2025-11-03 18:51:57 +0200] [391596] [INFO] Worker spawned (pid: 391596)
+[2025-11-03 18:52:17,571] ERROR in app: Exception on /dashboard [GET]
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
+ response = self.full_dispatch_request()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
+ rv = self.handle_user_exception(e)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
+ rv = self.dispatch_request()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
+ return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
+ File "/srv/quality_app/py_app/app/routes.py", line 191, in dashboard
+ return render_template('dashboard.html')
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
+ return _render(app, template, context)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
+ rv = template.render(context)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
+ self.environment.handle_exception()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
+ raise rewrite_traceback_stack(source=source)
+ File "/srv/quality_app/py_app/app/templates/dashboard.html", line 1, in top-level template code
+ {% extends "base.html" %}
+ File "/srv/quality_app/py_app/app/templates/base.html", line 63, in top-level template code
+ {% block content %}{% endblock %}
+ ^^^^^^^^^^^^^^^^^
+ File "/srv/quality_app/py_app/app/templates/dashboard.html", line 47, in block 'content'
+ 📊 Daily Mirror Hub
+ ^^^^^^^^^^^^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1121, in url_for
+ return self.handle_url_build_error(error, endpoint, values)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1110, in url_for
+ rv = url_adapter.build( # type: ignore[union-attr]
+ endpoint,
+ ...<3 lines>...
+ force_external=_external,
+ )
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/werkzeug/routing/map.py", line 924, in build
+ raise BuildError(endpoint, values, method, self)
+werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'daily_mirror.daily_mirror_main_route'. Did you mean 'main.daily_mirror_main_route' instead?
+[2025-11-03 18:53:00 +0200] [391559] [INFO] Handling signal: term
+[2025-11-03 18:53:00 +0200] [391583] [INFO] Worker exiting (pid: 391583)
+[2025-11-03 18:53:00 +0200] [391584] [INFO] Worker exiting (pid: 391584)
+[2025-11-03 18:53:00 +0200] [391582] [INFO] Worker exiting (pid: 391582)
+[2025-11-03 18:53:00 +0200] [391585] [INFO] Worker exiting (pid: 391585)
+[2025-11-03 18:53:00 +0200] [391586] [INFO] Worker exiting (pid: 391586)
+[2025-11-03 18:53:00 +0200] [391587] [INFO] Worker exiting (pid: 391587)
+[2025-11-03 18:53:00 +0200] [391588] [INFO] Worker exiting (pid: 391588)
+[2025-11-03 18:53:00 +0200] [391591] [INFO] Worker exiting (pid: 391591)
+[2025-11-03 18:53:00 +0200] [391596] [INFO] Worker exiting (pid: 391596)
+[2025-11-03 18:53:01 +0200] [391559] [INFO] Shutting down: Master
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Starting gunicorn 23.0.0
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Listening at: http://0.0.0.0:8781 (391915)
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Using worker: sync
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Trasabilitate Application server is ready. Listening on: [('0.0.0.0', 8781)]
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:58 +0200] [391942] [INFO] Booting worker with pid: 391942
+[2025-11-03 18:53:58 +0200] [391942] [INFO] Worker spawned (pid: 391942)
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:58 +0200] [391943] [INFO] Booting worker with pid: 391943
+[2025-11-03 18:53:58 +0200] [391943] [INFO] Worker spawned (pid: 391943)
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:58 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:58 +0200] [391944] [INFO] Booting worker with pid: 391944
+[2025-11-03 18:53:58 +0200] [391944] [INFO] Worker spawned (pid: 391944)
+[2025-11-03 18:53:58 +0200] [391945] [INFO] Booting worker with pid: 391945
+[2025-11-03 18:53:58 +0200] [391945] [INFO] Worker spawned (pid: 391945)
+[2025-11-03 18:53:59 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:59 +0200] [391946] [INFO] Booting worker with pid: 391946
+[2025-11-03 18:53:59 +0200] [391946] [INFO] Worker spawned (pid: 391946)
+[2025-11-03 18:53:59 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:59 +0200] [391947] [INFO] Booting worker with pid: 391947
+[2025-11-03 18:53:59 +0200] [391947] [INFO] Worker spawned (pid: 391947)
+[2025-11-03 18:53:59 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:59 +0200] [391948] [INFO] Booting worker with pid: 391948
+[2025-11-03 18:53:59 +0200] [391948] [INFO] Worker spawned (pid: 391948)
+[2025-11-03 18:53:59 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:59 +0200] [391949] [INFO] Booting worker with pid: 391949
+[2025-11-03 18:53:59 +0200] [391949] [INFO] Worker spawned (pid: 391949)
+[2025-11-03 18:53:59 +0200] [391915] [INFO] Worker spawned (pid: [booting])
+[2025-11-03 18:53:59 +0200] [391950] [INFO] Booting worker with pid: 391950
+[2025-11-03 18:53:59 +0200] [391950] [INFO] Worker spawned (pid: 391950)
+[2025-11-03 19:31:55 +0200] [393535] [INFO] Starting gunicorn 23.0.0
+[2025-11-03 19:31:55 +0200] [393535] [INFO] ============================================================
+[2025-11-03 19:31:55 +0200] [393535] [INFO] 🚀 Trasabilitate Application - Starting Server
+[2025-11-03 19:31:55 +0200] [393535] [INFO] ============================================================
+[2025-11-03 19:31:55 +0200] [393535] [INFO] 📍 Configuration:
+[2025-11-03 19:31:55 +0200] [393535] [INFO] • Workers: 9
+[2025-11-03 19:31:55 +0200] [393535] [INFO] • Worker Class: sync
+[2025-11-03 19:31:55 +0200] [393535] [INFO] • Timeout: 120s
+[2025-11-03 19:31:55 +0200] [393535] [INFO] • Bind: 0.0.0.0:8781
+[2025-11-03 19:31:55 +0200] [393535] [INFO] • Preload App: True
+[2025-11-03 19:31:55 +0200] [393535] [INFO] • Max Requests: 1000 (+/- 100)
+[2025-11-03 19:31:55 +0200] [393535] [INFO] ============================================================
+[2025-11-03 19:31:55 +0200] [393535] [ERROR] Connection in use: ('0.0.0.0', 8781)
+[2025-11-03 19:31:55 +0200] [393535] [ERROR] connection to ('0.0.0.0', 8781) failed: [Errno 98] Address already in use
+[2025-11-03 19:31:56 +0200] [393535] [ERROR] Connection in use: ('0.0.0.0', 8781)
+[2025-11-03 19:31:56 +0200] [393535] [ERROR] connection to ('0.0.0.0', 8781) failed: [Errno 98] Address already in use
+[2025-11-03 19:31:57 +0200] [393535] [ERROR] Connection in use: ('0.0.0.0', 8781)
+[2025-11-03 19:31:57 +0200] [393535] [ERROR] connection to ('0.0.0.0', 8781) failed: [Errno 98] Address already in use
+[2025-11-03 19:31:58 +0200] [393535] [ERROR] Connection in use: ('0.0.0.0', 8781)
+[2025-11-03 19:31:58 +0200] [393535] [ERROR] connection to ('0.0.0.0', 8781) failed: [Errno 98] Address already in use
+[2025-11-03 19:31:59 +0200] [393535] [ERROR] Connection in use: ('0.0.0.0', 8781)
+[2025-11-03 19:31:59 +0200] [393535] [ERROR] connection to ('0.0.0.0', 8781) failed: [Errno 98] Address already in use
+[2025-11-03 19:32:00 +0200] [393535] [ERROR] Can't connect to ('0.0.0.0', 8781)
+[2025-11-03 19:32:43 +0200] [391915] [INFO] Handling signal: term
+[2025-11-03 19:32:43 +0200] [391942] [INFO] Worker exiting (pid: 391942)
+[2025-11-03 19:32:43 +0200] [391943] [INFO] Worker exiting (pid: 391943)
+[2025-11-03 19:32:43 +0200] [391944] [INFO] Worker exiting (pid: 391944)
+[2025-11-03 19:32:43 +0200] [391945] [INFO] Worker exiting (pid: 391945)
+[2025-11-03 19:32:43 +0200] [391946] [INFO] Worker exiting (pid: 391946)
+[2025-11-03 19:32:43 +0200] [391947] [INFO] Worker exiting (pid: 391947)
+[2025-11-03 19:32:43 +0200] [391948] [INFO] Worker exiting (pid: 391948)
+[2025-11-03 19:32:43 +0200] [391949] [INFO] Worker exiting (pid: 391949)
+[2025-11-03 19:32:43 +0200] [391950] [INFO] Worker exiting (pid: 391950)
+[2025-11-03 19:32:44 +0200] [391915] [INFO] Shutting down: Master
+[2025-11-03 19:34:44 +0200] [393835] [INFO] Starting gunicorn 23.0.0
+[2025-11-03 19:34:44 +0200] [393835] [INFO] ============================================================
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🚀 Trasabilitate Application - Starting Server
+[2025-11-03 19:34:44 +0200] [393835] [INFO] ============================================================
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 📍 Configuration:
+[2025-11-03 19:34:44 +0200] [393835] [INFO] • Workers: 9
+[2025-11-03 19:34:44 +0200] [393835] [INFO] • Worker Class: sync
+[2025-11-03 19:34:44 +0200] [393835] [INFO] • Timeout: 120s
+[2025-11-03 19:34:44 +0200] [393835] [INFO] • Bind: 0.0.0.0:8781
+[2025-11-03 19:34:44 +0200] [393835] [INFO] • Preload App: True
+[2025-11-03 19:34:44 +0200] [393835] [INFO] • Max Requests: 1000 (+/- 100)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] ============================================================
+[2025-11-03 19:34:44 +0200] [393835] [INFO] Listening at: http://0.0.0.0:8781 (393835)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] Using worker: sync
+[2025-11-03 19:34:44 +0200] [393835] [INFO] ============================================================
+[2025-11-03 19:34:44 +0200] [393835] [INFO] ✅ Trasabilitate Application Server is READY!
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 📡 Listening on: [('0.0.0.0', 8781)]
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🌐 Access the application at: http://0.0.0.0:8781
+[2025-11-03 19:34:44 +0200] [393835] [INFO] ============================================================
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393863] [INFO] Booting worker with pid: 393863
+[2025-11-03 19:34:44 +0200] [393863] [INFO] ✨ Worker spawned successfully (pid: 393863)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393864] [INFO] Booting worker with pid: 393864
+[2025-11-03 19:34:44 +0200] [393864] [INFO] ✨ Worker spawned successfully (pid: 393864)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393865] [INFO] Booting worker with pid: 393865
+[2025-11-03 19:34:44 +0200] [393865] [INFO] ✨ Worker spawned successfully (pid: 393865)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393866] [INFO] Booting worker with pid: 393866
+[2025-11-03 19:34:44 +0200] [393866] [INFO] ✨ Worker spawned successfully (pid: 393866)
+[2025-11-03 19:34:44 +0200] [393867] [INFO] Booting worker with pid: 393867
+[2025-11-03 19:34:44 +0200] [393867] [INFO] ✨ Worker spawned successfully (pid: 393867)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393868] [INFO] Booting worker with pid: 393868
+[2025-11-03 19:34:44 +0200] [393868] [INFO] ✨ Worker spawned successfully (pid: 393868)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393869] [INFO] Booting worker with pid: 393869
+[2025-11-03 19:34:44 +0200] [393869] [INFO] ✨ Worker spawned successfully (pid: 393869)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393870] [INFO] Booting worker with pid: 393870
+[2025-11-03 19:34:44 +0200] [393870] [INFO] ✨ Worker spawned successfully (pid: 393870)
+[2025-11-03 19:34:44 +0200] [393835] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:34:44 +0200] [393871] [INFO] Booting worker with pid: 393871
+[2025-11-03 19:34:44 +0200] [393871] [INFO] ✨ Worker spawned successfully (pid: 393871)
+Session user: superadmin superadmin
+[2025-11-03 19:36:05,534] ERROR in app: Exception on /dashboard [GET]
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
+ response = self.full_dispatch_request()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
+ rv = self.handle_user_exception(e)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
+ rv = self.dispatch_request()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
+ return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
+ File "/srv/quality_app/py_app/app/routes.py", line 191, in dashboard
+ return render_template('dashboard.html')
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
+ return _render(app, template, context)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
+ rv = template.render(context)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
+ self.environment.handle_exception()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
+ raise rewrite_traceback_stack(source=source)
+ File "/srv/quality_app/py_app/app/templates/dashboard.html", line 1, in top-level template code
+ {% extends "base.html" %}
+ File "/srv/quality_app/py_app/app/templates/base.html", line 63, in top-level template code
+ {% block content %}{% endblock %}
+ ^^^^^^^^^^^^^^^^^
+ File "/srv/quality_app/py_app/app/templates/dashboard.html", line 47, in block 'content'
+ 📊 Daily Mirror Hub
+ ^^^^^^^^^^^^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1121, in url_for
+ return self.handle_url_build_error(error, endpoint, values)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1110, in url_for
+ rv = url_adapter.build( # type: ignore[union-attr]
+ endpoint,
+ ...<3 lines>...
+ force_external=_external,
+ )
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/werkzeug/routing/map.py", line 924, in build
+ raise BuildError(endpoint, values, method, self)
+werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'daily_mirror.daily_mirror_main_route'. Did you mean 'main.daily_mirror_main_route' instead?
+All form data received: {'username': 'superadmin', 'password': 'Vanessa_13/05'}
+Raw form input: 'superadmin' 'Vanessa_13/05'
+External DB query result (with modules): ('superadmin', 'Vanessa_13/05', 'superadmin', None)
+Logged in as: superadmin superadmin modules: ['quality', 'warehouse', 'labels']
+Session user: superadmin superadmin
+[2025-11-03 19:36:23,345] ERROR in app: Exception on /dashboard [GET]
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1511, in wsgi_app
+ response = self.full_dispatch_request()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 919, in full_dispatch_request
+ rv = self.handle_user_exception(e)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request
+ rv = self.dispatch_request()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request
+ return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
+ File "/srv/quality_app/py_app/app/routes.py", line 191, in dashboard
+ return render_template('dashboard.html')
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/templating.py", line 150, in render_template
+ return _render(app, template, context)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/templating.py", line 131, in _render
+ rv = template.render(context)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
+ self.environment.handle_exception()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
+ raise rewrite_traceback_stack(source=source)
+ File "/srv/quality_app/py_app/app/templates/dashboard.html", line 1, in top-level template code
+ {% extends "base.html" %}
+ File "/srv/quality_app/py_app/app/templates/base.html", line 63, in top-level template code
+ {% block content %}{% endblock %}
+ ^^^^^^^^^^^^^^^^^
+ File "/srv/quality_app/py_app/app/templates/dashboard.html", line 47, in block 'content'
+ 📊 Daily Mirror Hub
+ ^^^^^^^^^^^^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1121, in url_for
+ return self.handle_url_build_error(error, endpoint, values)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/flask/app.py", line 1110, in url_for
+ rv = url_adapter.build( # type: ignore[union-attr]
+ endpoint,
+ ...<3 lines>...
+ force_external=_external,
+ )
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/werkzeug/routing/map.py", line 924, in build
+ raise BuildError(endpoint, values, method, self)
+werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'daily_mirror.daily_mirror_main_route'. Did you mean 'main.daily_mirror_main_route' instead?
+[2025-11-03 19:39:28 +0200] [393835] [INFO] Handling signal: term
+[2025-11-03 19:39:28 +0200] [393863] [INFO] Worker exiting (pid: 393863)
+[2025-11-03 19:39:28 +0200] [393864] [INFO] Worker exiting (pid: 393864)
+[2025-11-03 19:39:28 +0200] [393865] [INFO] Worker exiting (pid: 393865)
+[2025-11-03 19:39:28 +0200] [393866] [INFO] Worker exiting (pid: 393866)
+[2025-11-03 19:39:28 +0200] [393867] [INFO] Worker exiting (pid: 393867)
+[2025-11-03 19:39:28 +0200] [393868] [INFO] Worker exiting (pid: 393868)
+[2025-11-03 19:39:28 +0200] [393869] [INFO] Worker exiting (pid: 393869)
+[2025-11-03 19:39:28 +0200] [393870] [INFO] Worker exiting (pid: 393870)
+[2025-11-03 19:39:28 +0200] [393871] [INFO] Worker exiting (pid: 393871)
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 223, in run
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 256, in handle_term
+ raise StopIteration
+StopIteration
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/bin/gunicorn", line 8, in
+ sys.exit(run())
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/app/wsgiapp.py", line 66, in run
+ WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/app/base.py", line 235, in run
+ super().run()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/app/base.py", line 71, in run
+ Arbiter(self).run()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 226, in run
+ self.halt()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 341, in halt
+ self.stop()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 395, in stop
+ time.sleep(0.1)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 241, in handle_chld
+ self.reap_workers()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 559, in reap_workers
+ self.cfg.child_exit(self, worker)
+ File "/srv/quality_app/py_app/gunicorn.conf.py", line 165, in child_exit
+ server.log.info("👋 Worker %s exited (exit code: %s)", worker.pid, worker.tmp.last_mtime)
+AttributeError: 'WorkerTmp' object has no attribute 'last_mtime'
+[2025-11-03 19:39:33 +0200] [394337] [INFO] Starting gunicorn 23.0.0
+[2025-11-03 19:39:33 +0200] [394337] [INFO] ============================================================
+[2025-11-03 19:39:33 +0200] [394337] [INFO] 🚀 Trasabilitate Application - Starting Server
+[2025-11-03 19:39:33 +0200] [394337] [INFO] ============================================================
+[2025-11-03 19:39:33 +0200] [394337] [INFO] 📍 Configuration:
+[2025-11-03 19:39:33 +0200] [394337] [INFO] • Workers: 9
+[2025-11-03 19:39:33 +0200] [394337] [INFO] • Worker Class: sync
+[2025-11-03 19:39:33 +0200] [394337] [INFO] • Timeout: 120s
+[2025-11-03 19:39:33 +0200] [394337] [INFO] • Bind: 0.0.0.0:8781
+[2025-11-03 19:39:33 +0200] [394337] [INFO] • Preload App: True
+[2025-11-03 19:39:33 +0200] [394337] [INFO] • Max Requests: 1000 (+/- 100)
+[2025-11-03 19:39:33 +0200] [394337] [INFO] ============================================================
+[2025-11-03 19:39:33 +0200] [394337] [INFO] Listening at: http://0.0.0.0:8781 (394337)
+[2025-11-03 19:39:33 +0200] [394337] [INFO] Using worker: sync
+[2025-11-03 19:39:33 +0200] [394337] [INFO] ============================================================
+[2025-11-03 19:39:33 +0200] [394337] [INFO] ✅ Trasabilitate Application Server is READY!
+[2025-11-03 19:39:33 +0200] [394337] [INFO] 📡 Listening on: [('0.0.0.0', 8781)]
+[2025-11-03 19:39:33 +0200] [394337] [INFO] 🌐 Access the application at: http://0.0.0.0:8781
+[2025-11-03 19:39:33 +0200] [394337] [INFO] ============================================================
+[2025-11-03 19:39:33 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:33 +0200] [394346] [INFO] Booting worker with pid: 394346
+[2025-11-03 19:39:33 +0200] [394346] [INFO] ✨ Worker spawned successfully (pid: 394346)
+[2025-11-03 19:39:33 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:33 +0200] [394347] [INFO] Booting worker with pid: 394347
+[2025-11-03 19:39:33 +0200] [394347] [INFO] ✨ Worker spawned successfully (pid: 394347)
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394348] [INFO] Booting worker with pid: 394348
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394348] [INFO] ✨ Worker spawned successfully (pid: 394348)
+[2025-11-03 19:39:34 +0200] [394349] [INFO] Booting worker with pid: 394349
+[2025-11-03 19:39:34 +0200] [394349] [INFO] ✨ Worker spawned successfully (pid: 394349)
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394350] [INFO] Booting worker with pid: 394350
+[2025-11-03 19:39:34 +0200] [394350] [INFO] ✨ Worker spawned successfully (pid: 394350)
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394357] [INFO] Booting worker with pid: 394357
+[2025-11-03 19:39:34 +0200] [394357] [INFO] ✨ Worker spawned successfully (pid: 394357)
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394364] [INFO] Booting worker with pid: 394364
+[2025-11-03 19:39:34 +0200] [394364] [INFO] ✨ Worker spawned successfully (pid: 394364)
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394365] [INFO] Booting worker with pid: 394365
+[2025-11-03 19:39:34 +0200] [394365] [INFO] ✨ Worker spawned successfully (pid: 394365)
+[2025-11-03 19:39:34 +0200] [394337] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:39:34 +0200] [394366] [INFO] Booting worker with pid: 394366
+[2025-11-03 19:39:34 +0200] [394366] [INFO] ✨ Worker spawned successfully (pid: 394366)
+Session user: None None
+All form data received: {'username': 'superadmin', 'password': 'superadmin123'}
+Raw form input: 'superadmin' 'superadmin123'
+External DB query result (with modules): None
+Login failed for: superadmin superadmin123
+Session user: None None
+Session user: superadmin superadmin
+DEBUG: Daily FG report searching for records on date: 2025-11-03
+DEBUG: Daily FG report found 54 rows for today (2025-11-03): [(90, 'OP01', 'CP00001429', 'CP00001429-32', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=64794), 10, 1), (89, 'OP01', 'CP00001429', 'CP00001429-24', 'OC27', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=64680), 10, 1), (88, 'OP01', 'CP00001429', 'CP00001429-23', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=64635), 10, 1), (87, 'OP01', 'CP00001429', 'CP00001429-22', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=64615), 10, 1), (86, 'OP01', 'CP00001429', 'CP00001429-21', 'OC01', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=64564), 10, 1), (85, 'OP01', 'CP00001429', 'CP00001429-1', 'OC11', 'OC04', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=64237), 10, 1), (84, 'OP01', 'CP00001429', 'CP00001429-21', 'OC04', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=63841), 10, 1), (83, 'OP01', 'CP00001429', 'CP00001429-20', 'OC05', 'OC00', 1, datetime.date(2025, 11, 3), datetime.timedelta(seconds=63815), 10, 1), (82, 'OP01', 'CP00001429', 'CP00001429-1', 'OC09', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=63796), 10, 1), (81, 'OP01', 'CP00001429', 'CP00001429-18', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=63773), 10, 1), (80, 'OP01', 'CP00001429', 'CP00001429-17', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=63755), 10, 1), (79, 'OP01', 'CP00001432', 'CP00001432-30', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57606), 21, 2), (78, 'OP01', 'CP00001432', 'CP00001432-29', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57592), 21, 2), (77, 'OP01', 'CP00001432', 'CP00001432-28', 'OC04', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57577), 21, 2), (76, 'OP01', 'CP00001432', 'CP00001432-26', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57565), 21, 2), (75, 'OP01', 'CP00001432', 'CP00001432-25', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57546), 21, 2), (74, 'OP01', 'CP00001432', 'CP00001432-23', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57531), 21, 2), (73, 'OP01', 'CP00001432', 'CP00001432-23', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57517), 21, 2), (72, 'OP01', 'CP00001432', 'CP00001432-21', 'OC26', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57499), 21, 2), (71, 'OP01', 'CP00001432', 'CP00001432-20', 'OC19', 'OC00', 26, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57484), 21, 2), (70, 'OP01', 'CP00001432', 'CP00001432-19', 'OC09', 'OC00', 1, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57456), 21, 2), (69, 'OP01', 'CP00001432', 'CP00001432-18U', 'OC26', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57379), 21, 2), (68, 'OP01', 'CP00001432', 'CP00001432-16', 'OC19', 'OC04', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57362), 21, 2), (67, 'OP01', 'CP00001432', 'CP00001432-14', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57345), 21, 2), (66, 'OP01', 'CP00001432', 'CP00001432-13', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57333), 21, 2), (65, 'OP01', 'CP00001432', 'CP00001432-11', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57320), 21, 2), (64, 'OP01', 'CP00001432', 'CP00001432-10', 'OC26', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57304), 21, 2), (63, 'OP01', 'CP00001432', 'CP00001432-8', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57286), 21, 2), (62, 'OP01', 'CP00001432', 'CP00001432-7', 'OC04', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57268), 21, 2), (61, 'OP01', 'CP00001432', 'CP00001432-6', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57248), 21, 2), (60, 'OP01', 'CP00001432', 'CP00001432-5', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57232), 21, 2), (59, 'OP01', 'CP00001432', 'CP00001432-4', 'OC09', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57216), 21, 2), (58, 'OP01', 'CP00001432', 'CP00001432-2', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57201), 21, 2), (57, 'OP01', 'CP00001432', 'CP00001432-1', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57185), 21, 2), (56, 'OP01', 'CP00001421', 'CP00001421-23', 'OC11', 'OC00', 2, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57164), 15, 3), (55, 'OP01', 'CP00001421', 'CP00001421-21', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57136), 15, 3), (54, 'OP01', 'CP00001421', 'CP00001421-20', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57116), 15, 3), (53, 'OP01', 'CP00001421', 'CP00001421-18', 'OC09', 'OC00', 26, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57091), 15, 3), (52, 'OP01', 'CP00001421', 'CP00001421-16', 'OC26', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57064), 15, 3), (51, 'OP01', 'CP00001421', 'CP00001421-14', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57046), 15, 3), (50, 'OP01', 'CP00001421', 'CP00001421-12', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57027), 15, 3), (49, 'OP01', 'CP00001421', 'CP00001421-11', 'OC19', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=57010), 15, 3), (48, 'OP01', 'CP00001421', 'CP00001421-10', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56990), 15, 3), (47, 'OP01', 'CP00001421', 'CP00001421-9', 'OC09', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56974), 15, 3), (46, 'OP01', 'CP00001421', 'CP00001421-8', 'OC05', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56946), 15, 3), (45, 'OP01', 'CP00001421', 'CP00001421-7', 'OC11', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56925), 15, 3), (44, 'OP01', 'CP00001421', 'CP00001421-6', 'OC04', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56899), 15, 3), (43, 'OP01', 'CP00001421', 'CP00001421-5', 'OC26', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56881), 15, 3), (42, 'OP01', 'CP00001421', 'CP00001421-4', 'OC05', 'OC00', 1, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56857), 15, 3), (41, 'OP01', 'CP00001421', 'CP00001421-3', 'OC09', 'OC19', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56803), 15, 3), (40, 'OP01', 'CP00001421', 'CP00001421-2', 'OC04', 'OC04', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=56763), 15, 3), (39, 'OP01', 'CP00001421', 'CP00001421-1', 'OC26', 'OC04', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=49946), 15, 3), (38, 'OP01', 'CP00001596', 'CP00001596-1', 'OC00', 'OC00', 0, datetime.date(2025, 11, 3), datetime.timedelta(seconds=43478), 1, 0), (37, 'OP01', 'CP00001702', 'CP00001702-1', 'OC01', 'OC00', 25, datetime.date(2025, 11, 3), datetime.timedelta(seconds=42922), 0, 1)]
+FG Data being returned: {'headers': ['Id', 'Operator Code', 'CP Base Code', 'CP Full Code', 'OC1 Code', 'OC2 Code', 'Quality Code', 'Date', 'Time', 'Approved Quantity', 'Rejected Quantity'], 'rows': [[90, 'OP01', 'CP00001429', 'CP00001429-32', 'OC19', 'OC00', 0, '03/11/2025', '17:59:54', 10, 1], [89, 'OP01', 'CP00001429', 'CP00001429-24', 'OC27', 'OC00', 0, '03/11/2025', '17:58:00', 10, 1], [88, 'OP01', 'CP00001429', 'CP00001429-23', 'OC19', 'OC00', 0, '03/11/2025', '17:57:15', 10, 1], [87, 'OP01', 'CP00001429', 'CP00001429-22', 'OC19', 'OC00', 0, '03/11/2025', '17:56:55', 10, 1], [86, 'OP01', 'CP00001429', 'CP00001429-21', 'OC01', 'OC00', 0, '03/11/2025', '17:56:04', 10, 1], [85, 'OP01', 'CP00001429', 'CP00001429-1', 'OC11', 'OC04', 0, '03/11/2025', '17:50:37', 10, 1], [84, 'OP01', 'CP00001429', 'CP00001429-21', 'OC04', 'OC00', 0, '03/11/2025', '17:44:01', 10, 1], [83, 'OP01', 'CP00001429', 'CP00001429-20', 'OC05', 'OC00', 1, '03/11/2025', '17:43:35', 10, 1], [82, 'OP01', 'CP00001429', 'CP00001429-1', 'OC09', 'OC00', 0, '03/11/2025', '17:43:16', 10, 1], [81, 'OP01', 'CP00001429', 'CP00001429-18', 'OC19', 'OC00', 0, '03/11/2025', '17:42:53', 10, 1], [80, 'OP01', 'CP00001429', 'CP00001429-17', 'OC11', 'OC00', 0, '03/11/2025', '17:42:35', 10, 1], [79, 'OP01', 'CP00001432', 'CP00001432-30', 'OC05', 'OC00', 0, '03/11/2025', '16:00:06', 21, 2], [78, 'OP01', 'CP00001432', 'CP00001432-29', 'OC19', 'OC00', 0, '03/11/2025', '15:59:52', 21, 2], [77, 'OP01', 'CP00001432', 'CP00001432-28', 'OC04', 'OC00', 0, '03/11/2025', '15:59:37', 21, 2], [76, 'OP01', 'CP00001432', 'CP00001432-26', 'OC05', 'OC00', 0, '03/11/2025', '15:59:25', 21, 2], [75, 'OP01', 'CP00001432', 'CP00001432-25', 'OC11', 'OC00', 0, '03/11/2025', '15:59:06', 21, 2], [74, 'OP01', 'CP00001432', 'CP00001432-23', 'OC19', 'OC00', 0, '03/11/2025', '15:58:51', 21, 2], [73, 'OP01', 'CP00001432', 'CP00001432-23', 'OC05', 'OC00', 0, '03/11/2025', '15:58:37', 21, 2], [72, 'OP01', 'CP00001432', 'CP00001432-21', 'OC26', 'OC00', 0, '03/11/2025', '15:58:19', 21, 2], [71, 'OP01', 'CP00001432', 'CP00001432-20', 'OC19', 'OC00', 26, '03/11/2025', '15:58:04', 21, 2], [70, 'OP01', 'CP00001432', 'CP00001432-19', 'OC09', 'OC00', 1, '03/11/2025', '15:57:36', 21, 2], [69, 'OP01', 'CP00001432', 'CP00001432-18U', 'OC26', 'OC00', 0, '03/11/2025', '15:56:19', 21, 2], [68, 'OP01', 'CP00001432', 'CP00001432-16', 'OC19', 'OC04', 0, '03/11/2025', '15:56:02', 21, 2], [67, 'OP01', 'CP00001432', 'CP00001432-14', 'OC19', 'OC00', 0, '03/11/2025', '15:55:45', 21, 2], [66, 'OP01', 'CP00001432', 'CP00001432-13', 'OC11', 'OC00', 0, '03/11/2025', '15:55:33', 21, 2], [65, 'OP01', 'CP00001432', 'CP00001432-11', 'OC11', 'OC00', 0, '03/11/2025', '15:55:20', 21, 2], [64, 'OP01', 'CP00001432', 'CP00001432-10', 'OC26', 'OC00', 0, '03/11/2025', '15:55:04', 21, 2], [63, 'OP01', 'CP00001432', 'CP00001432-8', 'OC19', 'OC00', 0, '03/11/2025', '15:54:46', 21, 2], [62, 'OP01', 'CP00001432', 'CP00001432-7', 'OC04', 'OC00', 0, '03/11/2025', '15:54:28', 21, 2], [61, 'OP01', 'CP00001432', 'CP00001432-6', 'OC19', 'OC00', 0, '03/11/2025', '15:54:08', 21, 2], [60, 'OP01', 'CP00001432', 'CP00001432-5', 'OC11', 'OC00', 0, '03/11/2025', '15:53:52', 21, 2], [59, 'OP01', 'CP00001432', 'CP00001432-4', 'OC09', 'OC00', 0, '03/11/2025', '15:53:36', 21, 2], [58, 'OP01', 'CP00001432', 'CP00001432-2', 'OC11', 'OC00', 0, '03/11/2025', '15:53:21', 21, 2], [57, 'OP01', 'CP00001432', 'CP00001432-1', 'OC05', 'OC00', 0, '03/11/2025', '15:53:05', 21, 2], [56, 'OP01', 'CP00001421', 'CP00001421-23', 'OC11', 'OC00', 2, '03/11/2025', '15:52:44', 15, 3], [55, 'OP01', 'CP00001421', 'CP00001421-21', 'OC19', 'OC00', 0, '03/11/2025', '15:52:16', 15, 3], [54, 'OP01', 'CP00001421', 'CP00001421-20', 'OC05', 'OC00', 0, '03/11/2025', '15:51:56', 15, 3], [53, 'OP01', 'CP00001421', 'CP00001421-18', 'OC09', 'OC00', 26, '03/11/2025', '15:51:31', 15, 3], [52, 'OP01', 'CP00001421', 'CP00001421-16', 'OC26', 'OC00', 0, '03/11/2025', '15:51:04', 15, 3], [51, 'OP01', 'CP00001421', 'CP00001421-14', 'OC05', 'OC00', 0, '03/11/2025', '15:50:46', 15, 3], [50, 'OP01', 'CP00001421', 'CP00001421-12', 'OC11', 'OC00', 0, '03/11/2025', '15:50:27', 15, 3], [49, 'OP01', 'CP00001421', 'CP00001421-11', 'OC19', 'OC00', 0, '03/11/2025', '15:50:10', 15, 3], [48, 'OP01', 'CP00001421', 'CP00001421-10', 'OC11', 'OC00', 0, '03/11/2025', '15:49:50', 15, 3], [47, 'OP01', 'CP00001421', 'CP00001421-9', 'OC09', 'OC00', 0, '03/11/2025', '15:49:34', 15, 3], [46, 'OP01', 'CP00001421', 'CP00001421-8', 'OC05', 'OC00', 0, '03/11/2025', '15:49:06', 15, 3], [45, 'OP01', 'CP00001421', 'CP00001421-7', 'OC11', 'OC00', 0, '03/11/2025', '15:48:45', 15, 3], [44, 'OP01', 'CP00001421', 'CP00001421-6', 'OC04', 'OC00', 0, '03/11/2025', '15:48:19', 15, 3], [43, 'OP01', 'CP00001421', 'CP00001421-5', 'OC26', 'OC00', 0, '03/11/2025', '15:48:01', 15, 3], [42, 'OP01', 'CP00001421', 'CP00001421-4', 'OC05', 'OC00', 1, '03/11/2025', '15:47:37', 15, 3], [41, 'OP01', 'CP00001421', 'CP00001421-3', 'OC09', 'OC19', 0, '03/11/2025', '15:46:43', 15, 3], [40, 'OP01', 'CP00001421', 'CP00001421-2', 'OC04', 'OC04', 0, '03/11/2025', '15:46:03', 15, 3], [39, 'OP01', 'CP00001421', 'CP00001421-1', 'OC26', 'OC04', 0, '03/11/2025', '13:52:26', 15, 3], [38, 'OP01', 'CP00001596', 'CP00001596-1', 'OC00', 'OC00', 0, '03/11/2025', '12:04:38', 1, 0], [37, 'OP01', 'CP00001702', 'CP00001702-1', 'OC01', 'OC00', 25, '03/11/2025', '11:55:22', 0, 1]]}
+[2025-11-03 19:48:16 +0200] [394347] [INFO] Worker exiting (pid: 394347)
+[2025-11-03 19:48:16 +0200] [394350] [INFO] Worker exiting (pid: 394350)
+[2025-11-03 19:48:16 +0200] [394346] [INFO] Worker exiting (pid: 394346)
+[2025-11-03 19:48:16 +0200] [394349] [INFO] Worker exiting (pid: 394349)
+[2025-11-03 19:48:16 +0200] [394348] [INFO] Worker exiting (pid: 394348)
+[2025-11-03 19:48:16 +0200] [394357] [INFO] Worker exiting (pid: 394357)
+[2025-11-03 19:48:16 +0200] [394366] [INFO] Worker exiting (pid: 394366)
+[2025-11-03 19:48:16 +0200] [394364] [INFO] Worker exiting (pid: 394364)
+[2025-11-03 19:48:16 +0200] [394337] [INFO] Handling signal: term
+[2025-11-03 19:48:16 +0200] [394365] [INFO] Worker exiting (pid: 394365)
+[2025-11-03 19:48:16 +0200] [394337] [ERROR] Worker (pid:394347) was sent SIGTERM!
+[2025-11-03 19:48:16 +0200] [394337] [ERROR] Worker (pid:394350) was sent SIGTERM!
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 223, in run
+[2025-11-03 19:48:16 +0200] [394337] [ERROR] Worker (pid:394346) was sent SIGTERM!
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 256, in handle_term
+[2025-11-03 19:48:16 +0200] [394337] [ERROR] Worker (pid:394349) was sent SIGTERM!
+StopIteration
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+ File "/srv/quality_recticel/recticel/bin/gunicorn", line 8, in
+ sys.exit(run())
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/app/wsgiapp.py", line 66, in run
+ WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/app/base.py", line 235, in run
+ super().run()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/app/base.py", line 71, in run
+ Arbiter(self).run()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 226, in run
+ self.halt()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 341, in halt
+ self.stop()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 395, in stop
+ time.sleep(0.1)
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 241, in handle_chld
+ self.reap_workers()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 559, in reap_workers
+ self.cfg.child_exit(self, worker)
+ File "/srv/quality_app/py_app/gunicorn.conf.py", line 165, in child_exit
+ server.log.info("👋 Worker %s exited (exit code: %s)", worker.pid, worker.tmp.last_mtime)
+AttributeError: 'WorkerTmp' object has no attribute 'last_mtime'
+[2025-11-03 19:48:16 +0200] [394337] [ERROR] Worker (pid:394348) was sent SIGTERM!
+Exception ignored in atexit callback :
+Traceback (most recent call last):
+ File "/usr/lib/python3.13/logging/__init__.py", line 2239, in shutdown
+[2025-11-03 19:48:16 +0200] [394337] [ERROR] Worker (pid:394357) was sent SIGTERM!
+ File "/usr/lib/python3.13/logging/__init__.py", line 973, in acquire
+ self.lock.acquire()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 241, in handle_chld
+ self.reap_workers()
+ File "/srv/quality_recticel/recticel/lib/python3.13/site-packages/gunicorn/arbiter.py", line 559, in reap_workers
+ self.cfg.child_exit(self, worker)
+ File "/srv/quality_app/py_app/gunicorn.conf.py", line 165, in child_exit
+ server.log.info("👋 Worker %s exited (exit code: %s)", worker.pid, worker.tmp.last_mtime)
+AttributeError: 'WorkerTmp' object has no attribute 'last_mtime'
+[2025-11-03 19:48:23 +0200] [394823] [INFO] Starting gunicorn 23.0.0
+[2025-11-03 19:48:23 +0200] [394823] [INFO] ============================================================
+[2025-11-03 19:48:23 +0200] [394823] [INFO] 🚀 Trasabilitate Application - Starting Server
+[2025-11-03 19:48:23 +0200] [394823] [INFO] ============================================================
+[2025-11-03 19:48:23 +0200] [394823] [INFO] 📍 Configuration:
+[2025-11-03 19:48:23 +0200] [394823] [INFO] • Workers: 9
+[2025-11-03 19:48:23 +0200] [394823] [INFO] • Worker Class: sync
+[2025-11-03 19:48:23 +0200] [394823] [INFO] • Timeout: 120s
+[2025-11-03 19:48:23 +0200] [394823] [INFO] • Bind: 0.0.0.0:8781
+[2025-11-03 19:48:23 +0200] [394823] [INFO] • Preload App: True
+[2025-11-03 19:48:23 +0200] [394823] [INFO] • Max Requests: 1000 (+/- 100)
+[2025-11-03 19:48:23 +0200] [394823] [INFO] ============================================================
+[2025-11-03 19:48:23 +0200] [394823] [INFO] Listening at: http://0.0.0.0:8781 (394823)
+[2025-11-03 19:48:23 +0200] [394823] [INFO] Using worker: sync
+[2025-11-03 19:48:23 +0200] [394823] [INFO] ============================================================
+[2025-11-03 19:48:23 +0200] [394823] [INFO] ✅ Trasabilitate Application Server is READY!
+[2025-11-03 19:48:23 +0200] [394823] [INFO] 📡 Listening on: [('0.0.0.0', 8781)]
+[2025-11-03 19:48:23 +0200] [394823] [INFO] 🌐 Access the application at: http://0.0.0.0:8781
+[2025-11-03 19:48:23 +0200] [394823] [INFO] ============================================================
+[2025-11-03 19:48:23 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:23 +0200] [394862] [INFO] Booting worker with pid: 394862
+[2025-11-03 19:48:23 +0200] [394862] [INFO] ✨ Worker spawned successfully (pid: 394862)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394863] [INFO] Booting worker with pid: 394863
+[2025-11-03 19:48:24 +0200] [394863] [INFO] ✨ Worker spawned successfully (pid: 394863)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394864] [INFO] Booting worker with pid: 394864
+[2025-11-03 19:48:24 +0200] [394864] [INFO] ✨ Worker spawned successfully (pid: 394864)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394865] [INFO] Booting worker with pid: 394865
+[2025-11-03 19:48:24 +0200] [394865] [INFO] ✨ Worker spawned successfully (pid: 394865)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394866] [INFO] Booting worker with pid: 394866
+[2025-11-03 19:48:24 +0200] [394866] [INFO] ✨ Worker spawned successfully (pid: 394866)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394867] [INFO] Booting worker with pid: 394867
+[2025-11-03 19:48:24 +0200] [394867] [INFO] ✨ Worker spawned successfully (pid: 394867)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394868] [INFO] Booting worker with pid: 394868
+[2025-11-03 19:48:24 +0200] [394868] [INFO] ✨ Worker spawned successfully (pid: 394868)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394869] [INFO] Booting worker with pid: 394869
+[2025-11-03 19:48:24 +0200] [394869] [INFO] ✨ Worker spawned successfully (pid: 394869)
+[2025-11-03 19:48:24 +0200] [394823] [INFO] 🔄 Forking new worker (pid: [booting])
+[2025-11-03 19:48:24 +0200] [394870] [INFO] Booting worker with pid: 394870
+[2025-11-03 19:48:24 +0200] [394870] [INFO] ✨ Worker spawned successfully (pid: 394870)
diff --git a/py_app/app/static/docs/dashboard.md b/py_app/app/static/docs/dashboard.md
index 171d2a1..75a4d9c 100644
--- a/py_app/app/static/docs/dashboard.md
+++ b/py_app/app/static/docs/dashboard.md
@@ -54,7 +54,7 @@ Pentru generarea și printarea etichetelor:
2. Veți vedea submeniul cu opțiunile disponibile
3. Selectați funcționalitatea dorită
-
+
### Pasul 3: Utilizarea funcționalităților
Fiecare modul are propriile sale funcționalități specializate. Consultați ghidurile specifice pentru:
@@ -70,13 +70,13 @@ Aplicația suportă diferite niveluri de acces:
- **Admin** - Acces la majoritatea funcționalităților
- **Manager** - Acces la funcționalitățile de management
- **User** - Acces limitat la funcționalitățile de bază
-
+
### Verificarea permisiunilor
- Dacă nu aveți acces la un modul, acesta nu va fi vizibil în dashboard
- Contactați administratorul pentru a obține permisiuni suplimentare
- Permisiunile sunt configurate per utilizator și per modul
-
+
## Funcționalități comune
diff --git a/py_app/app/static/docs/images/access_management.png b/py_app/app/static/docs/images/access_management.png
new file mode 100644
index 0000000..cb1af65
Binary files /dev/null and b/py_app/app/static/docs/images/access_management.png differ
diff --git a/py_app/app/static/docs/images/quick_access.png b/py_app/app/static/docs/images/quick_access.png
new file mode 100644
index 0000000..bbc870f
Binary files /dev/null and b/py_app/app/static/docs/images/quick_access.png differ