From 5b60dd196886871032f51d75e3bcb22cd7e34ea0 Mon Sep 17 00:00:00 2001 From: nataly Date: Mon, 22 Jul 2024 17:00:33 +0300 Subject: [PATCH] New changes. --- .../__pycache__/__init__.cpython-312.pyc | Bin 189 -> 189 bytes .../__pycache__/admin.cpython-312.pyc | Bin 693 -> 693 bytes .../__pycache__/apps.cpython-312.pyc | Bin 505 -> 505 bytes .../__pycache__/models.cpython-312.pyc | Bin 2897 -> 2897 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 898 -> 898 bytes .../0002_country_addressbook.cpython-312.pyc | Bin 1847 -> 1847 bytes .../__pycache__/0003_contact.cpython-312.pyc | Bin 1410 -> 1410 bytes .../0004_socialmedia.cpython-312.pyc | Bin 1231 -> 1231 bytes ...05_socialmedia_addressbook.cpython-312.pyc | Bin 1000 -> 1000 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 200 -> 200 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 185 -> 185 bytes .../billing/__pycache__/admin.cpython-312.pyc | Bin 1024 -> 1024 bytes .../billing/__pycache__/apps.cpython-312.pyc | Bin 493 -> 493 bytes .../__pycache__/models.cpython-312.pyc | Bin 11314 -> 11314 bytes .../billing/__pycache__/urls.cpython-312.pyc | Bin 1226 -> 1226 bytes .../billing/__pycache__/views.cpython-312.pyc | Bin 3658 -> 3658 bytes .../add/__pycache__/urls.cpython-312.pyc | Bin 1068 -> 1070 bytes .../add/__pycache__/views.cpython-312.pyc | Bin 12211 -> 12211 bytes .../delete/__pycache__/urls.cpython-312.pyc | Bin 583 -> 583 bytes .../delete/__pycache__/views.cpython-312.pyc | Bin 1367 -> 1367 bytes .../edit/__pycache__/urls.cpython-312.pyc | Bin 648 -> 648 bytes .../edit/__pycache__/views.cpython-312.pyc | Bin 2353 -> 2353 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 2244 -> 2244 bytes ...vice_cancelled_at_and_more.cpython-312.pyc | Bin 1214 -> 1214 bytes ...003_payment_servicepayment.cpython-312.pyc | Bin 1847 -> 1847 bytes ...rename_payment_paymenttype.cpython-312.pyc | Bin 688 -> 688 bytes ...05_service_recurring_cycle.cpython-312.pyc | Bin 1015 -> 1015 bytes ...ervice_created_at_and_more.cpython-312.pyc | Bin 1092 -> 1092 bytes ...er_service_recurring_cycle.cpython-312.pyc | Bin 1076 -> 1076 bytes .../0008_alter_service_type.cpython-312.pyc | Bin 1067 -> 1067 bytes ...cepayment_service_and_more.cpython-312.pyc | Bin 1823 -> 1823 bytes .../0010_charge_amount.cpython-312.pyc | Bin 853 -> 853 bytes .../__pycache__/0011_invoice.cpython-312.pyc | Bin 1291 -> 1291 bytes ...nt_charge_receipt_and_more.cpython-312.pyc | Bin 1456 -> 1456 bytes ...alter_invoice_date_created.cpython-312.pyc | Bin 796 -> 796 bytes ...014_servicepayment_comment.cpython-312.pyc | Bin 798 -> 798 bytes .../__pycache__/0015_order.cpython-312.pyc | Bin 1528 -> 1528 bytes .../0016_alter_order_status.cpython-312.pyc | Bin 882 -> 882 bytes .../0017_service_order.cpython-312.pyc | Bin 989 -> 989 bytes .../0018_alter_order_status.cpython-312.pyc | Bin 890 -> 890 bytes ..._service_customer_and_more.cpython-312.pyc | Bin 4689 -> 4689 bytes .../0020_orderitem.cpython-312.pyc | Bin 1344 -> 1344 bytes ...m_recurring_cycle_and_more.cpython-312.pyc | Bin 1124 -> 1124 bytes ...e_item_created_at_and_more.cpython-312.pyc | Bin 1150 -> 1150 bytes ...em_project_alter_item_type.cpython-312.pyc | Bin 1370 -> 1370 bytes .../0024_remove_item_active.cpython-312.pyc | Bin 682 -> 682 bytes ...item_project_item_customer.cpython-312.pyc | Bin 1176 -> 1176 bytes ...tem_type_remove_order_paid.cpython-312.pyc | Bin 836 -> 836 bytes .../0027_item_type.cpython-312.pyc | Bin 859 -> 859 bytes ...0028_remove_order_due_date.cpython-312.pyc | Bin 663 -> 663 bytes .../0029_invoice_pdf.cpython-312.pyc | Bin 788 -> 788 bytes .../0030_alter_invoice_order.cpython-312.pyc | Bin 982 -> 982 bytes ...ter_invoice_invoice_number.cpython-312.pyc | Bin 809 -> 809 bytes .../0032_order_business.cpython-312.pyc | Bin 1066 -> 1066 bytes .../0033_alter_order_status.cpython-312.pyc | Bin 907 -> 907 bytes .../0034_alter_invoice_pdf.cpython-312.pyc | Bin 810 -> 810 bytes .../0035_alter_invoice_pdf.cpython-312.pyc | Bin 792 -> 792 bytes ...ter_invoice_invoice_number.cpython-312.pyc | Bin 818 -> 818 bytes .../0037_recurringcycle_item.cpython-312.pyc | Bin 998 -> 998 bytes .../0038_alter_invoice_pdf.cpython-312.pyc | Bin 810 -> 810 bytes ...recurringcycle_cycle_price.cpython-312.pyc | Bin 787 -> 787 bytes ..._orderitem_end_at_and_more.cpython-312.pyc | Bin 939 -> 939 bytes .../0041_orderitem_active.cpython-312.pyc | Bin 806 -> 806 bytes .../0042_order_due_date.cpython-312.pyc | Bin 772 -> 772 bytes .../0043_alter_invoice_pdf.cpython-312.pyc | Bin 808 -> 808 bytes ...044_alter_orderitem_active.cpython-312.pyc | Bin 788 -> 788 bytes ...ter_orderpayment_date_paid.cpython-312.pyc | Bin 962 -> 962 bytes ...t_order_orderpayment_order.cpython-312.pyc | Bin 1134 -> 1134 bytes ...cription_paymenttype_image.cpython-312.pyc | Bin 1003 -> 1003 bytes ...e_order_status_orderstatus.cpython-312.pyc | Bin 1565 -> 1565 bytes ...rename_due_date_order_date.cpython-312.pyc | Bin 715 -> 715 bytes ...ent_type_orderpayment_type.cpython-312.pyc | Bin 925 -> 925 bytes ..._alter_orderpayment_amount.cpython-312.pyc | Bin 807 -> 807 bytes ...2_alter_orderstatus_status.cpython-312.pyc | Bin 937 -> 937 bytes .../0053_item_photo.cpython-312.pyc | Bin 790 -> 790 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 196 -> 196 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 190 -> 190 bytes .../__pycache__/admin.cpython-312.pyc | Bin 234 -> 234 bytes .../__pycache__/apps.cpython-312.pyc | Bin 508 -> 508 bytes .../custom_context.cpython-312.pyc | Bin 2607 -> 2607 bytes .../__pycache__/decorators.cpython-312.pyc | Bin 1335 -> 1335 bytes .../__pycache__/models.cpython-312.pyc | Bin 188 -> 188 bytes .../__pycache__/urls.cpython-312.pyc | Bin 2852 -> 2852 bytes .../__pycache__/views.cpython-312.pyc | Bin 14455 -> 14455 bytes .../add/__pycache__/urls.cpython-312.pyc | Bin 429 -> 429 bytes .../add/__pycache__/views.cpython-312.pyc | Bin 4074 -> 4074 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 4262 -> 4262 bytes ...02_alter_ticket_department.cpython-312.pyc | Bin 1083 -> 1083 bytes ...mer_ticket_status_and_more.cpython-312.pyc | Bin 1548 -> 1548 bytes ...ket_ticket_number_and_more.cpython-312.pyc | Bin 1259 -> 1259 bytes .../0005_ticketstatusupdate.cpython-312.pyc | Bin 1859 -> 1859 bytes .../0006_ticketupdate_read.cpython-312.pyc | Bin 796 -> 796 bytes ...ead_ticketupdatereadstatus.cpython-312.pyc | Bin 1775 -> 1775 bytes ...pdatereadstatus_ticketread.cpython-312.pyc | Bin 916 -> 916 bytes ...er_ticketattachment_ticket.cpython-312.pyc | Bin 1062 -> 1062 bytes ...ction_ticketupdatereaction.cpython-312.pyc | Bin 737 -> 737 bytes ...ketupdatereaction_customer.cpython-312.pyc | Bin 1219 -> 1219 bytes ...0012_ticket_ticket_members.cpython-312.pyc | Bin 1034 -> 1034 bytes ...lter_ticket_ticket_members.cpython-312.pyc | Bin 903 -> 903 bytes ...partment_ticket_department.cpython-312.pyc | Bin 984 -> 984 bytes ...artment_ticket_departments.cpython-312.pyc | Bin 757 -> 757 bytes ...tstatusupdate_ticketstatus.cpython-312.pyc | Bin 901 -> 901 bytes .../0017_tickettask.cpython-312.pyc | Bin 1395 -> 1395 bytes ...lter_ticketattachment_file.cpython-312.pyc | Bin 809 -> 809 bytes .../__pycache__/0019_file.cpython-312.pyc | Bin 1109 -> 1109 bytes ...lter_ticketattachment_file.cpython-312.pyc | Bin 809 -> 809 bytes .../0021_file_ticket.cpython-312.pyc | Bin 1017 -> 1017 bytes .../0022_remove_file_ticket.cpython-312.pyc | Bin 669 -> 669 bytes ...etattachment_file_and_more.cpython-312.pyc | Bin 1017 -> 1017 bytes ...attachment_ticket_and_more.cpython-312.pyc | Bin 2067 -> 2067 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 201 -> 201 bytes .../payment/__pycache__/urls.cpython-312.pyc | Bin 1390 -> 1390 bytes .../payment/__pycache__/views.cpython-312.pyc | Bin 15464 -> 15464 bytes osinaweb/db.sqlite3 | Bin 1687552 -> 1687552 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 185 -> 185 bytes .../osichat/__pycache__/admin.cpython-312.pyc | Bin 893 -> 1059 bytes .../osichat/__pycache__/apps.cpython-312.pyc | Bin 493 -> 493 bytes .../__pycache__/consumers.cpython-312.pyc | Bin 0 -> 7962 bytes .../__pycache__/models.cpython-312.pyc | Bin 3448 -> 4788 bytes .../__pycache__/routing.cpython-312.pyc | Bin 0 -> 502 bytes .../osichat/__pycache__/urls.cpython-312.pyc | Bin 0 -> 417 bytes .../osichat/__pycache__/views.cpython-312.pyc | Bin 0 -> 555 bytes osinaweb/osichat/consumers.py | 13 ++- .../__pycache__/0001_initial.cpython-312.pyc | Bin 4896 -> 4896 bytes ...atroom_created_by_and_more.cpython-312.pyc | Bin 0 -> 1530 bytes ...ove_chatroom_guest_session.cpython-312.pyc | Bin 0 -> 1278 bytes .../0004_chatroomguest_room.cpython-312.pyc | Bin 0 -> 1019 bytes ...5_alter_chatmessage_member.cpython-312.pyc | Bin 0 -> 1194 bytes ..._alter_chatmessage_content.cpython-312.pyc | Bin 0 -> 798 bytes .../0007_chatmessage_room.cpython-312.pyc | Bin 0 -> 996 bytes ...008_alter_chatmessage_room.cpython-312.pyc | Bin 0 -> 992 bytes .../__pycache__/0009_visitor.cpython-312.pyc | Bin 0 -> 1138 bytes ...ft_date_visitor_visit_date.cpython-312.pyc | Bin 0 -> 907 bytes .../0011_visitor_country.cpython-312.pyc | Bin 0 -> 805 bytes ...12_alter_visitor_reference.cpython-312.pyc | Bin 0 -> 782 bytes ...reference_visitor_referrer.cpython-312.pyc | Bin 0 -> 721 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 196 -> 196 bytes osinaweb/osichat/routing.py | 2 +- osinaweb/osichat/templates/chat-widget.html | 35 +++--- osinaweb/osichat/templates/conversation.html | 108 +++++++++--------- .../osichat/templates/partials/message.html | 2 +- .../osichat/templates/start-conversation.html | 106 ++++++++--------- .../__pycache__/__init__.cpython-312.pyc | Bin 187 -> 187 bytes .../__pycache__/admin.cpython-312.pyc | Bin 3623 -> 3623 bytes .../__pycache__/apps.cpython-312.pyc | Bin 499 -> 499 bytes .../__pycache__/consumers.cpython-312.pyc | Bin 9772 -> 9772 bytes .../custom_context.cpython-312.pyc | Bin 5797 -> 5797 bytes .../__pycache__/decorators.cpython-312.pyc | Bin 1318 -> 1318 bytes .../__pycache__/forms.cpython-312.pyc | Bin 1270 -> 1270 bytes .../__pycache__/models.cpython-312.pyc | Bin 29882 -> 29882 bytes .../__pycache__/routing.cpython-312.pyc | Bin 633 -> 633 bytes .../__pycache__/urls.cpython-312.pyc | Bin 6107 -> 6107 bytes .../__pycache__/views.cpython-312.pyc | Bin 34974 -> 34974 bytes .../add/__pycache__/urls.cpython-312.pyc | Bin 3354 -> 3354 bytes .../add/__pycache__/views.cpython-312.pyc | Bin 31217 -> 31217 bytes .../__pycache__/serializers.cpython-312.pyc | Bin 1181 -> 1181 bytes .../api/__pycache__/urls.cpython-312.pyc | Bin 394 -> 394 bytes .../api/__pycache__/views.cpython-312.pyc | Bin 1966 -> 1966 bytes .../delete/__pycache__/urls.cpython-312.pyc | Bin 1984 -> 1984 bytes .../delete/__pycache__/views.cpython-312.pyc | Bin 7758 -> 7758 bytes .../edit/__pycache__/urls.cpython-312.pyc | Bin 3277 -> 3277 bytes .../edit/__pycache__/views.cpython-312.pyc | Bin 27061 -> 27061 bytes .../__pycache__/urls.cpython-312.pyc | Bin 415 -> 415 bytes .../__pycache__/views.cpython-312.pyc | Bin 643 -> 643 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 3804 -> 3804 bytes ...ions_staffprofile_and_more.cpython-312.pyc | Bin 3960 -> 3960 bytes .../0003_milestone.cpython-312.pyc | Bin 1505 -> 1505 bytes .../__pycache__/0004_epic.cpython-312.pyc | Bin 1447 -> 1447 bytes .../0005_staffprofile_image.cpython-312.pyc | Bin 779 -> 779 bytes .../__pycache__/0006_note.cpython-312.pyc | Bin 1685 -> 1685 bytes ...ct_id_alter_project_status.cpython-312.pyc | Bin 1058 -> 1058 bytes ...8_alter_project_project_id.cpython-312.pyc | Bin 837 -> 837 bytes ...9_alter_project_project_id.cpython-312.pyc | Bin 821 -> 821 bytes .../0010_remove_note_date.cpython-312.pyc | Bin 672 -> 672 bytes ...r_alter_note_text_and_more.cpython-312.pyc | Bin 1808 -> 1808 bytes .../0012_projectrequirement.cpython-312.pyc | Bin 1295 -> 1295 bytes .../0013_projectfile.cpython-312.pyc | Bin 1410 -> 1410 bytes ...014_alter_projectfile_file.cpython-312.pyc | Bin 790 -> 790 bytes .../0015_projectcredentials.cpython-312.pyc | Bin 1416 -> 1416 bytes ...dentials_projectcredential.cpython-312.pyc | Bin 722 -> 722 bytes ...e_alter_project_start_date.cpython-312.pyc | Bin 966 -> 966 bytes .../0018_epic_status.cpython-312.pyc | Bin 866 -> 866 bytes ...date_alter_epic_start_date.cpython-312.pyc | Bin 924 -> 924 bytes .../__pycache__/0020_task.cpython-312.pyc | Bin 1942 -> 1942 bytes ...rprofile_business_and_more.cpython-312.pyc | Bin 2856 -> 2856 bytes ...ustomerprofile_customer_id.cpython-312.pyc | Bin 847 -> 847 bytes .../0023_task_assigned_to.cpython-312.pyc | Bin 1005 -> 1005 bytes .../0024_task_task_id.cpython-312.pyc | Bin 793 -> 793 bytes .../__pycache__/0025_status.cpython-312.pyc | Bin 1576 -> 1576 bytes ...e_status_user_status_staff.cpython-312.pyc | Bin 1128 -> 1128 bytes .../0027_alter_status_staff.cpython-312.pyc | Bin 1046 -> 1046 bytes ...8_remove_projecttype_color.cpython-312.pyc | Bin 682 -> 682 bytes .../0029_alter_reference_date.cpython-312.pyc | Bin 791 -> 791 bytes .../__pycache__/0030_tag.cpython-312.pyc | Bin 919 -> 919 bytes ...1_alter_staffprofile_image.cpython-312.pyc | Bin 797 -> 797 bytes .../__pycache__/0032_point.cpython-312.pyc | Bin 1429 -> 1429 bytes ...nt_date_workingon_and_more.cpython-312.pyc | Bin 1219 -> 1219 bytes ...nt_date_completed_and_more.cpython-312.pyc | Bin 1275 -> 1275 bytes .../0035_business_business_id.cpython-312.pyc | Bin 829 -> 829 bytes ...lter_staffprofile_position.cpython-312.pyc | Bin 1160 -> 1160 bytes ...move_staffprofile_position.cpython-312.pyc | Bin 714 -> 714 bytes ...taffprofile_staff_position.cpython-312.pyc | Bin 1029 -> 1029 bytes ...taffprofile_staff_position.cpython-312.pyc | Bin 1054 -> 1054 bytes ...0040_staffprofile_staff_id.cpython-312.pyc | Bin 829 -> 829 bytes .../0041_dailyreport.cpython-312.pyc | Bin 1467 -> 1467 bytes ...omerprofile_email_and_more.cpython-312.pyc | Bin 1173 -> 1173 bytes .../0043_businesstype.cpython-312.pyc | Bin 955 -> 955 bytes ...ove_business_business_type.cpython-312.pyc | Bin 686 -> 686 bytes .../0045_business_type.cpython-312.pyc | Bin 1019 -> 1019 bytes .../0046_task_requirement.cpython-312.pyc | Bin 1015 -> 1015 bytes .../0047_task_status_date.cpython-312.pyc | Bin 920 -> 920 bytes ...r_customerprofile_business.cpython-312.pyc | Bin 1074 -> 1074 bytes ...r_customerprofile_business.cpython-312.pyc | Bin 1042 -> 1042 bytes ...by_projectrequirement_date.cpython-312.pyc | Bin 1374 -> 1374 bytes ...051_alter_task_requirement.cpython-312.pyc | Bin 1045 -> 1045 bytes .../0052_note_project.cpython-312.pyc | Bin 998 -> 998 bytes .../0053_pointactivity.cpython-312.pyc | Bin 1289 -> 1289 bytes ...nt_date_completed_and_more.cpython-312.pyc | Bin 926 -> 926 bytes .../0055_alter_point_status.cpython-312.pyc | Bin 921 -> 921 bytes ...ter_pointactivity_end_time.cpython-312.pyc | Bin 806 -> 806 bytes ...otal_time_minutes_and_more.cpython-312.pyc | Bin 1105 -> 1105 bytes ..._total_time_hours_and_more.cpython-312.pyc | Bin 904 -> 904 bytes ...059_alter_task_requirement.cpython-312.pyc | Bin 1050 -> 1050 bytes ...0_pointactivity_total_time.cpython-312.pyc | Bin 806 -> 806 bytes ...date_alter_task_start_date.cpython-312.pyc | Bin 927 -> 927 bytes .../0062_connection.cpython-312.pyc | Bin 1566 -> 1566 bytes ...0063_alter_connection_date.cpython-312.pyc | Bin 773 -> 773 bytes .../__pycache__/0064_reaction.cpython-312.pyc | Bin 1596 -> 1596 bytes ...ter_customerprofile_status.cpython-312.pyc | Bin 909 -> 909 bytes ...business_business_customer.cpython-312.pyc | Bin 1165 -> 1165 bytes ..._customerprofile_confirmed.cpython-312.pyc | Bin 848 -> 848 bytes ...profile_confirmed_and_more.cpython-312.pyc | Bin 1053 -> 1053 bytes ..._projectfile_file_and_more.cpython-312.pyc | Bin 1178 -> 1178 bytes ...le_staff_position_and_more.cpython-312.pyc | Bin 1755 -> 1755 bytes ...jecttype_department_ticket.cpython-312.pyc | Bin 2358 -> 2358 bytes ...treaction_ticketattachment.cpython-312.pyc | Bin 2736 -> 2736 bytes ...073_alter_ticket_regarding.cpython-312.pyc | Bin 927 -> 927 bytes ...ed_ticketupdate_date_added.cpython-312.pyc | Bin 740 -> 740 bytes ...attachment_ticket_and_more.cpython-312.pyc | Bin 1334 -> 1334 bytes .../0076_alter_reference_date.cpython-312.pyc | Bin 782 -> 782 bytes ...oject_active_projectstatus.cpython-312.pyc | Bin 1737 -> 1737 bytes ...alter_projectstatus_status.cpython-312.pyc | Bin 933 -> 933 bytes ...e_alter_project_start_date.cpython-312.pyc | Bin 917 -> 917 bytes .../0080_project_logo.cpython-312.pyc | Bin 822 -> 822 bytes .../0081_status_task.cpython-312.pyc | Bin 1030 -> 1030 bytes .../0082_pinnedproject.cpython-312.pyc | Bin 1499 -> 1499 bytes ...ition_jobposition_and_more.cpython-312.pyc | Bin 829 -> 829 bytes .../0084_staffposition.cpython-312.pyc | Bin 1484 -> 1484 bytes ...sition_start_date_and_more.cpython-312.pyc | Bin 937 -> 937 bytes ...s_connection_terminated_at.cpython-312.pyc | Bin 950 -> 950 bytes ...087_remove_connection_date.cpython-312.pyc | Bin 710 -> 710 bytes .../0088_connection_date.cpython-312.pyc | Bin 777 -> 777 bytes .../0089_connection_connected.cpython-312.pyc | Bin 782 -> 782 bytes ...ed_at_connection_last_seen.cpython-312.pyc | Bin 738 -> 738 bytes ...0091_alter_connection_user.cpython-312.pyc | Bin 1184 -> 1184 bytes ...onnected_connection_online.cpython-312.pyc | Bin 725 -> 725 bytes ...93_connection_disconnected.cpython-312.pyc | Bin 808 -> 808 bytes .../0094_customuser.cpython-312.pyc | Bin 1049 -> 1049 bytes .../0095_delete_customuser.cpython-312.pyc | Bin 642 -> 642 bytes .../0096_status_date_time.cpython-312.pyc | Bin 785 -> 785 bytes ...us_date_remove_status_time.cpython-312.pyc | Bin 755 -> 755 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 198 -> 198 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 186 -> 186 bytes .../osinaweb/__pycache__/asgi.cpython-312.pyc | Bin 1093 -> 1093 bytes .../__pycache__/routing.cpython-312.pyc | Bin 369 -> 444 bytes .../__pycache__/settings.cpython-312.pyc | Bin 3687 -> 3687 bytes .../osinaweb/__pycache__/urls.cpython-312.pyc | Bin 1534 -> 1591 bytes osinaweb/static/dist/output.css | 80 +++++++++++++ osinaweb/static/js/osichat/chat-toggle.js | 30 +++-- osinaweb/static/js/osichat/conversation.js | 47 +++++--- .../__pycache__/__init__.cpython-312.pyc | Bin 185 -> 185 bytes .../support/__pycache__/admin.cpython-312.pyc | Bin 1067 -> 1067 bytes .../support/__pycache__/apps.cpython-312.pyc | Bin 493 -> 493 bytes .../__pycache__/consumers.cpython-312.pyc | Bin 15869 -> 15869 bytes .../__pycache__/decorators.cpython-312.pyc | Bin 1451 -> 1451 bytes .../__pycache__/models.cpython-312.pyc | Bin 15765 -> 15765 bytes .../__pycache__/routing.cpython-312.pyc | Bin 639 -> 639 bytes .../support/__pycache__/urls.cpython-312.pyc | Bin 1515 -> 1515 bytes .../support/__pycache__/views.cpython-312.pyc | Bin 4884 -> 4884 bytes .../add/__pycache__/urls.cpython-312.pyc | Bin 698 -> 698 bytes .../add/__pycache__/views.cpython-312.pyc | Bin 2392 -> 2392 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 7003 -> 7003 bytes ...icket_departments_and_more.cpython-312.pyc | Bin 2266 -> 2266 bytes .../0003_remove_ticket_status.cpython-312.pyc | Bin 686 -> 686 bytes ...ened_date_ticketconnection.cpython-312.pyc | Bin 1973 -> 1973 bytes ...er_ticketconnection_ticket.cpython-312.pyc | Bin 1019 -> 1019 bytes ...etconnection_type_and_more.cpython-312.pyc | Bin 909 -> 909 bytes ...07_alter_ticketstaff_staff.cpython-312.pyc | Bin 1081 -> 1081 bytes ...08_alter_tickettask_ticket.cpython-312.pyc | Bin 988 -> 988 bytes ...etconnection_terminated_at.cpython-312.pyc | Bin 815 -> 815 bytes ...icketconnection_terminated.cpython-312.pyc | Bin 710 -> 710 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 196 -> 196 bytes osinaweb/tailwind.config.js | 1 + 293 files changed, 267 insertions(+), 157 deletions(-) create mode 100644 osinaweb/osichat/__pycache__/consumers.cpython-312.pyc create mode 100644 osinaweb/osichat/__pycache__/routing.cpython-312.pyc create mode 100644 osinaweb/osichat/__pycache__/urls.cpython-312.pyc create mode 100644 osinaweb/osichat/__pycache__/views.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0002_chatroom_guest_session_alter_chatroom_created_by_and_more.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0003_chatroomguest_remove_chatroom_guest_session.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0004_chatroomguest_room.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0005_alter_chatmessage_member.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0006_alter_chatmessage_content.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0007_chatmessage_room.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0008_alter_chatmessage_room.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0009_visitor.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0010_visitor_left_date_visitor_visit_date.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0011_visitor_country.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0012_alter_visitor_reference.cpython-312.pyc create mode 100644 osinaweb/osichat/migrations/__pycache__/0013_rename_reference_visitor_referrer.cpython-312.pyc diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-312.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-312.pyc index 1e63d38faffc5bbcf93d49da777293c37767a315..c33daa8afc1b8f3c182687b7195ceea5a3989afa 100644 GIT binary patch delta 19 ZcmdnXxR;UpG%qg~0}wR%&zs1-2>>z01vCHv delta 19 ZcmdnXxR;UpG%qg~0}#wOKVu^ICIB?C1;hXV diff --git a/osinaweb/addressbook/__pycache__/admin.cpython-312.pyc b/osinaweb/addressbook/__pycache__/admin.cpython-312.pyc index d8664c35294ca178b0b2306f357ff97ddfa99a92..936ad40849407a3378b37a98f42763b43c5e95b1 100644 GIT binary patch delta 20 acmdnWx|NmtG%qg~0}wR%&)dkoiU|NV%LPUN delta 20 acmdnWx|NmtG%qg~0}#wOKVu{JDkcCrM+MdZ diff --git a/osinaweb/addressbook/__pycache__/apps.cpython-312.pyc b/osinaweb/addressbook/__pycache__/apps.cpython-312.pyc index 1a019f84adf88a54ebb3e5a4e478e5dbf3cf4b5c..03c558c7b96e3e3788d03e1b29fa43d2317e3e82 100644 GIT binary patch delta 20 acmey#{F9mcG%qg~0}wR%&)dlTju8MsA_ffr delta 20 acmey#{F9mcG%qg~0}#wOKVu{JJ4OIRo(7!& diff --git a/osinaweb/addressbook/__pycache__/models.cpython-312.pyc b/osinaweb/addressbook/__pycache__/models.cpython-312.pyc index 1182ab234aa937402d7a66ddfc2a27c6eaaf9043..e7efa6a1fc7044e78d405bc895be11a950740214 100644 GIT binary patch delta 20 acmca8c2SJ`G%qg~0}wR%&)dlD#ti^Gm<2@u delta 20 acmca8c2SJ`G%qg~0}#wOKVu`e8#e$z6b01) diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-312.pyc index 463f2825c8872c9745c09255edd7f3494e462686..16455a1cf8e9d7140a3e223ee7ceab348213614b 100644 GIT binary patch delta 20 acmZo-Z(`>@&CAQh00d3`^EPsqGXnrG90ale delta 20 acmZo-Z(`>@&CAQh00cA6&)CRa&I|xDm<2)r diff --git a/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-312.pyc index ff057940b22ffd092be8d22c16070a0b59672496..90263e2a8d94679d02c240c38ee3f96a9ca776be 100644 GIT binary patch delta 20 acmdnax1EpsG%qg~0}wR%&)dkY!wvv9WCY^? delta 20 acmdnax1EpsG%qg~0}#wOKVu`e4m$uk;01F4 diff --git a/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-312.pyc index e93155fb29c9f0fa5b6f0601e810f523141202d9..50b66c03543208300e276cceead9495d1e97def7 100644 GIT binary patch delta 20 acmZqTZsO)X&CAQh00d3`^EPsqvjPAwt^~XQ delta 20 acmZqTZsO)X&CAQh00cA6&)CRa&I$lCDg{gc diff --git a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-312.pyc index 8bdbe01f96ce59c5519f0a2dc98cfb889966d4e9..d464e20f4ac021781618bbb94767633d51142ca4 100644 GIT binary patch delta 20 acmX@ld7hK|G%qg~0}wR%&)dj-garUQZ3UhH delta 20 acmX@ld7hK|G%qg~0}#wOKVu{J5f%VG=>{$U diff --git a/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-312.pyc index c036486268993b8fb976c8160d8ea1363e81207d..00753a7979839e4694559bb35ce53f074795a143 100644 GIT binary patch delta 20 acmaFC{(_zRG%qg~0}wR%&)dj-ml*&*3 delta 20 acmaFC{(_zRG%qg~0}#wOKVu{JU1k76hz4{3 diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-312.pyc index 1848a416c16c28f8853f73781fc1d0826bbd6a82..419ac49c6eb3355f820ed0cdf34777ce3137b3e9 100644 GIT binary patch delta 19 ZcmX@Xc!H7pG%qg~0}wR%&zs1-7XUL{1yuk5 delta 19 ZcmX@Xc!H7pG%qg~0}#wOKVu^IUH~>o1?2z$ diff --git a/osinaweb/billing/__pycache__/__init__.cpython-312.pyc b/osinaweb/billing/__pycache__/__init__.cpython-312.pyc index e84f8ecd826931df39bd03a32adc099c40524372..8818da5877bb3546184162b84ffbaf50222df387 100644 GIT binary patch delta 19 ZcmdnVxRa6lG%qg~0}wR%&zs1-4gfJR1tlb4rH$G%qg~0}wR%&)djt&j$cJTLnJ= delta 20 acmX>lb4rH$G%qg~0}#wOKVu`eJs$u+*9Ff2 diff --git a/osinaweb/billing/add/__pycache__/urls.cpython-312.pyc b/osinaweb/billing/add/__pycache__/urls.cpython-312.pyc index 19920dd3597a085fc55926e6f1cde22e05e76b4c..b6b7684883b10823c2190683815501c53f4df567 100644 GIT binary patch delta 50 zcmZ3(v5tfHG%qg~0}$i|%uAcKk++taarWeHW>?maYz(ZNlP@#-af|ZsGc|G-i31e@ E09E)5761SM delta 48 zcmZ3-v4(^9G%qg~0}z;9n2|PfBX2D;ictnuictnugM7;&CAQh00d3`^A>Wm0st#=1VsP< delta 19 ZcmeC?>gM7;&CAQh00cA6&sfOK3IHx%1l0fl diff --git a/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-312.pyc index b3ebb01a8397af3f3eb3a84c877aa8f152c469d0..a4af2c5b26b64c0a687c806664977d80ee12b94b 100644 GIT binary patch delta 20 acmdnMy@8wiG%qg~0}wR%&)dkolobFr-UUVg delta 20 acmdnMy@8wiG%qg~0}#wOKVu{JQdR&uS_Res diff --git a/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-312.pyc index d0f15ac1560516cfa49da0aa258f171e45732788..75f48c42ebc484d93a8a645b5a6b5e2afa5fe0d3 100644 GIT binary patch delta 20 acmbQkHiwP-G%qg~0}wR%&)di?$P5572n2or delta 20 acmbQkHiwP-G%qg~0}#wOKVu`eATt0pgar-& diff --git a/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-312.pyc index a985e87a2018db9132517bd797dad9d116c2fcc1..ab51aac9ba316274ab0ac0eced61e72dcf8239d5 100644 GIT binary patch delta 20 acmbQoHjj<_G%qg~0}wR%&)di?%nSfBSOkOs delta 20 acmbQoHjj<_G%qg~0}#wOKVu`eFf#x()CCj( diff --git a/osinaweb/billing/migrations/__pycache__/0015_order.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-312.pyc index ee4783e67d20dc1bd5df862f2c0dbda3c1fbbca8..5efe5337a99ec174314c27983a0f4fcc1e0d6f49 100644 GIT binary patch delta 20 acmeyt{ezqPG%qg~0}wR%&)dlTmK6X(9tIu& delta 20 acmeyt{ezqPG%qg~0}#wOKVu{JTUG!?ng*@_ diff --git a/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-312.pyc index e115b84103f14be515d8f25fb7e7672662f6e3e0..582cae0b1c3836f1694fcfcd766e5bb082ea8857 100644 GIT binary patch delta 20 acmeyw_KA)AG%qg~0}wR%&)dkI&I|xQcm;p} delta 20 acmeyw_KA)AG%qg~0}#wOKVu_zIx_%5^acG%qg~0}wR%&)diy$pQd9kp)`- delta 20 acmaFD@q~l>G%qg~0}#wOKVu_zBntpR4F&4} diff --git a/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-312.pyc index 6c1750640b1a809abd3b04704b7af21438b04835..3b568c123d1fe9573af23d1493cea3ce33b71020 100644 GIT binary patch delta 20 acmeyz@sET1G%qg~0}wR%&)djd%mM&Gp#`Y` delta 20 acmeyz@sET1G%qg~0}#wOKVu_zF$(}i9R@i7 diff --git a/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-312.pyc index 5b4af88c6474c598466e4b215b226141f84686d2..9552a3bc1679a81849473520428b09bd2eb8c796 100644 GIT binary patch delta 20 acmcb`b&HGpG%qg~0}wR%&)dlD&k6uMN(Djy delta 20 acmcb`b&HGpG%qg~0}#wOKVu`eKPvz~#s$&< diff --git a/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-312.pyc index 428d8ba83d4432107eb2b5df852f8bbb03ad4bc3..d6a61b8670d08992b7be300edcd6272170599ca3 100644 GIT binary patch delta 20 acmZ3*x{8(iG%qg~0}wR%&)dj7p9ugp69pvz delta 20 acmZ3*x{8(iG%qg~0}#wOKVu{Jd?o-mj|H^= diff --git a/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-312.pyc index d2785693a71b8d73cfc44477f235cc50e4131e1e..bfc39efa44094e74a0563161c889619e8d93af71 100644 GIT binary patch delta 20 acmbQiIfIk?G%qg~0}wR%&)dk|%K`v0)dcwf delta 20 acmbQiIfIk?G%qg~0}#wOKVu_zFAD%RQ3Z(r diff --git a/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-312.pyc index fbb5ecc73e2d64040b92aa2652c8b27b48d6b94f..617950027d502b037367ab3813c75c0f4e79c642 100644 GIT binary patch delta 20 acmX@Yc7%=lG%qg~0}wR%&)djt$qWEENCfr( delta 20 acmX@Yc7%=lG%qg~0}#wOKVu`eB{Kj!#07=` diff --git a/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-312.pyc index 0627e1a13f9a6e4994a88b2b41ee6d2cca343e01..75c45b9d196d223e04b4b1ce69a3f8f21a815250 100644 GIT binary patch delta 20 acmcc3cAJg+G%qg~0}wR%&)diyzzhI8-~~GX delta 20 acmcc3cAJg+G%qg~0}#wOKVu_z05bqTTm{Pj diff --git a/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-312.pyc index 62ccc4be631e6b4a392ea4bf321895c4c5748aab..e4318cec046ec5434d429c9bfd1865479da2d516 100644 GIT binary patch delta 20 acmbQvI-QmKG%qg~0}wR%&)dk|!vp{_8wBhC delta 20 acmbQvI-QmKG%qg~0}#wOKVu_z4-)`2mj!$P diff --git a/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-312.pyc index ccbcec6e0c9f423db1f0c2ab29b08407a78dcaae..7525ea3982097303665d56c2efa657090c6c32db 100644 GIT binary patch delta 20 acmbQjHieD*G%qg~0}wR%&)dk&$qWE6$OL8p delta 20 acmbQjHieD*G%qg~0}#wOKVu^|Co=#vL delta 20 acmaFH{*0abG%qg~0}#wOKVu{JZDs&MI0kM2 diff --git a/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-312.pyc index bedc58a8278527b917f3293c6af916c45048da77..97bea3d92ed08c9aab4498190c48780b7a85b8a5 100644 GIT binary patch delta 20 acmZ3*wu+7WG%qg~0}wR%&)di?&kO)GI0UEw delta 20 acmZ3*wu+7WG%qg~0}#wOKVu`eJTm|{v;{Z- diff --git a/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-312.pyc index fda8d3a1461d0f4c9110a59aa401232c1df72b1c..5757ed2c01013fc035c3d014b73d807c56f5da63 100644 GIT binary patch delta 20 acmbQtHkpn4G%qg~0}wR%&)dk&!3+Q}paf$8 delta 20 acmbQtHkpn4G%qg~0}#wOKVu^|2QvUP90cG%qg~0}wR%&)dkoof!Z*90hU! delta 20 acmX@aeu$m>G%qg~0}#wOKVu{Jc4h!Pm<9p> diff --git a/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-312.pyc index 5c174557f794bcc7fd02d478e3c218a6fa84f190..248942d9838fb619757b62c7f5998820ad0f80d7 100644 GIT binary patch delta 20 acmaFI@s5N0G%qg~0}wR%&)dkI%mM&EAq9B= delta 20 acmaFI@s5N0G%qg~0}#wOKVu_zG7A7godyX2 diff --git a/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-312.pyc index 868d383becb35524dd98628821aee1e6e2818e3b..df1e2ab22b9c4e5e7ee7d54704c1a342e674fd77 100644 GIT binary patch delta 20 acmaFO{+gZpG%qg~0}wR%&)dlTfEfTkgaz#Y delta 20 acmaFO{+gZpG%qg~0}#wOKVu{J17-k200w;k diff --git a/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-312.pyc index d4f4eab8813a2f54fc589f25acf50e0d39455186..a6e4d53dc04f096167cc381d34ae008f4484099c 100644 GIT binary patch delta 20 acmbQsGna?^G%qg~0}wR%&)di?#0CH}3j~k= delta 20 acmbQsGna?^G%qg~0}#wOKVu`e5E}qChXo)2 diff --git a/osinaweb/billing/migrations/__pycache__/0049_rename_due_date_order_date.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0049_rename_due_date_order_date.cpython-312.pyc index 37f43df8e5a701de963edaa5cdd702a76a150c7a..e5fde6136a0c0f567592d85376ca495dc8e3df06 100644 GIT binary patch delta 20 acmX@jdYYB{G%qg~0}wR%&)dj-fC&IPI|YaU delta 20 acmX@jdYYB{G%qg~0}#wOKVu{J0VV)Fw+0vh diff --git a/osinaweb/billing/migrations/__pycache__/0050_remove_orderpayment_type_orderpayment_type.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0050_remove_orderpayment_type_orderpayment_type.cpython-312.pyc index 9f04d50da567c5098755e7f9607e714670c01271..9a4909d26231fe76e209ddc055ba88d4e59b74f9 100644 GIT binary patch delta 20 acmbQsK9`;QG%qg~0}wR%&)dj7i5UPhR0RV7 delta 20 acmbQsK9`;QG%qg~0}#wOKVu{JBxV3M&;^qK diff --git a/osinaweb/billing/migrations/__pycache__/0051_alter_orderpayment_amount.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0051_alter_orderpayment_amount.cpython-312.pyc index c87bd682039297c3f5fbe185f5c7a2a38b8e0861..e4f1f2ccd86140d0ddd00c78a4178404413b3d43 100644 GIT binary patch delta 20 acmZ3^ww#UoG%qg~0}wR%&)di?!wdj3zyzNF delta 20 acmZ3^ww#UoG%qg~0}#wOKVu`e3^M>XJOwWR diff --git a/osinaweb/billing/migrations/__pycache__/0052_alter_orderstatus_status.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0052_alter_orderstatus_status.cpython-312.pyc index a88317c31f48f6131a968ac449e57fd2bfe45e52..3e215f509abe6b4e077609c79ae494f43c306e8b 100644 GIT binary patch delta 20 acmZ3T$21@_{ diff --git a/osinaweb/customercore/__pycache__/apps.cpython-312.pyc b/osinaweb/customercore/__pycache__/apps.cpython-312.pyc index 07a4600b6e18c6de82020781d6cfba571dfc8d17..c9a52b5b351ca1e0eb655c1abb9b7f8dc7b4b8a5 100644 GIT binary patch delta 20 acmeyv{D+zQG%qg~0}wR%&)dlTkr4nvng$jC delta 20 acmeyv{D+zQG%qg~0}#wOKVu{JM@9fe76zsO diff --git a/osinaweb/customercore/__pycache__/custom_context.cpython-312.pyc b/osinaweb/customercore/__pycache__/custom_context.cpython-312.pyc index 687b772fe7de110b99b0c2fb8ba4f4a704c51c41..8c6022af5a15c02b4db2d62b94211468acb12087 100644 GIT binary patch delta 20 acmZ24vR;JyG%qg~0}wR%&)dkY!UX^}{{-3q delta 20 acmZ24vR;JyG%qg~0}#wOKVu`e3Ksx6dj)C$ diff --git a/osinaweb/customercore/__pycache__/decorators.cpython-312.pyc b/osinaweb/customercore/__pycache__/decorators.cpython-312.pyc index bfdc5a8dad8247628039944d797fcc9523450bb3..edfad3e71aa1fa2b1d71607a3795ddad188ec444 100644 GIT binary patch delta 20 acmdnawVjLmG%qg~0}wR%&)dkY!wLX4(gfK6 delta 20 acmdnawVjLmG%qg~0}#wOKVu`e4l4jUP6cTI diff --git a/osinaweb/customercore/__pycache__/models.cpython-312.pyc b/osinaweb/customercore/__pycache__/models.cpython-312.pyc index b6fa2295ab620c5ad310148d61bc97013e256a23..1a3adbc163ef8ad8c1c79ebc6eae7babf25bf5ee 100644 GIT binary patch delta 19 ZcmdnPxQCJZG%qg~0}wR%&zs1-5dblu1u*~s delta 19 ZcmdnPxQCJZG%qg~0}#wOKVu^IMgTO71;GFS diff --git a/osinaweb/customercore/__pycache__/urls.cpython-312.pyc b/osinaweb/customercore/__pycache__/urls.cpython-312.pyc index ea263c53db622ebcf7d51401dc6a61f6e4bcc763..2cfc0e986bdf0886331623b6d6b63d884d578607 100644 GIT binary patch delta 20 acmZ1?wnU8kG%qg~0}wR%&)di?$qfKCkOaN} delta 20 acmZ1?wnU8kG%qg~0}#wOKVu`eBsTy#3yq1~!G%qg~0}wR%&)dkoh!FraLIo)R delta 20 acmZ3>yq1~!G%qg~0}#wOKVu{JB1Ql>z6H4e diff --git a/osinaweb/customercore/add/__pycache__/views.cpython-312.pyc b/osinaweb/customercore/add/__pycache__/views.cpython-312.pyc index df31fa803d8d3943e19c944c2707595cae0a9d3c..4f6b110cd3d211362d44c2f73d004ee1c860d598 100644 GIT binary patch delta 20 acmaDQ|4N?wG%qg~0}wR%&)dj-pC151$Oa|= delta 20 acmaDQ|4N?wG%qg~0}#wOKVu{JeSQE&L+r3G*R diff --git a/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-312.pyc index 68fca5a531375074256393a842f26b581f6c54e6..550be9860fa16f3b6a4939713acb71c5679ca81e 100644 GIT binary patch delta 20 acmeC->EYo%&CAQh00d3`^EPrbvH<`vV+36Q delta 20 acmeC->EYo%&CAQh00cA6&)CS#$OZs2-vsRd diff --git a/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-312.pyc index 12c880b8a10b14b0c9fbbcf184bd6b5dac052251..d519a68d65c4991ca5a1e385295c1123d8c9bd27 100644 GIT binary patch delta 20 acmaFO`I?jaG%qg~0}wR%&)dlTfCT_Q%?0uR delta 20 acmaFO`I?jaG%qg~0}#wOKVu{J0~P>7Nd|%d diff --git a/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-312.pyc index cda178750eda846f258c2b20031734c8d3edbe98..04b62633e4092b27d156e2a1a718b864d1d1d8e3 100644 GIT binary patch delta 20 acmX@icbJd+G%qg~0}wR%&)djt!43d9Lydzy+58 diff --git a/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-312.pyc index 9c63190554f0389e5d7b30e8c6d4118ee1a506ce..136a50c822ea82b96bc65407775517ff9bda3073 100644 GIT binary patch delta 20 acmbQkHiwP-G%qg~0}wR%&)di?$P5572n2or delta 20 acmbQkHiwP-G%qg~0}#wOKVu`eATt0pgar-& diff --git a/osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-312.pyc index 4023d28dbaaef69af28378760d18e859f2e345d3..54992ac3b036da510c0c1318de03bf2162b45cf6 100644 GIT binary patch delta 20 acmaFQ`<|EkG%qg~0}wR%&)dlTgbe^d{{{#E delta 20 acmaFQ`<|EkG%qg~0}#wOKVu{J6E*-udj^;Q diff --git a/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-312.pyc index 2c5f97ee86eee2bd312a2a8585e96dcec5ae7fe0..b76bd6d4288e2d726a04c4b0d507540ee17715dc 100644 GIT binary patch delta 20 acmbQjK82n8G%qg~0}wR%&)dk|$qWE7>;&il delta 20 acmbQjK82n8G%qg~0}#wOKVu_zCo=#wXa#rx diff --git a/osinaweb/customercore/migrations/__pycache__/0009_alter_ticketattachment_ticket.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0009_alter_ticketattachment_ticket.cpython-312.pyc index 030e981ae25cbf9d010fe9df1b2b6ddbdbeb03ea..f08cbb79492bde5db86fb983e959d343e69689d5 100644 GIT binary patch delta 20 acmZ3+v5bTJG%qg~0}wR%&)di?%>n>3;RK-o delta 20 acmZ3+v5bTJG%qg~0}#wOKVu`eGz$PXT?H`! diff --git a/osinaweb/customercore/migrations/__pycache__/0010_rename_ticketreaction_ticketupdatereaction.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0010_rename_ticketreaction_ticketupdatereaction.cpython-312.pyc index ac67258d9d2ceb5219257281f1626f59cd6a0fe3..30da59e7aa3530d2729e83c2f72bcd0ee932f79c 100644 GIT binary patch delta 20 acmaFJ`jD0TG%qg~0}wR%&)dj-jR^ofs|Csc delta 20 acmaFJ`jD0TG%qg~0}#wOKVu{JH6{Q-Ck9#o diff --git a/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-312.pyc index e1fbe107ef4ad74bafa8dceef7e1072db1496e6f..cc4b12529fc015e2ed4909623335bfeafacd2e3e 100644 GIT binary patch delta 20 acmX@id6<*?G%qg~0}wR%&)dkog9QLNjRkrD delta 20 acmX@id6<*?G%qg~0}#wOKVu{J4i*4C2?h!P diff --git a/osinaweb/customercore/migrations/__pycache__/0012_ticket_ticket_members.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0012_ticket_ticket_members.cpython-312.pyc index e92b450ba71088cb2396919fe6bdf7e4f0799121..56c8c0abb077b31117ab6d15116f6a7a7ed74975 100644 GIT binary patch delta 20 acmeC;=;Gi$&CAQh00d3`^EPt-X9fT=F^IQmrvOXMw@lGc)(jz1%BT5?8Jyp6h1ce!geC?QKS=eCO5ZPls9UI(N34<#$KU zzGA*OiQX&`C+E^_ck_s0K3*wor!20<7N@Yo{mGcXJZ9XKW z7q?RD!3)79|ICUwDKGmkO^vH7aY_6-5)t-^st+L^N;I7Z>1aPHmCabFW{YwQifzQcXDg+5={;WXp@9qz-CL0hmT z6H80AYHlm6Y|2@=P{?FNtyooaSv9V0r{y#oFjdAU*WCQIFJ9&-0L5{N4vG^LCn>&4 zaf;&f-WM;sP6@V9+m2!Xz;&agZD;pe`MF~W zV{2Zr7+DN07A+pNSg_bcp%#AI+== zXC6yTO-!f!Sv*OS^D7Hv!|xlLek4+^rj~qL^Wjh`KC8pxaui)N}tF&9hi-JNwGXFKhj!GOoXZ@~>9are0QIfFZI4jNN0 zXN*1RUaDihopJRB*-$v0%&0_z1VZ?r@bRLjojK(Sve|HHTS7>}_l4=uD0xsHeWSba z29m5{#v}0m0@63s+s-(hLH0q%?KK|1?7q=u^{P7z?IDd`Vs?@{w3EC8_WJY3e&pPJ zE`OxO_*Kpgo-#|9=dCjKnB3QA6?2!#y}c&)^qAb;?WC?Q$8`pL2zF^lii2+e7k8J& z^2glM+$C<5JL>$*`IhrVXVDpSo^kx!@sZ=E<2sG-6OMYnM)&V$*n>A#Cc1dXq}Rf+$Opg7^X05G6{@B2mDKrV*JR6zMghPO*4wt4W4bLDWP9ReoU9^r|y# zw%n}3boZJn6W%K{qPCVTuQl%<(XOJ&s;ck(fXI) z5fY)F5&|YN6p?4>p+*X##dt9qKe#Zeh!jco430F;x;PnHJSam@hft7-tkSdg zpFQk)P>EPK8;3+g!VeBNtl~J14_ZN0M+%KDf*5(cLya@U;ss3a%YjcJs>6aT(wz~H p*W1t~im^hXNe8JPRzy+udIkm?k=rKCDkzAUAnLZaTXzS~{|AuXl#BoX delta 1755 zcmb7EOKclO7@qaU4taRT&V%*FuH_`Aq=76uv+I2+s7awwsYpT_3Ic^zPHHDk;zyD? zP9h;k;*bLeT8d<;7u=#85C?(+H9{3C5{QT*;6NpM0>ptHDk>x^2e|N0A{>Vh9{&A( zyPEy>oByBvXI54wR#ql1`nlqzz!T0QlAk~M-ubt?xbS7+h@T5=bRW6F!{z5kUp{vE z<3#OCv&kV0pIIEVa{53nF_Rr09MJ}{ ziQL3&G?RL9e$IMsE_LQ{s!***F?uKsDY{K8n;5cgSr*Y=*-Wo)ra6EEzyoRkPJjzg z3wQuf2dD=$02%@A(q>xdRrn}(t591MUM;*)6fEwY!k0ziPNBE1^>EEY{Gg-oIwjL`hkLNK#~O1(gB3qYk0(k8Fkj@L8_f9;3RwVR&G|9Zw( z2>*u5_%6h!Rq+YTk;TzY-i5sVh?`7QK9Le4s;xxqh#{+{MTshQIJQM74Ku>8S7epy zA}du9S*_h7D>f{$l!78F*XLvPHi_+}@@qa%QEK3iBH@mEy>YeSY<;AzvGym|N6t$% zlYFVY&(Xn`j;hjUjXqu|BcY71;~AmsHg^MZ4Y~{Vp!9kkA&1tF9BI~-L znd(S3lS$8AutP)XR1DOvespfHniw{vGEp^ZY8CZ-fvMQB_BoF7~@hHNh_*=Y&M}@xKfHgfV6po#h&g65MtVW>E zxN+~HR_=JxP%L5^#AGW7oyR?m@gPU(zbz5;C)fVpq^yg#n!U`G(gC`^&b?&{Am98` zevrB_dQMtv!@t0;x{ILOce;MJ=S%IGhPT`s7c+H^!slrTp8(Tt58G5>%<>5ef|KXC zHrB*0Nn-bb0As)34MPsRf$(>D1IKY(h*rfUtfV63x%XRPA1%%=j#pX)*5l1)7>vi_ zl`$m*%?cY#Rb<1`4U>qVT4Jxp4v;CPqL>Dgojy=Tt-P!%giwv?9$`B=7TY%`HD$%r z6y0JX7c)zZO=YWOa4=KN)`)Bnq7s%G`u-nf3N<5aO7vkKvpM&A5o#-%9D&DISVkvy z&lnOSrmbnVs>vqRBAV(0QI?5@rz;-YB9+*hB}a7C*iIXDhIbCE^j~zPTX`wc_Xhw> B#?}A; diff --git a/osinaweb/osichat/__pycache__/__init__.cpython-312.pyc b/osinaweb/osichat/__pycache__/__init__.cpython-312.pyc index af5f2288c6f87ba8aa56aa07f0d74051c0610767..1b72073ad624def39b9b629febf0a16a72a7c4cb 100644 GIT binary patch delta 19 ZcmdnVxRa6lG%qg~0}wR(&zs1-4gfJX1t|ak delta 19 ZcmdnVxRa6lG%qg~0}#wOKVu^IIsh~s1-JkJ diff --git a/osinaweb/osichat/__pycache__/admin.cpython-312.pyc b/osinaweb/osichat/__pycache__/admin.cpython-312.pyc index 56bf0ceee82740aae4e39d78d66f5ed5f24051fe..9c2ec6371c1c5aa0e08b8bcf6b4885c30f1ca172 100644 GIT binary patch delta 152 zcmey%wwQzWG%qg~0}wR(&r9o_$ScXjz_d|g3gcucMr}r($pVa~jJ%UKF={aKO}@>j zr^p_bS)5stUv!JZIU}(oC_g{<7B7tDUYc55GFgb}jIJ2aJVqccUJoQbFf%eT-epj@ u!yx*Afwi5hk?T5x@I?mU3GP=IWNt99PX5g#%i?>5L1{7 delta 95 zcmZ3?@t2MFG%qg~0}#wOKO@a|BCjOV6vmAjQy3>}Fv&6UOm=6|Z62v98}5Eu6Xi4V+-jEr{~6z(vHeqdu@WSiX2EIWB0b0UinP!a&E`4>1cc zecCt0a*AS~`u}G* z!;9%U&0-J0f6jg8ob&zv|DB)z5eWDQq+gx;=Sv4dg!~s4tR%EDJ1dY`BNCCg5?SOH zIF3jT$ysvz!T~uV@g?Vi6P`keUlbMuR_7|Y7TpVOmUovti{1rqtFLdt=OAwo$@4Lh zyfXLDX})E_&uV>8>+h%)t9(lQJ$6ZP#?S@%qEg9UmDSfPWo3C$roZRR7H;1>v=36b zEXg#hRM)_~897Jtx2*JKMx+fJ~Jrz)V*qT$~V2r0vyTh!*BdC$Ab+DvL9ysQW!HW6$ z*=y$aE3hP2E}xf|RO*I-Mj(GBS1!w?Y$;cjso}j$E6YpSoFo~d)l$wa%7(i&0qiob z$fZjPe%90VD0QwN?o9bVtIi$uoj{NIW@Fq-6B8;JS#k^VOn*pag8 zZb470_L!o*;q5-wk;8$tEA3pi69jf`J5%(w^H$E9k%0&o&JxToTKV>~7;NXQTo;H2 zt=jhUp$(!cp*UyCONZfMc%+;vs|5gnvt0Sm@RsCDY8LAN1-WZ7!w?<7o&gg%QbEb* zs6>aL?tz1jV3RLjswi?cUy)=5UovPdQaOlxWHO|`BRY%Ry4+v7bhqDG2=IRU~^s3~1L2urg?*;9` zOWIv8X?I)glIM=F%7Z<^^|I98wiKBIvHF-#dk$}n?}Sa2q=!3%T%(`N!x0srwpFahaR<)1Ma=Zv78&Egz10TUVm zTZMwEJ%!1HtDDMsxo}N>&LFkwqtIQs4dNrR6^-AGZN%=q*@&j=K|S zbfoUn{h{^v7yi9ZB6Ir0Y;$72HnIQH@y5g%J^pGlp3&l&PyLPfsdmZNh@aHQ_B6** z+F0uTp2pbzul(*%u>RfcK@vD|CW^7iA%{F7lwAitRcw7%m-U|W71HtVPA|{^) zIyw>t^nZX103D>6`T@Nkv}>Hi;ez4mXg!^+Cy!6nc4hyUJ$ocPY}rp#p>Fq;a?STU z@|3`84PSw|DGCT`{U^Wp|H(>VxML^i$pj0RR||u4Qg#n!_{N@QfavSg&c(Sv@v+&kx6>N8;;6 zEt1lQ$JT}0vs=-`-SLg_PbRkgWF)miTqC}^dpk%Xljx(^+0Ccih9{dvPn^vfzHD}} zA}yCNFJ`kJEaysQ3k8}-=p>2*DDcA{5Hvf=yOqjfe@?Z{ zEO37pTEye&NfK8emOWZUuGG_x#lGVl9pfCT?apfs%hL57<&E z_Z2w@j9*dEl9-hYmMg-tdTH+XisR&z!JRg|Egw>lQlcRMp8!wsDvU6AsgPF)Y_%4Q>SQRX^R`h#aX0w!*RX(~WSd8J^R^bN36MjWoiio8hxs`0VEw z8sT^9emxWgZxc>5!$~ciyw5knb59BH4cGr%k4~b^xtDK5_g#Oh{`#$uJ}`XiYGWXw z?@r$0|9;@NgQ0CNblvt5@8M1^WpnDmo9C{dTR-27r?q(6;?>@ONyMK3BM)8={--Cx z&a8`M@vur%;GLg=SVO2+&p-aHWJ36 zuZa$1t~3s!ldCeLx)SR>yf#aH3kS@Cz}rZF^4Yav9R$=~J&d;ZrUV7JmxFgLaI4&( zWRJM6{cz4xuqVVAvUR|sX(_&ApKyt6pHe2dXFjuQr`~`bD;Ax%Y<$|D^?T5)90BnW zc_I#PjwZLAjv-%NfJ>S8NGH$^Y2iZ+&tatY2(046v z^M5>Lmt1$8e=Ow&REx0Mp43Uh;gaEImy8pVr{<8n$Z#az9mk*k%~c3Er2O+He;!uU z996+Ymf?!1FMNZTWqWlL9Gprw6ikZMz(BHlfElEetz9s4^Td98PHs8>FSfSN`Z zqHh!^v*E=UOcr3TrW|l}2F8+Q^}}}7QVwNh5bNeXEJ$!KPG345aZhiM*P(r-UJ@b&ksm-Z_pS|&T;B1}8fTj1k_s-e7Z*9D#$M(Q? zLB|>24spi)b??{2=`}BYUBt;&Mryh`Sdy8(Db!gE*;W;6G$Egme{!fcVJiCDEmqD_ zMNpNN^IdhQwln&s?+5kaq^>YQfBFVt0VG0@n9B7v9pF&Gt*ID$WC>J=f8?>hPJo&F zD05qFix`6JNs_lFpu4n`?~&iiF*OwDSG+%1URtV9^|dL`JDx?xMW%{oTtRBPC}2%Y zGmyv`fi8Du@h67*X=q;=>U5P%N9j+Xo_-(2Pf=V1k@6cJODCB+(qq_!Gjs$r@>s+} zrdLofZ&!d^%GIlIMQm^D7mhLY%e=3=3+0u4z3TO1H~um7SAGQoeBkJKb97o8ooj=|#;H%vYzrhb3z!f2>R!;0T{E2;sSm~Uq42Gm zHZ-m8n%Ybp)pi}z$9Ap#{Pxecy=2$19U|=V)dwI@5_?65c-!R0WVf;%`s~8vf$u)2 zZ0Y}}vi%RN=vzg|`oh+Vn|)(-L+=X-{4RJOxC=Pj7kdf93ZN>MLh=B4TOG_%C{nQg(dulNVWXTN@xiGHGy(mh8I$XWUNdxSx(kXu+raIP)6yS8>&ofVE^dn? zuxtHoxV|t0?_vi2*ym%92i|-Rb2Bf*+I&iqG~A_ff?#2lg7^x|~@B%zJL(D0c z3lPIkl|Fp7~`}q3CWf(*FUH3&o5~vUPN??GK()W~}oJt-=U!d_=)j zZaX=S`;r{rBB9?A|Ci*@mt^mkB=b8m@XVFuCO1QSpAmRITi}*BPTUM9zb2SroA$rN CUN_AE literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/__pycache__/models.cpython-312.pyc b/osinaweb/osichat/__pycache__/models.cpython-312.pyc index 3564dded8be98cb0ec39d2a6c2fb1feb4d1dfe93..b4b5d2e343c005f097fd4405a5e3a050d8ca07f8 100644 GIT binary patch literal 4788 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 P(DB?uE$6x^eWU#Y4FGZC literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/__pycache__/views.cpython-312.pyc b/osinaweb/osichat/__pycache__/views.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bb36d0bee9551465f1a965c71411498a4eee5ef GIT binary patch literal 555 zcmZ8dJ4*vW5Z=AJ_)4M&3b7G_T6l`N!d3(!DHIYR#wJZT?^bi+UheK00t$lu0jpSv zt=RZKY!nM+Q7o+NgmhNUo~MNaGxN>P%ziU-m(PzOkkhTpy*KdhGWZoG1%p`tedHhq zd&tL4j3rh)#aEjuVD$_&wVq~VK4gP|#SkTdLnxr!CJTc)VNn<`V&n8f=`>IkbkG3P zM@Ogw{=al&#XoVdquivU9b=yPO*`rlcJWQhv5gF^CbIQPb*oWnt(VJnfrR2lhAOmb zrLiv5eZr|6!cfF8B?mEKT#VYDO9I|Sm^1$BuBctO$CKq7~U{27pUg+n} zb5DBlK`&m-+$xXy%E`t{ws0|Z(Yv2E9W5D3ku^FAp*$Va!F;M1<5x8IislDH3SLS&z5(JnhPwa& literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/consumers.py b/osinaweb/osichat/consumers.py index db30b25b..1eb94104 100644 --- a/osinaweb/osichat/consumers.py +++ b/osinaweb/osichat/consumers.py @@ -54,12 +54,22 @@ class OsitcomVisitor(WebsocketConsumer): class OsitcomChatRoom(WebsocketConsumer): def connect(self): - self.session_id = self.scope['url_route']['kwargs']['session_id'] + cookies = self.scope.get('cookies', {}) + cookie_header = self.scope.get('headers', {}) + http_cookie = dict(cookie_header).get(b'cookie', b'').decode('utf-8') + session_id = None + for cookie in http_cookie.split('; '): + key, value = cookie.split('=') + if key == 'sessionid': + self.session_id = value + break async_to_sync(self.channel_layer.group_add)( self.session_id, self.channel_name ) self.accept() + self.load_chat() + def disconnect(self, close_code): async_to_sync(self.channel_layer.group_discard)( @@ -157,3 +167,4 @@ class OsitcomChatRoom(WebsocketConsumer): })) + diff --git a/osinaweb/osichat/migrations/__pycache__/0001_initial.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0001_initial.cpython-312.pyc index 6e3ff0898654015ed77f099e7b8e2d3a370aa7eb..b619307694dafc0fb6883be6865502881bce60fc 100644 GIT binary patch delta 20 acmZ3Wwm^;hG%qg~0}wR(&)di?DhvQOKLpzV delta 20 acmZ3Wwm^;hG%qg~0}#wOKVu`es4xIJv;}Ga diff --git a/osinaweb/osichat/migrations/__pycache__/0002_chatroom_guest_session_alter_chatroom_created_by_and_more.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0002_chatroom_guest_session_alter_chatroom_created_by_and_more.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b76dc9f20b10c52708e959a5a91b929e3af5e545 GIT binary patch literal 1530 zcma)6OKjXk7#=^@c6K3kqXyKbq}kBM2(qDPgc=ctSDH#~wo-lQ$h$Lfy!B%{_A2ZR zL=PN$11_9{k^@JM<-~yt7Dc-n4jedfTa;8tJ$1%jcZ0f>n8VEXKm7Uk|NY}%YBd9} z_2rH4b`K-~{^CZtlrcEI$-vhD0VD(<6dXa|SPaBaa->jp$S_0J)oTh%{C6-8y(D#U&`f-#{HH;AslI=FnE7!~z9DgJ5 zsxWW_1RPNW?2THPG&!--sZOjC9kOTnLV_ncmHgS+!gG2@B9d54@64U{78uD$LGqDW ze$i2-L^<2JDNl$<%h_I=5|fdPYn=-(Mmpvc-^D4u#TR|kzx_x*l#AT|RkQKZ4k$-6 zWgjO@p5&bASFIY=ua`nHRV#7gxA)wXR@c_n-i3bTr@k9djr&L(hqUJPaFW6VCkc~& z$A6m%WJy$M1#WbY4Tbv|3~=P7dsL2kLBK*rJ{&M|L(F`9S9X0IAZoM;c2kUCt8dAK zi%<9@Qaz3!8z-D%DyA{vdRqdiv18jZsRnZ@2&n-fqwWQm;VOjpdv3t#AtbzQbS~L< zyIr@%;s|$fgmBdE6F%4U)%E7iN3eOzz6r12*s!-~^?8Pm6RNEvw8={({AN-8gFTnz zHZ|6R6qk52CfN6)PjR2BsN+UnOhwe9T3$PA4%KeiJ8-+XwMC7%i^rGcdvMH1!P9RW z%>Kexwbj`wkkCvj;Slgrp(!d-=> zUhqG1L6?_52~GrnZiHAj3102?NrlyyZ~U4jzq9QD7^y&C`N|k*S2FF&fi_sVmaSa- zOyI`bn;)N4WZf7U zK)=Xy7cy-j&s`Xrb)H+#%=*Fd4?B-;|9t1CI|I9!+0B7{H?!{!Y%jCDUxV~tzd@d$r~jbS>`Awzs%56?Y&}5-zRS|lmF0?CAN(uK@gs(K)CcLSos4io~ZMJ R`p_86E@!jLPXIG=j%VP*bIt$& literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0003_chatroomguest_remove_chatroom_guest_session.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0003_chatroomguest_remove_chatroom_guest_session.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ccb7be40c91bccf66b09b68ebbdc0051dd892aa9 GIT binary patch literal 1278 zcmZ`&&1(}u6rbH}w%JWmlUfZ0H5!YsMcq7 zgnkMmUD=_sISa~rL=cf2>~X7@IjsIHjmA5mc9n)RO8M8BwL3B2otYiA=wIGvRj4u5Lt*z=S;8`rd<@d!E_TY;9;`ZFvQdUP-DDAOC z-z~`jQd%visFqyUyJN;duH8xN21Ok41H1Xy3i<5x^z;lCD)W68w>mTkaX^Cr>WeKW zq-^J~$*2`lf*W0Ic?7#Yqr5l=)O$d^A(&jY$%E@$zIn}1c){v~J|2>Iev#R(#k%+j z?Q$)k%(fi+Ipu{V${Kz^v1hrID?-|*p?-!0owlA~hkC8>F)zA)!*&4GaT}EVB9JiG z(>QHn$V~Kts|z-DNWgPxM!dKurFeeC%*5_u&b*Q5IUL&u!u zVG+7WJwm;vO#>!IljrB+irf(wGBF#xaMf;IfwZrSFt`TAVTqc*M_qr3CWh`W(%}ey zL7Tus+i%T>P?NxfzJyKRHLv;2j!V5TFz2n%a=PNcv(AvV<+Xg%qsy^9G-G|4HUvl{ zZtgr06Z(7ZUkj63usD=|n|qsncCpLETa1NJg3lmcqk)RFN75i8kE<_k4|Jqe-{}3^ zv0m=jM)~-U@}a0Q^=_$Ond()h)|79PQ5{DfTdxFBDcmSmq6y=};r@itn=roKU!OQ1 zl`a4+s?B^l)vwL;YBOui_1e{_G`CSc8dc2?OZ}?ZtD0-))~lDI(&d4c9UtAw<}`gU zw%c>%1l+Qf&A|Sl(J}SqEp{>ueI6!IOX_o$G~#~6ElQHB30RDs1Z_KaF=_fNI|ZhA hy}=O>gN!6ee^ewHTk5!^zSH}q$zEylHv%JO{{^McSGxcJ literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0004_chatroomguest_room.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0004_chatroomguest_room.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0550f5277f6767a86e974b09b49c430fe91ceb9 GIT binary patch literal 1019 zcmZuw&ui2`6rM@4vq{*Mx)h7F{(`cQLpOpRgHT$lmD(O`4+cue?o8KRl1xpqmi46A zgU8-_^Q_pT2R-=*cyU44G9Ep7TWCe-$v4TSD(%3&eBU=OZ{GVR`=wen5v*5hZ?;qg zp&ybIt272jO91u}MHB}p#4ZjMSHY4if$C}sx`(K`i>StMH>*|@$e-`k{OOkZidFh4 ziKPfL?6hM)?eHiOB;=F@$!aT4%%d?TM;`#}BZgc|k*iSL#xAtVwDZoQ3YB}Ld*RDxo}*nltI^T{DdsyU7YI76^mWS+#=~Mrn7GW7PV0%Eikq-*c@oB) zhwUCqQZHs9f5uKlFIN+mB;b&!{+BE?`QG~TiE+V3v1_S9i+VvI3?6ylC`*}8QVz12 zIqXG#$RI_=(pHBBbk(W~-OF^(6Q<`uUN2yPE1vhX=La%ZGRn4DL|N48uq2ijD)f0u zmt>7tleD@Pv2_k1(*&ViKWcNK(5BF{R^%Mzh51Jd^NV+d$+y|~_TQl+>FY^sZzL>E zY#1tS@z7r6tzO8YG_hCx)DQY{Bl73+x^~2NGCrmm-eFCdB;Bz8eqA=Wef!kdvD@HZ zW4j*{I5-Ps0LfzryJ$p^aUYLVWs483dI8{HqICWU7@70I3`k+>S zyZCYG^YW+Vp|dh@R))^Tz}Xl&n*(R_Ycu^;>m8Rh!yKukMqWOMuM}rlL>PJ74cg4S z%pJUZDmL=}L!T?KTaJNbp(iEjYK@Jp^i7^xWJ-vnXnJGy>MDwyn< P!-?6!#OyBwBrEU-5O4|% literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0005_alter_chatmessage_member.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0005_alter_chatmessage_member.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db6aad8e6d24b2dbce38c29b48397c0af45ce9bc GIT binary patch literal 1194 zcmZuw&rcIU7@hsm?RF_rD+!`vKpJQdwjA_k3?wWXEhT~0ggr2BJHy(#KkDu_*qcNS z9=Un*jDdrHf}T8hapR%Qc<|uKTMZBsPR{JMKmv1^eczjJzWMgen{UIz3ZUcd%7@M8 zJOIC0Fc`5uI9#RRJwO0)Ca^e-;~3^m-V!vy5;ZZ51v92eJa`0EXZ+0_OS2QZNtm)M6v3ItNV4w_K0LT2%BE1c2)p@uwP0X0*-ZsfyN=A z@jRd>%I6a!jAM=DMRuR=Wdm^ruf@Z?sfam0BOVEKEzuY~&qf%DNW?>p>larV=}Wj9 zmvFZ(a+h~|5Zf1{+yiN#puuS)?RZWmiRFP{RK2+4)oU+wpN!4T&E10xx{hNRE$sP_ zAu_}`3wxe!U@9=Ss@N^(L=vl-y8V)fcFQzL!m%M$9{ZT^zLOK^t+1Pbwr*jX!sgg! z9h<0>OA#4{JcLAnkmj{aOmPyzS1sLSxe&UneKP88>CL8IrRxYcv5l}@YrD)5WMrXI zehe#X>MC4bSyYQ8d74qj9#IxdAG=HJM3=deC`*ou>xTUlw~2%rx@|awM^z$+T~qTA zc}*?DQl(fViqph>M}4HOq2uIrq2giJD^Ruknqw6fom$Jnw(k{6y04pUwqWabqrwFn zZ-sF`4DlAOvLq&E;molGs``DXvt~o>`#Qr&=6tj5#_93l#H{LV(`g6vB#_9yQ#$f& zAkXf}o$P#&o&O;(bme?6CX7mNioGOA+-4aQfjrS2%XF`fchl3mGoAEwke=Sld@6r_ z_I3TsdPl7UYNexY1nNddH3HT6Zu=!v>% zDEi5K&9OJ5t4Z`3R1I%2(trGv%tvoDKM>x%IjH7NG87iSL(z%+ATq~8cZP=S0eXz@ h2^_~AOMsjD1+qWE`rg)QLMMQHq3z=kI&>-t+f9-}lv37u56N)#v?B2;iqC zi>EXP(;Wp)fdWM_Bq%_M5f}&zcm~us25K_Y#fzrp`^=o-z#Ld!>6a#+A>E|Y&Pd)# zxsW(XDT_t4>;bUnWZF{T6c_}ELSRtTMuBMnv$}=gt1X~pP<@8G*Z<9HMlEWcm(GmY z$vIxgQuFLV*|Vkda-m4cE2p9py&<`*HX4nski4dBD%%%j z%W)?ruHg62vzv>FP0y0fOynkQ6~+{1%)Ysy%Zl1t3SHWdX727}cNA6E9K>A}CMH7Y Y4+i92;1z^V+|gQnxK{rSiWJ>{0osPq7XSbN literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0007_chatmessage_room.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0007_chatmessage_room.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..066688df00eb9acf6c7151c8f9ebcf49b2584d2c GIT binary patch literal 996 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 Z^g{<^pX)nFKep!Et=V?#J8&Yie*za(;tBu& literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0011_visitor_country.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0011_visitor_country.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3c7b19992701c5da90b3512e634b82a71f56cad GIT binary patch literal 805 zcmY*Xy>HV%9Q~c`IJVV7iI9M{1Bxmn57g;iRa7955QGI5FQ<#|k~s25YF}ux714pQ zTQ^ui?ZE%R6bUJjSEg=}QiRlryNlDn4d?fMU-$0$eypxKAlAn>pW9y$z%NM_t5Sm5 zo&aY+fuaavBrGT%TiK9~y4uQW94yoH*=cgokO87iOGN z7UjXR2f!-HtR=u1Fz^utU!$mld|d-(^pxO#TR_O5GH3Q~{U4W%8nkj@o@?{WMRg%d z%(I4;YZvzGg(4xZn&x59CA@GOjhzO5ALb!XGaRut$CPk(6HyrzDyn5wQ4P{T!n5J! zZE@IJby;#GdXo*i!YYn&;b1K41`!i@1>=JO ziDa#0l=WFcSrUXS&!oqNwNL4DIU_S9wV!rLrg-6`eO9{t4QA4U>(qOfvn=<-MR}0M z-m^3q#4O>t*Cd=oLzzg(W7;E0C-o9`sCY>gK4dLfByIARf726&?cCT?IN#-u&c@t&NejF}e3}a%X)~tDim^*XpBM{cGzx|5@9; zsv5R4)yW`?5^ct_yT+?anRT%QgiSuN`s;raD6C Yj|s@VGFOm!>WtU6Mr&KYK@ipb7lc96xc~qF literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0012_alter_visitor_reference.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0012_alter_visitor_reference.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..03be5028adb28d725365c34db8445eb4058ab41f GIT binary patch literal 782 zcmY*XL2J}N6n>LrXOqxMT?$ofMWF}*ZCdHUgBAo)kh+4{OD;n;GrML@ChH{IWp9c- zh^Knmn`fmx_&+=qgf4USZ&x7kiV7|?jNI%q3w{jGM}?v$)~i$J=V}g+6sUE$9!eVT@q?37uH-DvC-)ZeGST> zLHace6@YcZp%T#fvimQkhRV7C literal 0 HcmV?d00001 diff --git a/osinaweb/osichat/migrations/__pycache__/0013_rename_reference_visitor_referrer.cpython-312.pyc b/osinaweb/osichat/migrations/__pycache__/0013_rename_reference_visitor_referrer.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8fd558e4af3dd4f44d1ba592a29b0f7c41ed0365 GIT binary patch literal 721 zcmY*XJ#W-N5S_JsKHDTxgc6{L5|GlkAU-}Sgi;}p5F8Q`jhmI@og6;-+`#Bdj|~Qw<6u@wcz3z zffEoQSPB^n83O}efiR9in8?Ofm$3N%Fy}ZlW|rUkqlnLHFH1%;s*)lv<3%jMO`#p~ zo&Z9~1cZiQBNmzlpf%P_{+j|+UYNrA+3QMCtUa^+e(k>Ps`y6TFUlnT7*+N9VDRWM zkJ1VyKS;`?DkPVwfF1-G$H5P@?or>bww`@;u70c8XNAD91yMhE&$!8ggEH zoKyHTMZ!y*?@yytB`PLxg1MlQ36@f6RNs1!YV&1+si?hTf~`Q`;X=)OeH45sQI-MC zQN=|TyeQ&nhIv&6!>EeVncB#shhiM%qavV&G;gWKhq$YPlnTM(0s_+G2`QjEyBYd_ zX=wKC$xN#2(Z(iF4#*rsV}tv&F^yIG)0@Tvck_#P=4_lg8|QcLpRdukdD*vIuQBc0 z_R(v()*Ue/", OsitcomChatRoom.as_asgi()), + path("ws/osichat/", OsitcomChatRoom.as_asgi()), ] \ No newline at end of file diff --git a/osinaweb/osichat/templates/chat-widget.html b/osinaweb/osichat/templates/chat-widget.html index 172ed99f..8b81b7eb 100644 --- a/osinaweb/osichat/templates/chat-widget.html +++ b/osinaweb/osichat/templates/chat-widget.html @@ -1,28 +1,33 @@ -
+{% load static %} + + -
- - - - +
+ + + + -

Chat with us

+

Chat with us

-