This commit is contained in:
Marwan Alwali 2025-11-02 16:54:48 +03:00
parent f31362093e
commit dfb918412b
5 changed files with 187 additions and 33 deletions

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-11-02 16:32+0300\n"
"POT-Creation-Date: 2025-11-02 16:52+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -16839,11 +16839,15 @@ msgstr "الملف الشخصي"
msgid "Log Out"
msgstr "تسجيل الخروج"
#: templates/partial/header.html:137
msgid "No notifications"
msgstr "لا توجد إشعارات"
#: templates/partial/header.html:140
msgid "No unread notifications"
msgstr "لا توجد إشعارات غير مقروءة"
#: templates/partial/header.html:182
#: templates/partial/header.html:165
msgid "Mark as Read"
msgstr "تحديد كمقروء"
#: templates/partial/header.html:188
msgid "Error loading notifications"
msgstr "حدث خطأ أثناء تحميل الإشعارات"
@ -17203,14 +17207,3 @@ msgstr "هل لديك حساب بالفعل؟"
msgid "Sign in here"
msgstr "سجّل الدخول هنا"
#~ msgid "Total Sessions:"
#~ msgstr "إجمالي الجلسات"
#~ msgid "READY TO TRANSFORM YOUR PRACTICE?"
#~ msgstr "هل أنت مستعد لتحويل ممارستك الصحية؟"
#~ msgid "Define number of sessions"
#~ msgstr "حدد عدد الجلسات"
#~ msgid "Select included services"
#~ msgstr "اختر الخدمات المشمولة"

View File

@ -73203,3 +73203,157 @@ ERROR 2025-11-02 16:38:01,156 tasks 16181 8648941888 Appointment 80157786-4d02-4
ERROR 2025-11-02 16:38:01,156 tasks 16173 8648941888 Appointment 4e16bbd2-83d1-46e7-a439-b2f3d06fc35a not found
INFO 2025-11-02 16:38:02,321 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:38:02,541 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=de67d64b99b148888180bd5007b50e3d HTTP/1.1" 200 9547
INFO 2025-11-02 16:38:32,322 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:38:32,544 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=54a981be7a0549f894fe967bb403f9e1 HTTP/1.1" 200 9547
INFO 2025-11-02 16:38:44,877 basehttp 6028 6136098816 "GET /en/ HTTP/1.1" 200 55689
INFO 2025-11-02 16:38:44,971 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:38:46,354 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 326
INFO 2025-11-02 16:38:46,572 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=4e27857894ba4797882c104b16528fcd HTTP/1.1" 200 9540
INFO 2025-11-02 16:38:48,915 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 33871
INFO 2025-11-02 16:38:49,006 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
ERROR 2025-11-02 16:38:58,364 tasks 16172 8648941888 Appointment 6f4fe326-9e43-4b30-bae0-619526511ee5 not found
ERROR 2025-11-02 16:38:58,365 tasks 16180 8648941888 Appointment f3cf1889-ed7b-4416-8f02-ea8113a8b650 not found
INFO 2025-11-02 16:39:02,334 basehttp 6028 6136098816 "GET /en/admin/notifications/notification/add/ HTTP/1.1" 200 76725
INFO 2025-11-02 16:39:02,403 basehttp 6028 6136098816 "GET /en/admin/jsi18n/ HTTP/1.1" 200 3342
INFO 2025-11-02 16:39:19,348 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:39:20,285 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=c826279819284f5886394dfa830fec13 HTTP/1.1" 200 9547
INFO 2025-11-02 16:39:41,951 basehttp 6028 6136098816 "POST /en/admin/notifications/notification/add/ HTTP/1.1" 302 0
INFO 2025-11-02 16:39:42,041 basehttp 6028 6136098816 "GET /en/admin/notifications/notification/ HTTP/1.1" 200 70871
INFO 2025-11-02 16:39:42,116 basehttp 6028 6136098816 "GET /en/admin/jsi18n/ HTTP/1.1" 200 3342
INFO 2025-11-02 16:39:45,036 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 36357
INFO 2025-11-02 16:39:45,130 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:39:48,257 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 562
INFO 2025-11-02 16:39:48,484 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=91e0b5f5f9c2461eaa7896b1e3c13936 HTTP/1.1" 200 9542
INFO 2025-11-02 16:39:55,846 basehttp 6028 6136098816 "GET /en/admin/notifications/notification/add/ HTTP/1.1" 200 76725
INFO 2025-11-02 16:39:55,945 basehttp 6028 6136098816 "GET /en/admin/jsi18n/ HTTP/1.1" 200 3342
INFO 2025-11-02 16:40:14,950 basehttp 6028 6136098816 "POST /en/admin/notifications/notification/add/ HTTP/1.1" 302 0
INFO 2025-11-02 16:40:15,036 basehttp 6028 6136098816 "GET /en/admin/notifications/notification/ HTTP/1.1" 200 71492
INFO 2025-11-02 16:40:15,113 basehttp 6028 6136098816 "GET /en/admin/jsi18n/ HTTP/1.1" 200 3342
INFO 2025-11-02 16:40:15,336 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:40:15,772 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=25264e1c018f497aadc93529b6fffd76 HTTP/1.1" 200 9547
INFO 2025-11-02 16:40:18,606 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:40:18,819 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=823fde32e64843cfa256eb13fcacb166 HTTP/1.1" 200 9540
INFO 2025-11-02 16:40:45,163 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:40:45,386 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=a93cd37e78fc480e84dc04bd3a85d377 HTTP/1.1" 200 9547
INFO 2025-11-02 16:41:15,125 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:41:15,350 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=c7b01274268b4950b3b059e8e8a266ee HTTP/1.1" 200 9547
INFO 2025-11-02 16:41:45,123 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:41:45,339 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=12aaa783b17046b19a70ef64c25da0ba HTTP/1.1" 200 9547
INFO 2025-11-02 16:41:53,625 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 39020
INFO 2025-11-02 16:41:53,735 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:41:55,393 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:41:55,610 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=c2a0d5e813f343f69de5351f0ed89220 HTTP/1.1" 200 9540
INFO 2025-11-02 16:42:23,745 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:42:23,968 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=82b6a6187eda4e43b91eba3fa287a053 HTTP/1.1" 200 9548
INFO 2025-11-02 16:42:34,544 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 39008
INFO 2025-11-02 16:42:34,657 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:42:37,612 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:42:37,842 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=9ba4d3dba8824b50aacbda7297a3e697 HTTP/1.1" 200 9540
INFO 2025-11-02 16:43:04,666 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:43:04,891 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=6a4b681e1a1542b39a4b7b6e5291798c HTTP/1.1" 200 9547
INFO 2025-11-02 16:43:15,423 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 39003
INFO 2025-11-02 16:43:15,516 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:43:17,367 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:43:17,593 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=669f5a3b9a384f85ba111a69a01392f0 HTTP/1.1" 200 9540
INFO 2025-11-02 16:43:45,548 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:43:45,774 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=2f29f2cda5be4e8496fbb005f0caca74 HTTP/1.1" 200 9547
INFO 2025-11-02 16:44:15,519 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:44:15,734 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=704f1c3523a54d0081939c4ece680769 HTTP/1.1" 200 9547
INFO 2025-11-02 16:44:30,193 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 39037
INFO 2025-11-02 16:44:30,288 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:44:31,896 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:44:32,114 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=5f781824479447569d7147214c1e2a92 HTTP/1.1" 200 9540
INFO 2025-11-02 16:45:00,326 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:45:00,548 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=853b588daf4c423f80490cee8dfd0ab4 HTTP/1.1" 200 9548
INFO 2025-11-02 16:45:30,319 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:45:30,537 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=31b9d553a5da4a5992125c2e1f0e44d0 HTTP/1.1" 200 9548
INFO 2025-11-02 16:45:36,764 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 39035
INFO 2025-11-02 16:45:36,876 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:45:38,501 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:45:38,730 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=72cc49a8615f426d91b255abcb91f078 HTTP/1.1" 200 9540
INFO 2025-11-02 16:46:06,866 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:46:07,087 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=e14ee051b8f14aed94a81e06d3c67ff0 HTTP/1.1" 200 9547
INFO 2025-11-02 16:46:31,507 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 38826
INFO 2025-11-02 16:46:31,596 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:46:32,703 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:46:32,918 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=19b6f27a9dbd4ff5bc3257eafa67a8da HTTP/1.1" 200 9540
INFO 2025-11-02 16:46:40,143 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 38826
INFO 2025-11-02 16:46:40,233 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:46:42,434 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:46:42,648 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=5cf3daab7e17424c95d080c65e93ab91 HTTP/1.1" 200 9540
INFO 2025-11-02 16:47:10,265 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:47:10,491 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=9dacb952df864f3f8b7de4b19f6c37c6 HTTP/1.1" 200 9547
INFO 2025-11-02 16:47:40,247 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:47:40,461 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=803d0da9c26445fc9e40923fc5dd0504 HTTP/1.1" 200 9547
ERROR 2025-11-02 16:47:58,666 tasks 16180 8648941888 Appointment bf8645b9-dc70-43b2-a756-a1cbc04a2bae not found
ERROR 2025-11-02 16:47:58,666 tasks 16172 8648941888 Appointment 310d15a7-8bf3-4742-9d66-ea672cb4ff53 not found
ERROR 2025-11-02 16:47:58,666 tasks 16181 8648941888 Appointment 35bc0ce1-174a-41ad-bc93-fb7d92e34947 not found
INFO 2025-11-02 16:48:10,267 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:48:10,491 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=fffc0d858e51453c98a09f7a4ddd5fe2 HTTP/1.1" 200 9547
INFO 2025-11-02 16:48:40,285 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:48:40,500 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=8e5c95c2034644ed81d4239cf3a75958 HTTP/1.1" 200 9549
ERROR 2025-11-02 16:48:44,419 tasks 16172 8648941888 Appointment a754db19-dbcb-40e9-a03e-742e2c13ea83 not found
ERROR 2025-11-02 16:48:44,419 tasks 16180 8648941888 Appointment 7d208dcb-490f-4f66-97e0-807f7a4cc9d4 not found
ERROR 2025-11-02 16:48:44,419 tasks 16173 8648941888 Appointment 4e16bbd2-83d1-46e7-a439-b2f3d06fc35a not found
ERROR 2025-11-02 16:48:44,420 tasks 16181 8648941888 Appointment 80157786-4d02-4e2a-960f-8ff0acdb443b not found
INFO 2025-11-02 16:49:10,252 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:49:10,464 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=1b8c26dc0d9e477a95c94afd25f339b0 HTTP/1.1" 200 9547
INFO 2025-11-02 16:49:23,288 basehttp 6028 6136098816 "GET /en/notifications/inbox/ HTTP/1.1" 200 38826
INFO 2025-11-02 16:49:23,399 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:49:24,775 basehttp 6028 6136098816 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 775
INFO 2025-11-02 16:49:25,003 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=1246f3b09e7f41a1869c79094c2c5100 HTTP/1.1" 200 9540
INFO 2025-11-02 16:49:44,319 basehttp 6028 6136098816 "POST /en/notifications/inbox/10f68a20-52a2-47d6-ae6b-6e97f436f7f0/read/ HTTP/1.1" 200 36
INFO 2025-11-02 16:49:44,445 basehttp 6028 6152925184 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 774
INFO 2025-11-02 16:49:44,446 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:49:44,673 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=c8492c005fb3471abd70afda7b33409e HTTP/1.1" 200 9549
INFO 2025-11-02 16:49:46,747 basehttp 6028 6136098816 "POST /en/notifications/inbox/6c607f21-bfc7-4399-a484-ea8b2195e084/read/ HTTP/1.1" 200 36
INFO 2025-11-02 16:49:46,873 basehttp 6028 6152925184 "GET /en/notifications/api/dropdown/ HTTP/1.1" 200 773
INFO 2025-11-02 16:49:46,875 basehttp 6028 6136098816 "GET /en/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:49:47,101 basehttp 6028 6136098816 "GET /__debug__/history_sidebar/?request_id=e3938780ef6348648ba0cd65df02a8b7 HTTP/1.1" 200 9549
INFO 2025-11-02 16:49:51,178 basehttp 6028 6136098816 "GET /en/switch_language/?language=ar HTTP/1.1" 302 0
INFO 2025-11-02 16:49:51,239 basehttp 6028 6136098816 "GET /notifications/inbox/ HTTP/1.1" 302 0
INFO 2025-11-02 16:49:51,303 basehttp 6028 6152925184 "GET /ar/notifications/inbox/ HTTP/1.1" 200 37675
INFO 2025-11-02 16:49:51,401 basehttp 6028 6152925184 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:49:52,874 basehttp 6028 6152925184 "GET /ar/notifications/api/dropdown/ HTTP/1.1" 200 773
INFO 2025-11-02 16:49:53,104 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=ff91f4e462b8483aac66e2784ef30d6d HTTP/1.1" 200 10057
INFO 2025-11-02 16:50:01,217 basehttp 6028 6152925184 "GET /ar/notifications/api/dropdown/ HTTP/1.1" 200 773
INFO 2025-11-02 16:50:01,433 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=ddcb5667224e43ddb15e60aa0ecf58bb HTTP/1.1" 200 10059
INFO 2025-11-02 16:50:04,635 basehttp 6028 6152925184 "GET /ar/notifications/api/dropdown/ HTTP/1.1" 200 773
INFO 2025-11-02 16:50:04,855 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=627b980e6ff04316be4a4653d3ab4735 HTTP/1.1" 200 10059
INFO 2025-11-02 16:50:06,473 basehttp 6028 6152925184 "GET /ar/notifications/api/dropdown/ HTTP/1.1" 200 773
INFO 2025-11-02 16:50:06,699 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=48bfdfebdad741fda64f6f60534e6e3b HTTP/1.1" 200 10057
INFO 2025-11-02 16:50:08,575 basehttp 6028 6152925184 "GET /ar/notifications/api/dropdown/ HTTP/1.1" 200 773
INFO 2025-11-02 16:50:08,803 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=6c6aecd6ebff44e4a229fc114eafba57 HTTP/1.1" 200 10057
INFO 2025-11-02 16:50:21,431 basehttp 6028 6152925184 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:50:21,646 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=75bddbb68e0144148dce18b29828b773 HTTP/1.1" 200 10064
INFO 2025-11-02 16:50:51,418 basehttp 6028 6152925184 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:50:51,643 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=a734008c67d74b33864b6690391c8e2c HTTP/1.1" 200 10064
ERROR 2025-11-02 16:51:11,800 tasks 16172 8648941888 Appointment 7d208dcb-490f-4f66-97e0-807f7a4cc9d4 not found
ERROR 2025-11-02 16:51:11,800 tasks 16181 8648941888 Appointment 80157786-4d02-4e2a-960f-8ff0acdb443b not found
ERROR 2025-11-02 16:51:11,800 tasks 16173 8648941888 Appointment 4e16bbd2-83d1-46e7-a439-b2f3d06fc35a not found
ERROR 2025-11-02 16:51:11,800 tasks 16180 8648941888 Appointment a754db19-dbcb-40e9-a03e-742e2c13ea83 not found
ERROR 2025-11-02 16:51:12,052 tasks 16181 8648941888 Appointment 80157786-4d02-4e2a-960f-8ff0acdb443b not found
ERROR 2025-11-02 16:51:12,052 tasks 16172 8648941888 Appointment a754db19-dbcb-40e9-a03e-742e2c13ea83 not found
ERROR 2025-11-02 16:51:12,052 tasks 16180 8648941888 Appointment 7d208dcb-490f-4f66-97e0-807f7a4cc9d4 not found
ERROR 2025-11-02 16:51:12,052 tasks 16173 8648941888 Appointment 4e16bbd2-83d1-46e7-a439-b2f3d06fc35a not found
ERROR 2025-11-02 16:51:13,471 tasks 16181 8648941888 Appointment 251d4c8d-ad19-44b7-a10b-3b3ff3951257 not found
ERROR 2025-11-02 16:51:13,471 tasks 16172 8648941888 Appointment 642dc474-cd97-4dc0-8924-b2b832eeaea1 not found
ERROR 2025-11-02 16:51:13,471 tasks 16180 8648941888 Appointment 0ff795b3-68a3-44e3-ad35-9b50b6e098a8 not found
INFO 2025-11-02 16:51:21,453 basehttp 6028 6152925184 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:51:21,673 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=609c537e7cc448e0a24bfa3bf2d273ca HTTP/1.1" 200 10066
ERROR 2025-11-02 16:51:40,497 tasks 16180 8648941888 Appointment 77bb0820-19c1-473f-a574-3cb8845eb3f9 not found
INFO 2025-11-02 16:51:51,435 basehttp 6028 6152925184 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:51:51,658 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=b2277272882846f5bcd970d2b83491a2 HTTP/1.1" 200 10064
ERROR 2025-11-02 16:52:08,243 tasks 16180 8648941888 Appointment e494458f-a5fd-481b-97a3-c14466b6f1a1 not found
INFO 2025-11-02 16:52:21,435 basehttp 6028 6152925184 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:52:21,660 basehttp 6028 6152925184 "GET /__debug__/history_sidebar/?request_id=f9f6ffcc0e6d4368ac374ba109f59e5f HTTP/1.1" 200 10064
INFO 2025-11-02 16:52:34,911 autoreload 6028 8648941888 /Users/marwanalwali/AgdarCentre/integrations/templates/integrations/einvoice_list.html.py changed, reloading.
INFO 2025-11-02 16:52:35,230 autoreload 15978 8648941888 Watching for file changes with StatReloader
INFO 2025-11-02 16:52:51,461 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:52:51,673 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=f49488d6e3a542f1a77a61ffdae63b49 HTTP/1.1" 200 10064
INFO 2025-11-02 16:53:21,455 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:53:21,677 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=7a0d5ee20b214be69b9e2be8f1d11c1e HTTP/1.1" 200 10066
INFO 2025-11-02 16:53:51,434 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:53:51,660 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=9acae530f8214e4e90e307ebc9932e48 HTTP/1.1" 200 10064
INFO 2025-11-02 16:54:21,445 basehttp 15978 6163853312 "GET /ar/notifications/api/unread-count/ HTTP/1.1" 200 19
INFO 2025-11-02 16:54:21,663 basehttp 15978 6163853312 "GET /__debug__/history_sidebar/?request_id=27287a4a83554e6284b00d3d5074ea4a HTTP/1.1" 200 10066

View File

@ -1,4 +1,4 @@
{% load static %}
{% load static i18n %}
<div id="header" class="app-header" data-bs-theme="{% if appHeaderInverse %}dark{% endif %}">
<!-- BEGIN navbar-header -->
<div class="navbar-header">
@ -133,10 +133,13 @@ document.addEventListener('DOMContentLoaded', function() {
fetch('{% url "notifications:notification_dropdown" %}')
.then(response => response.json())
.then(data => {
if (data.notifications.length === 0) {
notificationList.innerHTML = '<div class="text-center py-3 text-muted">{{_("No notifications")}}</div>';
// Filter to show only unread notifications
const unreadNotifications = data.notifications.filter(notif => !notif.is_read);
if (unreadNotifications.length === 0) {
notificationList.innerHTML = '<div class="text-center py-3 text-muted">{% trans "No unread notifications" %}</div>';
} else {
notificationList.innerHTML = data.notifications.map(notif => {
notificationList.innerHTML = unreadNotifications.map(notif => {
const typeColors = {
'INFO': 'primary',
'SUCCESS': 'success',
@ -144,33 +147,36 @@ document.addEventListener('DOMContentLoaded', function() {
'ERROR': 'danger'
};
const color = typeColors[notif.type] || 'secondary';
const readClass = notif.is_read ? 'bg-light' : '';
const readIcon = notif.is_read ? '<i class="fa fa-check-circle text-success ms-1" title="Read"></i>' : '';
const date = new Date(notif.created_at);
const timeAgo = getTimeAgo(date);
return `
<a href="${notif.action_url}" class="dropdown-item ${readClass}" data-notification-id="${notif.id}">
<div class="d-flex">
<div class="flex-shrink-0">
<div class="dropdown-item" style="white-space: normal;">
<div class="d-flex align-items-start">
<div class="flex-shrink-0 mt-1">
<span class="badge bg-${color} rounded-circle" style="width: 10px; height: 10px; padding: 0;"></span>
</div>
<div class="flex-grow-1 ms-2">
<div class="fw-bold small d-flex align-items-center">
${notif.title}
${readIcon}
</div>
<div class="fw-bold small">${notif.title}</div>
<div class="text-muted small text-wrap">${notif.message}</div>
<div class="text-muted" style="font-size: 0.75rem;">${timeAgo}</div>
</div>
<div class="flex-shrink-0 ms-2 d-flex gap-1">
<button class="btn btn-xs btn-outline-theme mark-read-btn" data-notification-id="${notif.id}" title="{{_("Mark as Read")}}">
<i class="fa fa-check"></i>
</button>
</div>
</div>
</a>
</div>
<div class="dropdown-divider"></div>
`;
}).join('');
// Add click handlers to mark as read
document.querySelectorAll('[data-notification-id]').forEach(item => {
item.addEventListener('click', function(e) {
// Add click handlers to mark as read buttons
document.querySelectorAll('.mark-read-btn').forEach(btn => {
btn.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
const notifId = this.dataset.notificationId;
markAsRead(notifId);
});
@ -197,6 +203,7 @@ document.addEventListener('DOMContentLoaded', function() {
.then(data => {
if (data.success) {
updateUnreadCount();
loadNotifications(); // Reload to remove the marked notification
}
})
.catch(error => console.error('Error marking as read:', error));