From 406d89696eedcf1e3ef8285803c2b79179ca42d9 Mon Sep 17 00:00:00 2001 From: nataly Date: Fri, 26 Apr 2024 10:21:56 +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 939 -> 939 bytes .../billing/__pycache__/apps.cpython-312.pyc | Bin 493 -> 493 bytes .../__pycache__/models.cpython-312.pyc | Bin 9824 -> 10124 bytes .../billing/__pycache__/urls.cpython-312.pyc | Bin 1014 -> 867 bytes .../billing/__pycache__/views.cpython-312.pyc | Bin 3649 -> 2411 bytes .../add/__pycache__/urls.cpython-312.pyc | Bin 572 -> 592 bytes .../add/__pycache__/views.cpython-312.pyc | Bin 4838 -> 4916 bytes osinaweb/billing/add/urls.py | 1 + osinaweb/billing/add/views.py | 18 ++- .../__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 0 -> 808 bytes ...044_alter_orderitem_active.cpython-312.pyc | Bin 0 -> 788 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 -> 805 bytes .../__pycache__/apps.cpython-312.pyc | Bin 508 -> 508 bytes .../custom_context.cpython-312.pyc | Bin 879 -> 1847 bytes .../__pycache__/decorators.cpython-312.pyc | Bin 1012 -> 1012 bytes .../__pycache__/models.cpython-312.pyc | Bin 231 -> 5436 bytes .../__pycache__/urls.cpython-312.pyc | Bin 2657 -> 2817 bytes .../__pycache__/views.cpython-312.pyc | Bin 17807 -> 22980 bytes .../__pycache__/0001_initial.cpython-312.pyc | Bin 0 -> 4262 bytes ...02_alter_ticket_department.cpython-312.pyc | Bin 0 -> 1083 bytes ...mer_ticket_status_and_more.cpython-312.pyc | Bin 0 -> 1548 bytes ...ket_ticket_number_and_more.cpython-312.pyc | Bin 0 -> 1259 bytes .../0005_ticketstatusupdate.cpython-312.pyc | Bin 0 -> 1859 bytes .../0006_ticketupdate_read.cpython-312.pyc | Bin 0 -> 796 bytes ...ead_ticketupdatereadstatus.cpython-312.pyc | Bin 0 -> 1775 bytes ...pdatereadstatus_ticketread.cpython-312.pyc | Bin 0 -> 916 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 201 -> 201 bytes .../inner-customer-ticket.html | 121 +++++++++++----- .../listing_pages/customer-tickets.html | 137 +++++++++++++++--- osinaweb/db.sqlite3 | Bin 1200128 -> 1200128 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 187 -> 187 bytes .../__pycache__/admin.cpython-312.pyc | Bin 3276 -> 3447 bytes .../__pycache__/apps.cpython-312.pyc | Bin 499 -> 499 bytes .../custom_context.cpython-312.pyc | Bin 6468 -> 6468 bytes .../__pycache__/decorators.cpython-312.pyc | Bin 995 -> 995 bytes .../__pycache__/forms.cpython-312.pyc | Bin 1270 -> 1270 bytes .../__pycache__/models.cpython-312.pyc | Bin 22862 -> 23500 bytes .../__pycache__/urls.cpython-312.pyc | Bin 6356 -> 6369 bytes .../__pycache__/views.cpython-312.pyc | Bin 29275 -> 30005 bytes .../add/__pycache__/urls.cpython-312.pyc | Bin 2713 -> 2855 bytes .../add/__pycache__/views.cpython-312.pyc | Bin 22271 -> 25907 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 1568 -> 1568 bytes .../delete/__pycache__/views.cpython-312.pyc | Bin 5239 -> 5239 bytes .../edit/__pycache__/urls.cpython-312.pyc | Bin 2570 -> 2570 bytes .../edit/__pycache__/views.cpython-312.pyc | Bin 23525 -> 23525 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 0 -> 1755 bytes ...jecttype_department_ticket.cpython-312.pyc | Bin 0 -> 2358 bytes ...treaction_ticketattachment.cpython-312.pyc | Bin 0 -> 2736 bytes ...073_alter_ticket_regarding.cpython-312.pyc | Bin 0 -> 927 bytes ...ed_ticketupdate_date_added.cpython-312.pyc | Bin 0 -> 740 bytes ...attachment_ticket_and_more.cpython-312.pyc | Bin 0 -> 1334 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 198 -> 198 bytes .../osinacore/templates/customer_index.html | 45 +++--- .../osinacore/templates/customer_main.html | 2 +- osinaweb/osinacore/templates/main.html | 102 +++++-------- .../__pycache__/__init__.cpython-312.pyc | Bin 186 -> 186 bytes .../__pycache__/settings.cpython-312.pyc | Bin 3551 -> 3551 bytes .../osinaweb/__pycache__/urls.cpython-312.pyc | Bin 1477 -> 1477 bytes .../osinaweb/__pycache__/wsgi.cpython-312.pyc | Bin 676 -> 676 bytes osinaweb/static/dist/output.css | 36 +++-- osinaweb/static/images/icons/invoice.png | Bin 0 -> 8677 bytes .../customer_dashboard/tickets-filtering.js | 28 ++++ osinaweb/static/js/side-bar.js | 4 +- 190 files changed, 320 insertions(+), 174 deletions(-) create mode 100644 osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-312.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-312.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-312.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-312.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-312.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0072_ticketupdate_ticketreaction_ticketattachment.cpython-312.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-312.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-312.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-312.pyc create mode 100644 osinaweb/static/images/icons/invoice.png create mode 100644 osinaweb/static/js/customer_dashboard/tickets-filtering.js diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-312.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-312.pyc index 9244fc5759c33bc398d9d0ba1769b6fb9f8826b1..e7d710203a7b3ca1337eb90790c5d9143eb4f3f4 100644 GIT binary patch delta 19 ZcmdnXxR;UpG%qg~0}w2=(4NS>2>>uy1kC^d delta 19 ZcmdnXxR;UpG%qg~0}z~yP@BlT2>>y?1q=WH diff --git a/osinaweb/addressbook/__pycache__/admin.cpython-312.pyc b/osinaweb/addressbook/__pycache__/admin.cpython-312.pyc index 07a937b979640f7686ff9531b5417423bb2278de..2fbf497d7a7bb8e7a8dd86f5b7c4eab9033c44eb 100644 GIT binary patch delta 20 acmdnWx|NmtG%qg~0}w2=(B8@&CAQh00c`dv^R2>GXnrENCZm& delta 20 acmZo-Z(`>@&CAQh00bu^)HZULGXnrF>ja7b 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 fe551f1b8977eea6a0c5fb4a8773bcfeb568cf3a..729fcea9d8de4be365bf284ef0d549bc116f807b 100644 GIT binary patch delta 20 acmdnax1EpsG%qg~0}w2=(B8vjPAu+5}Yq delta 20 acmZqTZsO)X&CAQh00bu^)HZULvjPAweFT&M diff --git a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-312.pyc index dd75e7032a23c493248d7e1f5ad81179854dbc76..1a5e237a8213bcb91ad295478c730d32b6e21c5c 100644 GIT binary patch delta 20 acmX@ld7hK|G%qg~0}w2=(B8;>garUOnFTih delta 20 acmX@ld7hK|G%qg~0}z~yP}|6TgarUQJOy?D 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 7f3e16a8eab4116a10906c060cbcd518c7867f4f..ac56b33b941d4f6785b889bdd5663e4a7e09cc38 100644 GIT binary patch delta 20 acmaFC{(_zRG%qg~0}w2=(B8;>ml*&(I0bzG delta 20 acmaFC{(_zRG%qg~0}z~yP}|6Tml*&)+XcJ; diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-312.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-312.pyc index 4fd413b117e98f999a6b590fe2905369fc1e732d..ebcc9f5b10f14145689db80c24b3e6ed6ceea2de 100644 GIT binary patch delta 19 ZcmX@Xc!H7pG%qg~0}w2=(4NS>7XUHu1nvL; delta 19 ZcmX@Xc!H7pG%qg~0}z~yP@BlT7XUL;1uXyo diff --git a/osinaweb/billing/__pycache__/__init__.cpython-312.pyc b/osinaweb/billing/__pycache__/__init__.cpython-312.pyc index fb141d2caf100bed024408c1d40e3cbaa151eb52..1ae32d169d5aa007ee8c2b9707ba895cfa5e4aca 100644 GIT binary patch delta 19 ZcmdnVxRa6lG%qg~0}w2=(4NS>4gfF21i=6R delta 19 ZcmdnVxRa6lG%qg~0}z~yP@BlT4gfJI1poj5 diff --git a/osinaweb/billing/__pycache__/admin.cpython-312.pyc b/osinaweb/billing/__pycache__/admin.cpython-312.pyc index 85a2416258ca8d826a9141cd1b0bfdfa5fc3b76c..90cb9638e9a9514180b68c0fa964baa750455f92 100644 GIT binary patch delta 20 acmZ3@zM7r;G%qg~0}w2=(B8 delta 20 acmaFM{Fa&fG%qg~0}z~yP}|7;h!Frk5e2~j diff --git a/osinaweb/billing/__pycache__/models.cpython-312.pyc b/osinaweb/billing/__pycache__/models.cpython-312.pyc index ecfc6235ab66919f1b8894aab3246c34f6d6c8cb..1eceb237675a8ba9b21c9867c8f85727f013e54d 100644 GIT binary patch delta 1352 zcmZ`(U2Kz882(QG)|UR*b^Tq}b!}H#V4K^-%^wKDSlk#4+>BUsP3`w}6ucxWK%^r zPLi%MAz`asHw86j4db=!b8j3TjyA(P=AdDYP|F+vho$M&F=0laO^i-x>2CI=>a#hj zlvPVuH0vG3(9Zud z-7G_iv#!FtaN8eT@o!u9Z(H&AEc<(Y@IO+quWs_+a)wu&UCYj{?=4-o>`v(PH`jjN zbcZ;eXSuWH^~y?mTIz>Y>+8e~FWO!phu{laJg}cdPz+P8sZ>TzD@sO^e;p9URyGCTz5?+(7q!rqHK0W$$ z@a+bxd%)VE8u5b1;TymR{gQ4Yt5I@_hJVb8O^D5^fz8UrXXR$IGO8wip&_O!-N6#a zYo{C$LY}T&YWzs!qx+ak)pOx#3~k+%B2ij`mt8vohna&OL%=&HOng{0iH;-irE7b~ z1Tz&AgV4sB=Og3cv$h9~J5kMpwU}E&NEs5IW`l?|_Q9|x)SpH(kB~*!i-7IuB*IY! z3SqEoy)r)y!Y=sGGuZIHcr|*{+6TXSULnV71+RlR*mEgJlsytLl`Bjaa~XKccZSF{ zufJ784nlvR#ZbY@&%%*_@2LeepFtR7pc=Unsh4KxFmAQELRr--B{^57Tnw&*@n1T8 z78oKEKw8{RBxfx{ys55 zaeAr=e~774Iw#TyI(g+Zd>-CvzKDB-Q}9dp1i4ttMcRnrEP5BA8g2JoMf37sQEEde zJ(HITWhTIP(YW~v5(sDBZXY67V7NX0+%(&&`u#;wlBogtE(ES0e-d08egxi}m*~I{ zE(QLN{9$}DUlgZgX(#=ZZShShRrsd8wdG7Q9lDbIx{E?fwL3NBpeTlu+gqap!67UDg(Rb1#@{P^E<&v~5l zzxSQm_9W)H>vlUOzAk-kPF?lSdyd!UoI*ex_z>jVz!cr*YMTv#arPJ?(v0p zP`sjKS&aMCs-(Rrl@_*A|H2#&K1V>z5#)0?4TosDS5rsXI-c1RZ!s|+7tF<>U-iiV z8}vt2mrWkSl^bJ2!%ALFCKL^S4_3heJR4m1%T7vH31mZygH@B>Mc9q6gI(=nYzN=h zEv~}C_`)^Mw+4iBoAvG0CRmZ9Y8#=G(8gidlp!rWuCfG0vZ#gXejOk=Oi&1$2=rAp zNEqVy-fqz&VJ+SZ^;G;D_&@&8y%xjaqoCq%wlL0zKX|-jxsj}r?>?pl5uUSMsc1B$pc5?UhM63!+t7intvxl;vdl%U{^$lki{Ywm$X2R?{SrDjH^ ON6HeH-cJN;WcU^Z0NPm_Cc50fkZEnbKUsPN?5Om&R) plcSh3U0lzCO!5>7q`I#EIi-dp<000=XG7bO$ delta 319 zcmaFN_KjWrG%qg~0}vFy)<|n&Vqka-;=lkml=0bMqdF_20TV+iV~Rj3OO^;s0fJ5u zT*JPa8NyFzkK(Qr(iEO-!nmwnJuS5)IYT$Ow74WcH?>GNvm`aQSl=cyufz%_7N417 zr+-TXtS}xS2vS(3gQh*Hv^X;_wYWGHs~M7LW+atz!<74J@=WGra^)%ld8&v9NKB4p zs$-lo`3_Tt$wL;73!Fw9T(6t>T{Q8#5So33CFdqc%zTIFb<2p0mJt`?tFEwAe~{$m MXKLgw5&~)m0IVEd@Bjb+ diff --git a/osinaweb/billing/__pycache__/views.cpython-312.pyc b/osinaweb/billing/__pycache__/views.cpython-312.pyc index 07bc1c0380c62a3ee39b4edafc776d07f67639ca..dc3bf60075fd39d0fe9d18055ab10960ab90c9be 100644 GIT binary patch delta 226 zcmX>o^IC}SG%qg~0}w2=&`w*(I+0I;v0$QlAxkB%Cf~+IA#6e`nTuF}(nSg&f*DAx zoXo*)#i%pcncZh{Hd|P1ks3%w14vYD`jUB@1CHT-50^Oi6N;BwgJ+?g+dXc7qjL2b!+tTD~?|uJ% z-}jmC_w=gsS#RVe&xZgyldn!LJPWQz;>3;h#Frt3{}x>C{3;?xf8Ll4bjlQ@Q4*A} zppcO3WXD+|SwGkDQMd!y*!TJ*QC|)W8#+$)&SJpV+V^6xt@~P)+$0|nO{+%zf4o9% z(k;9}>)}>mYLWN#_N_2V;1Suheb^xk{a-Ok#|Bwr^r&CC%HV1SHfMm$PQziOJtSOq zzM|>nB^A!fgnPs{a=C(5suYVbfwEjiFX%;8Cf)9Wt}bags220Os^s)?&Ih>1nxU0~ zeyv>5TYj1Kmg7dxdu~9 zp*8LdcpK<`2)yaR4Fbpz0M#Jp!0lTr;3hQ(RtTAC(i5f-SSFh!q)YiF)eU`7(F!G1 z(^Nx~LvR!&cqDSEtE%pD*|Mrlm-P!bF`3xRL2i>_f&B8aT2j1f@C*hXVi`P*9EbS7 ze8AGP*vzM``;$O_`{s;4XAfj{zRl0zF+CwB(!463=(w2~Pgi%Wvb%eAf zq@TQF3Ta!IFxmJn3)uKpOmt#HR&2 z2G{LylEq1lV|{n7uU~J(rThFn9`SA<@;jjT=q`owb~w;2uJPO9<9B<%ubJ`Fb~tU) z=|A@S0Vg=&gcVNg0fLblLjNype1}5npW0h!+;5}|1D-Rnj7UB2C6Jt!kJfLo--Qvg lfcLOqrXC9Rgr<;vWJE5G%qg~0}yPPqLKECVIto@_FJs^MJcI8lhqi{bBO|F7=gIhWAcASbIA_z b398feC+e@@y24`oft`h)sgb)#7$^?_Pi_?a diff --git a/osinaweb/billing/add/__pycache__/views.cpython-312.pyc b/osinaweb/billing/add/__pycache__/views.cpython-312.pyc index d87a2ed0b73bc485ea670bc0f35a82dab26d6b1b..f40ce916c5e86178e9dd7aa8ffb16833bdd6dd65 100644 GIT binary patch delta 1473 zcmb7E-D@0G6u)LF%~!L=Y<6h6wX{~EQl$xLsaOjEk%C>*ok`ueALY)C z&@xMcC=^j>IuC*fzW5>uQiy`>zu-$sh00K&zWCnOCk64GJDDVl58`?F?U{3b=iYPf z{?7e<^82d!lWFP%?8eODr910pnOO;q($00PixwrW`Z2kfcQruU)d36FWXD+l zvTZpuGG=>S?sfTmtL<&c^lRyW1$(hPf{pMj!h!H^YKi8;O8T{083VhdDBI#*r@^mX z^%^aAAmv8-lS~cB*{wq6?-VsdTPrqmgV}0x#pk__$5;Uu_MHfyk+R^i4_i&oQCMjp zk4^uZ%??7$kyttWR6DjhgoI&)5rk2I$eP_b>;mg8LBDJamqbN}&`TqXBUBJF2q^$3 z$DTuf0^xZCaR+tu_AbImTETl55(Q2oW3VSy4IBAVX$n>%W6^aRe%vBE1`%iLBmERz zb--;(0EsE!U?ERW0)9a_O&0hrE1;WnW9O?caco7{vYdE(zsuU5pLl_^DQ(32rbs^( zK9Wb$Hz_+4UQiE*e^Gsc{`aYZ+fa0x{@+<2nEH`SkYR;=r|k9+WcKwYcO{qfWjLWk z?eMNSYAPJHBWzg?Z>iNd96M1gc26##d6`;HW2I0dcc| zkz_9r$2>2T@6cG%LX6Ylm{lwYIj7?AaY$w-!g;H<3JOPUMf&9xzt#18-}A4Jppak; zueKMt=O2ZyBR%GNto}alv>iJZ_EF4IPw!-j*@$Eq0}jJCI0%t)#pCUk&!fy+xJ^6` z2(WF%$b6r8|F&iC40lY4FhUkabSh(SfX8bCRTnN64eo0H227?fVNMNBRBpOY$A~Q8(N^9OsO(4_2 zLYF2b&#iG`VpLd=)P-BuZXm=!CN7MLt_ir&h4I~2s#I8blb+n(-#hQ!)4uKf)+2wA zWe-Da`)NGezbuE@{BrDev+#(y*`SI9eX5(FGVe-wmS5&7o$PZ*a|5YIJ^%%v2_S$! za#>c!!~AGG1c5(AwpTZ`xr{mgK+EWAUCRspu`@=BrAo^Ai(B*(*H(&#hBBF~jtn!C zpPAE;Tt7~nEgEKl#8D$84p4x0VOm2E^;s<;pksA?D0#RV1xYO7KtR}b<2UZU#V}Mw z09pWAA>$j{Kk+ImWc8ee+8{+~wS&h4L;*SgoB$kwL<8ys|2RMw0DYMhcz>Tqs@(@( zCqh|vLq+|?P!BG6g27&rv85SR&5&1ud!hjniC3O^M%dOkac5ZqH4}&fd)n*c@DRJe zmsvD{I~_^qj*OXD>`>azsoKQIl5Q?mq^R`p9_-k~xj zk<1NZo(td|*~7Wb03K!APQn`gG0SPWEOAv_frlhk@>uS1=GHahNoEMTaM{tMSQ0s6 z|H>t=8G%ICQR6(8*MwzKyC22xT@n1Xp>YuwL{0V7=1eoHWN|uMl1*3|HH%TbmRut< z%_QW@3tWmUjH-Yx4b*7640FaT8n$@1Xy|#(Fsc&cs_HvMN>G|Wg0r0kq-qGy`&yj{ z6oFs)qEmi!0!r%jca+?0@#6jgws21~bGl*L&MPpns=+AsDe?3n{ZZ-l!x5A+@Uf*D zRnT7=-%$dA(-0Tv&z8i_Ks}Y;D3zZZbsKDt#uNj&|K;ox3JXcVQIc)?@k*}ZtV*vl~cZ7DuFnfvJJ=acf?;_j9 Ij/', views.add_order, name='addorder'), + path('invoice//', views.add_invoice_pdf, name='addinvoice'), ] diff --git a/osinaweb/billing/add/views.py b/osinaweb/billing/add/views.py index 798ee4ff..44159426 100644 --- a/osinaweb/billing/add/views.py +++ b/osinaweb/billing/add/views.py @@ -114,6 +114,7 @@ def add_order (request, customer_id): + def add_invoice_pdf(request, order_id): order = get_object_or_404(Order, id=order_id) @@ -163,19 +164,20 @@ def add_invoice_pdf(request, order_id): ) + # Save PDF to a file + pdf_file_path = os.path.join(settings.MEDIA_ROOT, f'invoice_{invoice.id}.pdf') + with open(pdf_file_path, 'wb') as pdf_file: + pdf_file.write(pdf) + # Associate PDF file path with the Invoice object - pdf_content = ContentFile(pdf) - filename = f'invoice_{invoice.invoice_number}.pdf' - invoice.pdf.save(filename, pdf_content, save=True) + invoice.pdf = pdf_file_path + invoice.save() + # Return PDF response = HttpResponse(pdf, content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="my_pdf.pdf"' - return response - - - - + return response
 diff --git a/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-312.pyc index bdb1a556aa2adfb8721a5f9c4bdf16b215de6b08..91526068fb104f9b0dc3600aedbfbda2a429278c 100644 GIT binary patch delta 20 acmX>ictnuictnuN diff --git a/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-312.pyc index 53eefc615f85ef4793e8a64dc026d455e3a8079a..71a8a4b095a99ecedb8fe60c5fefc942f4d4a465 100644 GIT binary patch delta 20 acmdnTxsQ|kG%qg~0}w2=(B8gM7;&CAQh00c`dv=?%-0stxn1Kt1t delta 19 ZcmeC?>gM7;&CAQh00bu^)E08H0st#%1RVeX 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 e4cffdc319f8eb55af55fc4b93c256b04ca7d7f4..10a101b67a0635fb338a0089d6c2fdefc9814218 100644 GIT binary patch delta 20 acmdnMy@8wiG%qg~0}w2=(B8i5UPpfCXFt delta 20 acmcc1ewUs5G%qg~0}z~yP}|6Ti5UPrBL$lP diff --git a/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-312.pyc index 5469cc0f0e876d0824db90e7ef12da05f55a71b5..66629e38a18f06b171659e25a2dadf507ce59f40 100644 GIT binary patch delta 20 acmeyx_KS`CG%qg~0}w2=(B8G%qg~0}w2=(B8-$$pQd7y#(|C delta 20 acmaFD@q~l>G%qg~0}z~yP}|5I$pQd9U_aL delta 20 acmeyz@sET1G%qg~0}z~yP}|5|%mM&Ga0P(? 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 866bf7f0ed569d41879f60b1e8436733c92d6a3d..66e5dfbefc7dbd4e2a4803d772f25fee9f35de9f 100644 GIT binary patch delta 20 acmcb`b&HGpG%qg~0}w2=(B8=H&k6uKb_Cl1 delta 20 acmcb`b&HGpG%qg~0}z~yP}|7u&k6uM83h^u 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 b543b4dfaa6feec817ef2814ee29f8f64bc15ad0..6ab20917a34f9f8f7c515035f1dea20256ea4761 100644 GIT binary patch delta 20 acmZ3*x{8(iG%qg~0}w2=(B8;Bp9ugnKLox2 delta 20 acmZ3*x{8(iG%qg~0}z~yP}|5op9ugo;spHw 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 a8c7e15200fc598b954f223fbde83f980a88352d..cd8068302a82cdcb30681cadd576dce3cf075627 100644 GIT binary patch delta 20 acmbQiIfIk?G%qg~0}w2=(B8=1%K`u~0R)l& delta 20 acmbQiIfIk?G%qg~0}z~yP}|7e%K`v0qy*6b 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 c16c775a4ecd5ed7c52b29b99e6c360686472e98..dcc967ae0007484f1805b945fa5af9dfa3652c19 100644 GIT binary patch delta 20 acmX@Yc7%=lG%qg~0}w2=(B8;x$qWECbOet8 delta 20 acmX@Yc7%=lG%qg~0}z~yP}|6D$qWEE7X;1# 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 22b6ce4a3b341660bd3e4e13f6fcb5eac4026ac6..3ca58f4a258f8022f632c1a505129b5f61767729 100644 GIT binary patch delta 20 acmcc3cAJg+G%qg~0}w2=(B8-$zzhI73IB39 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 b9e087d060a59aaf55479ebba1e040f8d072f4a7..9481aad3be2cd479b39d6168b89c610b99d00fcb 100644 GIT binary patch delta 20 acmbQjHieD*G%qg~0}w2=(B8<+$qWE4^aK9@ delta 20 acmbQjHieD*G%qg~0}z~yP}|7O$qWE6mjpfl diff --git a/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-312.pyc index 7d524b6d1b2774fc43d3b734b7459b54ce47ab5c..1258fa2a2ebfa429d636abb88b685957221bd9e0 100644 GIT binary patch delta 20 acmcb{evO^`G%qg~0}w2=(B8;>ni&8(Xaz?A delta 20 acmcb{evO^`G%qg~0}z~yP}|6Tni&8*3k8M% diff --git a/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-312.pyc index f0e576d17917465839210e43c6fd1ac479db19e4..566d176831a935e0611d40137b37135b90a9a575 100644 GIT binary patch delta 20 acmZ3n;8H+=mmEG delta 20 acmaFH{*0abG%qg~0}z~yP}|6Tn;8H;iv_j- 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 e892ca232b1a60fe908b130f1f38d90460fbdeaf..f7ad379e7cf683baffef72f97b7c97dc433e43f1 100644 GIT binary patch delta 20 acmZ3*wu+7WG%qg~0}w2=(B8-`&kO)EWCTF~ delta 20 acmZ3*wu+7WG%qg~0}z~yP}|5Y&kO)G2Lyls 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 ce975d657fe6e39af2fe05682f4674048a2d17dd..5acbe51e2b4e4b6af4f1b6647e94aecf980e2da6 100644 GIT binary patch delta 20 acmbQtHkpn4G%qg~0}w2=(B8<+!3+Q{%me%Y delta 20 acmbQtHkpn4G%qg~0}yb{SKr9Z!3+Q_%?toBm;^fj diff --git a/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-312.pyc index fe36befe5a1124e2365b0025cf03575771651fd2..745042d92c7d5927580a3fadeee9350a0fed0aec 100644 GIT binary patch delta 20 acmZo+YhmL)&CAQh00c`dv^R49WC8##a|F%+ delta 20 acmZo+YhmL)&CAQh00gW5X>8>F$pip1G6k0a diff --git a/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ba028adda55db39112e476ac37129877e2fcb080 GIT binary patch literal 808 zcmY*XO^ee&7@kSeGzq)18yCfoiY$u|7B`D}@E{9HSwXZX1) z)fQm3C&3A#h+>9f9N<_BG>kO#7*XvAQ5|sKteTeZFZvt@`q1!dzZCH_;lxod4f81B znK0vo0?Rtf9)#=#nNbN&5TF246lfIpaG+}ljD9Kj-xefgP?aX7nxw#bJ7O&2J#le&_ud_nq!dy@3m`PiLDVDuCW$&A^a1TY7j6$Y z$m0Mdi$vz>qSj_1e=Q7NFedC`z><)XJdqivJTc*63^J`^ts4QOEvdpH{ z3?yD5Sy*-#~Tc$@Y^-b;KAhb3Ro5+6d_UwGs%f2J?px=TW( zrLuxZi*^RXRNaj-D3Cpp;RsDlWN%M(ZNq%~bm}1c#(QUMHAYrra{16-7Jq*tqpMv|1>e*qIP)SLhS literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2f9b5a0bfc20a07fd875230af65f92b0fd8627bd GIT binary patch literal 788 zcmY*XF>ljA6nkP>-iVvCd_q)yz~4uKn1 zt5$)J0VqvT5}_(@X5>W5cQaRK(G8I|_S=pM|kV za~#E#@ibWV0GJh7bR{?i1|Fi|X%zL4r)$8Bej)hZ7LYQi+Qa=T|K}B>1~txWXIi;) zj+e6JJab%k%-njpR3zoqyCLVH=;haUc6J{SpJyx~p%}$sz{r3e=2o0gmV_CLa_k3L zIAX74Tdm7|@g_IKkaI_umsA%c!jG8DsaQJ<8K)h`%1u(_3CV3jWZjT6i5rBx9r|3= zDn{9W3CctevNTaX=JsPH<*AyI7%I_t633kRqDbX-JYbcrUtpo`dO31mrz}a`I1RHP zj@*Md7)DHFsoU{0pO4js@bA;UFM6>n*ipeNTHqtrbt^yI)o*j9GrN^Df6XAJ7wy3~ zQBR==3Z#!@IEFa}t3B7XYxv!ZxeeCs5BAjDnwVR&jXSfeo3m!?q7 b*AYU$F(BsxHxNFtr|a93_3d9ENzwfWqEpPn literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/__init__.cpython-312.pyc b/osinaweb/billing/migrations/__pycache__/__init__.cpython-312.pyc index ed35a163d861b8aa755e0986304918fe41282e29..20e700444ef0f4208c96f1bd6a4f261c72dfe053 100644 GIT binary patch delta 19 ZcmX@Yc!ZJrG%qg~0}w2=(4NS>696$=1mXYy delta 19 ZcmX@Yc!ZJrG%qg~0}z~yP@BlT696*51t982~VS1keBg delta 19 ZcmdnTxQ~(hG%qg~0}z~yP@BlT82~Zi1rGoK diff --git a/osinaweb/customercore/__pycache__/admin.cpython-312.pyc b/osinaweb/customercore/__pycache__/admin.cpython-312.pyc index 1332b2a634e2ba2308e174f6313613ca22dd3443..f7c78b43d946b3a97d9d60878100c072dd80838a 100644 GIT binary patch literal 805 zcmbVJze@u#6n^QCvps*HwoVQzTBVBK>L7w34k8`=u{a3v66@8wizF$fI61j?^Dl4^ z@h@?yaH0gAoZN(NPA0w9($T&l`M&SHFE4p{8XdJk$KCqMSpflj8q$qq2eeLf<`xJL zKb}`CELSYMAHxY925U?Sp&I-26ANva%Bf{**#Z1RZM@G z!4#27V-k4bmzk7iXt`7zR%4`s!!lcQStz-8%FV|pD`15BLZyT!smgF#_JpKdS%;o` zL8Y3E_XCM#RUBOstgGx;+ozbQkr;O}<1yQk61(RC4W%0Ut97Nv!h2|$8~z+SM}l(U zFx}Q=fwRrrs;L)F2}|tPO(Mjr@r|93*4n&7+qgzg9k(hZ3n+IPr%wCDYnSz(%!Ynb z)u)?0r(2m3h%3E(ClNv)F#8Tu-xeV2#=f>+A@>Zq#!dv&Z;av7r-85t^>G?`z5 zq%|3Du_mVEX6E^6GTq`!$x6&i&(}-N&nqd)Oe$gqDwwRrlqbajWH178F^KVjnURt4 L9)m&=8;}D4uZJ0v diff --git a/osinaweb/customercore/__pycache__/apps.cpython-312.pyc b/osinaweb/customercore/__pycache__/apps.cpython-312.pyc index 4e03304017d4225ae4edb05df17e88b84852e220..e62a88e7a65140f712a1f0b8d8cec2356b45c377 100644 GIT binary patch delta 20 acmeyv{D+zQG%qg~0}w2=(B8=Xkr4nt#s#kc delta 20 acmeyv{D+zQG%qg~0}z~yP}|7;kr4nvX$9^8 diff --git a/osinaweb/customercore/__pycache__/custom_context.cpython-312.pyc b/osinaweb/customercore/__pycache__/custom_context.cpython-312.pyc index a4d040255473cd080929396b04f73693542400fe..470d62a31f9cd5203e37ea9189986f1d0a5fe17c 100644 GIT binary patch literal 1847 zcmb7FPi)&%7=L!`{A-eSYmhfqEeY$^dTW~?RJBM|DXgO6(gNL7Dci6T`?a&1#NG4r z)>erG5)wo7P)_5(0S*XI!v%3DC$5_~%vM)9vLbQdfOd=4+fKX}+e?LdC{KER-}k-u z{l35N`OjoB4#@an`r7I}4uHQY6AacTj;0Cm2q-{dD&QBE@hIjM#rhOm301iwSLKU5 zITQLE6vJDb$UmnrBI7bwMb_o7>t+qR%ttcgqthiqW{AwAUx`g>slkxR)`3QM|1-3} zuVeCE22Eq)zc;jSK=oEF)}sUJWc((x=le!blP90ix>*ZwytNU+i9m8%4-~c@YKHdw zh#Cw|{a*xpCeTnggq)zNSxN{$X2B*Xt ze4W$My>kJj2?5nxPxh-B50DA!djvI%&jmWC&1*e;GPc4t`}Sz3k)d7i*5ltjpFzyd zY@JsU+eu=d-dS;)Z`BwnW4I0K=*qzR`6O z@zlGhmxl6|JK&l1T$c=p-3Z*2E2aY7xTo(%_cE}K;nu#sOZ;ZkLb zZq!QSidL$v>G>Lb(B*x$OFw|+d=Rv(Bj_{4uNsD%cw%GAjhR@js91#txWlhkbtf`>5E*V}9C6MT=Nxgt78f3`JiYzowk0kcipAF8 z>yKu>o^b~A_F(>Dw4E7sG6g$Ra57VNW@;Z>H}6=Pse{ZXR&=PHz4Bw~`;?QNw6l}# zMDm*}-;G)4^Uo56-`?C``=j!E#hESIv&Cm`-Lez6jzVlM{!jeum!rFrU*$VIh+XVN zfiU(0@UeFuzTdhuY$dX-+=!E#wsX@?ZqCllJsx>F_GHY;%^l=cUH~>Zv72lQIY$s} zL3D(IEfn?})^gEVmh5H8TGcF}a3HKZ093t>wFRpK5XH5y=}^B&AN3)k=ljm5HjZz>47xbPGX~A4mp|S0oS)cx9VV z%Dx2Ae?zw&yLI^)pkXR_gM3~_X9&1ifwSl;Vd*V0=v&nZF$~iNLv3)e4RU{h%SYT9 JMq|2){{rV0ukHW< delta 360 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 delta 174 zcmdm^^_;Q(G%qg~0}z~yP)oA}(vLwL7+``jJ_`UD(-~42QW$d>av7r-85t^>G?`z5 zq%|3DvE}Bcq~;X+X)@j7Ovy^jOV8I!Nh)FnO0H!13{vweT0gWnwWwG>zc{lbIX_q5 xB|o_|H#M)Mc=8!`XVqUEHb4_fb5iY!IDo1dfw&mN_`uA_$as%Iricy50RT1NDP;fv diff --git a/osinaweb/customercore/__pycache__/urls.cpython-312.pyc b/osinaweb/customercore/__pycache__/urls.cpython-312.pyc index e7797912b7dcb1a70199545e902888d9dd198bfc..867da9e222a1af7096445ed9407d9ea0fdf22f22 100644 GIT binary patch delta 452 zcmaDT(kP~WnwOW00SJ~_Xs0b;XJB{?;=q6;l<_%Zqq;4#0TV+iV~TDnbCv;20fJ7^ zTf?@R8NyE&jgqX?*EE=%!<>`CotToMUy_-eom!%QOE9^#xFkO}wFoE(5v$UI3F#vg zmKLNWmZa+2WagDvL6pU3rr7D<5{IdUYlo$rKMmh;(_MJLoJ5bFqw(nRRV53Ob%+s8JyjLE5-A9y?& ORr#43xr>Z}<^cdJiI8sq delta 293 zcmZn^dnlrQnwOW00SNq9G}DyW85kaeI4~dqWqfwnsBX*5kuDM?QK_q`H+c$kj)q8b zX>mz@ZfcQkVoHi`NoI0(YKi_WL6|5|5F$1?g{448EHf_;s1ha#S1t?|hY3S8Z02Sa zW@40_EYBW1xsTmNOcbmp9;PTBYV0fabV(7Q`)&zl=4F;-CYGeeCugK4XXlre6p2mF z;yBA?43uRA;^L)~9XV|UFL25)5WTKwby3mkf@8=Pme9$II79dq7nojGw!5focfmF4 X3QP24R;~{`?u;t@OpV+{hCs~#6B$~G diff --git a/osinaweb/customercore/__pycache__/views.cpython-312.pyc b/osinaweb/customercore/__pycache__/views.cpython-312.pyc index 3457bec5117d8a075a554f80459b44b65a32f54d..352056747596b70a25741f713b8c5a3d348aebec 100644 GIT binary patch delta 8567 zcmbVRX>?o1b$$=~O6(g6g8Kqd+^p3SBZ(pc$7p1G}Od7 zks8;MI>)h9J9T;zH)2KGbeP1-$tJg1?6~I`FzJGMVH!J4+>^9PX=-<#*lUNM^u96V2NZF%6to-1Wu{_9toVi|!GH1V=$ z6g(%Wp=4ntPSD1!WZwXtS;Dg$Fp&YP5r~qsP4u1(p6VR0VN zYI>=?Sr4KO)4Ifo(hk+eRpGl!gyWRiQ_AaETB}Q|)0(uF^;U=h8gl#T8(VZ`vzF_HX;16ZdK&fwEMh}(w6wl3 z-XHX^uC9b3ZNMI?G&j~rYZMN8VvD0quoVaGQTbk4IcnuwBcyuCXTNlqrj_T8~~JeC-dv=byb7LAC|M-daw zSzvS|+Y4X8+VOKFRp!t{G$E7>rMj@Jtkl2J6OD2K_Nh5zEse@UObqJ_TNl&69 zVIsgd1XqiI(Q}ePh)#rwI37)il0FGCqe5tSN-`FTLRgH#+%;k>aw;m4_1Hxh7KCVq zu^F&EgtQ>3ABe@Hsi1vBF4XD*{?$u#DK* z&|xx?k~F8z;G5iu&D#)g1v6|3*(Va*39{y$1=Y$%5SnD;lTFYr*$PeJ)lnsFB$*JS zXT=mM3;pieL)_TMQPdwUb4V6I2BD>v%YeHMfO|X7{lZ(5_Xcy`VBXu2^LE_$ME2je{gTms zsq11_-dK?{Ry^LfXlz_|H_dA2_Px;me1CppZ*F7n&3hL%9$IuCzOZk}SDp8@=6tPr z-`1RO>xH|PyupioOJ?V#;}?(T&6PQG<>RqMb2Exi&3Rt%Kkv_XcIP^~Z)SoEo&AgM z0|goDa=vwW-=>^z6O(bFZ`tNqa#bvO0*|Gyr1PE)InRbAXT@XvSNikL`kb@=3->HI zTbC+opX$2Wm9J>YRkU0?uu!pW$y>AJuEalI-4ZCnbk($6Ui;MgtLvX=yX7+44Hq;k zUQTbhlrdg3K5SmD>cml22U_;kJmtUYe-a`|qll{IBqQ{{?|GY9gf+MKEObyNL{5x8!d zIIB17ZNG6kzjH9xv2$?IGL+Q~t!TJF`%-1w+iI0XbABIine3OFvK2iy?^!S&$f^zy z7Q7X-rp>ANDo*^=;{R*pI7T%#YwI$75_=z6@%&{zm4D$!T$j&WdCQ;Z83m*u{4NU12Y3EH$` z%wMF|-m|)5*FjFurxh`NS|dWtk{<{thP0+6pcoI5MrdMQhWX*3itSTYCU;=d284~c zoxl+mJ!8qfC7Y393j+F9vK=63W!{SH#fokK$s~Ie+26>+?Z!q_8`+2OQG`B({RsUC z2M}b}1LGHbk5=|Q`hvTN3G%piBLg}TGJtRdAcd<|a2c|{DE|O|QFKB_f%#tS_4fea zHOzr0PhSfznm3-`3nrA&S=hFAzoxBP_SU0CzkhGYo2k^seTEBWG;w!cSDw?AFY5e% z)WicVA7XX!VU9kfT+O+79r=6$AV6(rXxuy?g+ zrk8aUHiFw@MjbX^=~^?|wTVh<7M|C1AnD}nXn0E2f#&v4WjTugqGUyApoAY? z{Or|e9%6D*WCR!-APGXtIm10kate~V>O%=QX&DM(AF@(Xi_OZ`m>_9- z;>lE00QX|T#I6v=Q&L%k)fee=b(ot_LF1q%gDDf#$?j#%g7qMAZFR{5NHSY~-#VVc zrZ@sKzT4N)y6PolACn^E!21OJQgZ;{8yvpOV>_e#jG&p-7VU)R9v)M15K)zaj@gr^_<3MY`aiHI!$B5eg1qePn}89@ zci>AwnCnOXH562?5t52T!(dgchg2pnrLN%ZQ}h`_TPA2KiBlf~0c*a1nUAE6o{hvO zA%{oll0gn)M?kEkiJk>(gyc5@qd-1iYG^D^X2Ea*yJ-s1@_n|3F-`K^W^AFtIfR^s z*6Z*~Ed!kAmN6d9ome#YoZq|bs>!>8Iae_6>d3h|ZfLTujs@4wyz8Sm*GFG+F1QY! zKe%iUChmK}V4X>N-T~VVnNYxy^4=~R@!%JHhjDuO#ASs3k_54BO z5U*zELONqQoguw2`L$KSa~w&DvbN_{L*7pyq!F0D-^Y=94HoggsOMYtA3#M&JZnkb52) zF_9o)gyQ^K>2J&GH++}~XKFM|;D|e#Oo`w#3z9ww0`hc1T~0$5!|KPh(uCDOzhS#-u)Y55Fv_!peUrxCpLb?dV>mN$Y+ zSK+x6w%tYgsI7AZS4%285{*m}0yF5Dio~O9t5>>7BrQ9zLiUD=Cx43YS%mlP5)`SO z2v4zdC`MC`r>*vTc<=nD?TvhZoda#dVbFdkJSmQbMqzux`T8m_T6y}i;|S>NneD#$ zP0mNuyZ;QO=_2@DAsD+6N!7t5TzEvF2+jf%1(q`WDu5L*K_NVq3MwTvi|H^=b@{2z zbFHJIIFZ`c-VUpt2)6->k>q$A{MsX<(a5P*#@#B%yLMul|5Ew0ycwsOf-@1V+FTb8H`(u6RWC*5Ul4>lKgbS2-GAyJd)o@anA}n1-{mS}$7}<>SL?#Gi zT_lQaI}oPnBb8NkM8t9*@)hzLm~a=??L)wPoBph_*Lwpgj0ci_&)G;+zNc{$JKY}W za@Aqu^9ZOp@)W{F`f#9D^F=JaO1~P|slN$DiI1k-G`q`1tyQY}LS`6C#Kah0!Z4jA zCq?oWuzDduNu5woTlcp4RMnlldmww{M0Vh0_GBn~|7bQ8%f`mCwWsKJx_?4HU$dQm zi~hLg2mA^8h1z{e1u3V$uASt+N$;=QtV$ck{Omkcv%{entHu*snYnOZdP*ppHVX89 zkIS@n{|C2v;Wh`~On1~*8sTIoKV$3ZZyVikg*|I4#;{@nHEn`1+HefM6U7_tt1V_a zSAREe0`$+>1dA5A@BP?kPgk(59PFsbFv^7*y?2xw7XBz|b zT4U3J@4#IongM GoaWNW7}}89XQMFLDe1;z)3utW0ai`ax5kj7`KN0egf%+7{!5 zs@dvd|3PkwtK-DOMUHxoG)>!u8WEFV_M}&ph#q_Tk4lRu?&aXd+y0;(zJR^Y@a8kz zS>?Ul89rEhkUUARG>!7F()XHn1?EAVq#@DNWL%WAgLn7z>=_(n=Kx3+zDS3g_j=Fi z8t!dv7;kM5X4K?S;3t^GlF!kvHwQZ)1yx~KkaW?65W=gm8Ks<2;y#c}smbBht4ui0 zyhN437Axebh09bq>!%xn4Vk|~q2EV%5#XG0b!Tm>4z828Dob41u0~fyUPJf?gqIMQ zAHr3Ww=CP&tNRwN0VhdhGz?jDC@jhzbPw=KszexW`&47}*TIdMFJX-iqU8g42Pn^j zO%~Elj@&{(XG8uSf!)L|KuOZbSI6YzSlxs*7Q9?59PUCB!UOV={B>+czd@FeNeKf5 z9rB6kCs#%p{x;lH+iJje$cl6&C<2 z=x^5f%P%6k8610(gvO((RCpvxehGCc2YMYPI@GQfufYk&<^YmoP%MQP-@$y~E zZJVEq&&01MF5k82Y@x^3_qmsvI`d6ib4^?GP2IVs?wjitnhrc}qED|sQQ5lXxkEFD z^6R^E>${gax*)0UtbN;KsV{$AcdMEPTANkTS4Ur_ds};}?*#F;wsE%VFKFi)UTA*4 z`E~2|WlvSMx?{o9nYDJ(Ct8PV8elj5sHPI|6;8juL-~r{zrRKKN&}DO7WMv)`9Ry3 zm6_kbT*z+`{tW?62po9_fi2H}VCgKve{CwhecLh@e` z{u^K~c@K;K3ouhj;6I6QIzmt(s56Kf1T6v!MIUM`EYvXjWif^Y6%`6+@oCje*Gx!` zOYEbVO*3OhYa@#YR*u`n&FE$0DZ}wC2=IT+g4w)*Ty`Yc6n_q6N)LeP7kgm!%Qm>x zK4AHa`QU~rUgd@6`Kq?3m305sZJ9r+*mLGXgMB^SM|!JwcSGR=RZQGCI%-tX7PxQM zD)Ar-i*C1l8&?k9tizL2p$AAb8Y*Op#1H)6pAXzQ#Y2kn__h(g@z1xf+kXtkkTWIu zss#RjBj2lF!V7mtCQ8-7_*JjpG5dP!e1g( zp|nOUJ&o|!2wz6HhA;zgj()uSj&c){e}nKG!W_a^5a#Kd6~`*c*RcEo!Z!d`GaRh= zCcV6~GjoRmir+%|+X&x5_%6atgclM17J<3V?_uft2tPphAwbY6TO{*W%s;-2O+P}| zjlisrX^w3KbUjiT{5vBADY+QRh)FRVmtE|d)iDRgJZ>IE+(20MXFguV^TtP-QO}0bTz$V#-<$uGqfirG99gCiUv*&nHh{jWrRTv8=Mv`s9 zaGP91(EdtJmht3BED<8nk59(nd_nM-O~52M_OB9h6ideu?nfBGyIywV!H%Hpghb9` z%O?>YLih~ABM2;Zy@e(8yaYEOvulC|NN|EPuqUwH4e*|>3%+nN9^FCOp$Y!D)VBav zlswP>jNANE?#`cb_4M~WF8wlBwamGG$_1#cx4n4-e~^Dy$tip*3M{U~c__cFC||3_ r;z}1C=-ubh^ZSd;SbQg7?z!LN+;h(T_N5em4l){vve!y1zCC#=!PuaCKwNK+w5R9F>4|{tpg0^EVp9NEm^t~ z^ujE?1axbbUJ80qmR=^l#zYB&9b>bMp|y04mk-s5TuM~6d^MxqA`DL|M3k{aNKi`YO= z%tRDIL=4LQs1ynYh(MfRw!v`AcnAHg&`CQg>*zjxZBvpbD!7$Y6AM154v=9<(e55& z|8>D=L>BkTS)Il_mPFi(9VgH%_ZJ5*+rNMKMK*AQHbn7?b4ah)C#p zYnxTkMTd65YGC9Yp|C6xVxTYTi`KEJy&5((DThHx1)>V!0!SJF?rL^hmdvRBP-IUu z6ci;=2OjlwP0@y|eO)gqTR=*2kTM+Pe?wCc2#5WnBr3#UJ!C#Ow9-bKC;d2ojLxW< z=wr6d+zGXyimO9BecR)5DS2JdkuXgT68}U{%g6&od65H+Uc1@Xi{4A&vxeXjT;ZN!Y9N_+HvLA`xAAiGC zf7Mh^Kd?Kg-cgkmhi0dz=_})4zB#xY3hovm7K>oeUiMZyF4kVtcTcOk*;`E~%jaba zw|(VcwooJjZ+*^?WHF4m9oLI5;{Z3K&M|2Zti6%T6%s~9t6FGdRr#$SxVx%cvlbqB5c0Exo~+8BUF5|oU&pOx09VB!K;Z`ikf(l0 zBzr_6%`O!)=3)3F>ktm=^PDS8@=8uf@bZc}1Y!27NG~;3H}flKM|Dx(Epu1Vp{GA2 zkX{_dhxjJqmien24U9vqWzr8Wr#bp$^%mHI&*MxvY7Be@>r|GZ0EE;Zh{-$sJH-H2 z&0XOAEJs(?_JQ|ZK4oPPtV>fR`%T?2^T9MS~;2v*bw*hFA& zY9TN#c~y#rRS#@#|H9q;r}U?NExbNe(r}J9;3lLT05%x4 zx}NEaP4nK`5#1^7x zgG7W^q^PC99#P3}2r{#U{Z=xVx5YP9U(iV=3=kIdUO;#&k$>^aURamP{yPy}+{Yi6FV|36$X zXDcUg6W0A!SQPs|#*cA(Ra?0+-doj60<@uRCx4ti($-OjqbXVGEVf?HIaXk0C!oJdQYmU=8F^lzxC< zwR{4llK`b)G)96u0}^!BfJ}afCan+?QNcE%bxGC>eYs_9<%C7J`eI0v!=(EQaaD563@YM$*&O4BYur|0m0tQ zZ&6x;cnN_?%f2yWDM$lwQfAS{mrkxAUPoL;{1WjBU=6thRE(Je5o_^MvYfnz9*Jq> zRmATR*AUkcU!OEB=)!XN5tLY#s!?L!rJJcr{(!cP2$sWaeJrn8!k^-xWso1^ZA`Uf zUOKJbLc^aCZzI?qF@MNk5Nx-YTT&jtow?wv`NA5z=6$fWr<670yxIX`>Q9|dsOV=s zOA}uk<9!BS|N5@ZzE$p(ogmyY+T`yr9t*CboAu5LFnJg6{sZwIVD8$u5_kvZq1d>8 z2NA`aKZX7YuEVL(+C~v?d3Pn3%&DuJUEmJ;GO+Flt24J1CJd4!kaF@oL>~C zj8Epc^C9?5(i-1l-jTY?XH(sAH$E9a3?YJuenk39t1mX zj-#}XZfV?JPU0xP;m`yx*g5@3SZja*t zKS3lAS_C#bZ(%wipG3nM1nYQ7lo}E2l*7Wu-pI{K$yvO64uP3UoU9G zP9k^UkSq|aj-glY~<}$~M5Kx$UslSXf+6J_Qx_$w?=V4c5@c!A6Ug z@8v&HaXHSJ9295l^zh(XhnDa8(%Qp+T&(2>_?Z&=?%)V-r+r(y_&)mZ*7>Zy{|oCP BQbzy) diff --git a/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..da876b0ef9401c12ae93defe4bb36ecfb2aaffea GIT binary patch literal 4262 zcmc&%OKjW7878TRCHWC4@y3xKlH$0D<#i-=?TvyyjCCT(o2+98iJW8wWC@xxlIc*S zLQ>Akmu`VQ^q5%{6gd=*|u2; z;QaH?|NQ=+GsD01_J$bv{pRBP<*6Qq`3Ifs{(NoX`3)d`%^(J`GE-$sEK6xl=Bl2O zr|K^supF%+(FC<5}wcd-S_Cmi|VS1oV0Ss>Hz$i!ZiK`aihj=suY?eD-F z>%cqvDi6K4b@D)b1Mkvz=gJ?7=hV^h{9n+BZVevjm!Ws;efXgFN^omrx6>dF?`o$v zAoiATz?*k=+{yhvcWUBjeE#>H`Uc%{`lxvR%V@?syf>p;XLhSo<|@87sMXk8*6K&^ zFq^Z7vfiWQ^H-~|QoRgebNu4PG<;S483nauPw zFUSVgcvVAKlMGzt1<{b!F!2{1ON5h9fpAxHNiXRU>W0dT8Ws$UNOw(>s)E+w@8Jds z>Yy#i(mEzRYgk)Wb<8V56%(H!88Vh0!dVK}hfr1coR_guF;+-7!n&wQHF|-7sC>(^ zpxh%~r7p`PsNssBAqXM{nphv)Ct z1(~J>vo1-I3}_XN-oi+~{y?bJgk=x}$gzU3A~rO7^(4n;mx>?rOE>d3_-l)~{5Yw4{pi z3AC^utqMv-B^+8N0jJUwrohd7kzZJvpC?_HXK!Af&E-k30NJ0;&r!$$% zkNGx&saivWi#6js0zl|Z0PaiXo4(^;%(eVXu)sD0A2b8!eigC<=d8fF-v;dQkF4>J zo&{!GUEY5G7xS$?CK#v7F)I*jMxx(D-ZKX#9cOt-l0#-Rp_8_8ux->;yRr~49>APP3=uviRovF3uZXmjEtD^%*L7> z&sg!yHhNrsDm{_x!Y!+C%P#O%fwv1QR$+yjV{_D8BJY?hfH?>wO~XiAvGjKF@vWzy zKKaznFIo8|JO7!L|IE%;tbE0kjejxl&6MZ<=?*lef@5S3j0~E?=Qj%W@Of+a{C4h< z@%7qY8-H%ti@deS+lwpK;)=a^-&(v65j+4Jpgi(Dm9IL=pE#c9xz>qLf8PsVZ!pvv zK2)pt>uPmWRRGB;isY0PpL!Pm&?=V&{rhu4w1( zTDiM+u59JX<~Fq0PTJ9=6-{nm+KFb(@I`n} z-X_y#r7yyITg^9JK6gtnQ8&-D9TQ z?{hfU-~@wxP5b$-H7!Re$9Ms#mw}(T8~2QM6{hqPSf^i@Ef34G-}xE#^xv8BzcGmy V{wdb~Fl2|vtnk=(3``sw{|4r+#E}31 literal 0 HcmV?d00001 diff --git a/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..834372b646d867c9d209eea90f8bd5f478a6864b GIT binary patch literal 1083 zcmZuwL2J}N6rM>oX*TRiU5lbnTj?SV>Sh&05fQ}h3R?GKS7;6mvzh6dZ8E7z*0SP3 zp$Ct>^%n?Ad+_K{PaZt&X_xWn$=gCJLQl>lo3_vfGV{JSZ@zi&dow?aMIG?(xzZ_|;+s0fcmAXgtGg3BxzxX_W!1K!Rp{jno#mfph4QNNLF7{8 z1R-J9tJOQV?U4AvYhuT)vqoYR$H;l<6B>^lHlo<}c{JZzaJo?(_#{kr7pm3jP1~hz z>>`h;>3*hTvW~)7Ff6^9Iy|d#3aLoX&_U9f~g zC#KhVNp71yB|WC%4x;UVNw~$dBolrmnD)H3WH*|Ni%bvJ$@rdp275x~gSTcgB4K3m z`eG;W&4s|}ijpIT<*{N)e&K%4Gs)58lh!?V-F(%jb7L20gE zn)_7#vh?l6kLB;ngIcp+YYu8F{o2Z)*6!EZBfwwSBWWLia|_b`L@uw7WVNKee-h4S z=Nc-@r^QroD^WOA_2QwklD;S2cHUSnXLu>w8_ozTp}NAY1MPm=#s^`UL&*O~M2utz c;Xf5X;}@9SSBp^H(g%~}{$%+t;26H|vcZQj<2d5@?ka&?>EMwW_Ekgj5ww)26A^A41w5mdVc8S$B8V zon5yWssd6ENL+g3j)Vjve*m2L1K?1jO17rQo_e#Cph`J)X4V@j5-RpE^WNL}zV~Ln zH}glSWC8L0cy6V&k^|tGbh0l$F}9n+_#R+@wE%>gqlM6cn)G3yJ2?nG0a$+saE@pl z#g-AI^DlZjJNZ7e^UtMYLvDqBo1w&yXv~c;!X${-y>wwZPEVX|N0ZqJa5M}Yh&2q` z(9t0vxr4G{9gB*H(V2ObEVXf-n4R+ec&B(kZ0>;Ak^M1jY)xf5+%hxkHPsbVbw~Fz zwE?z%(C{?QZxu71|G`+oGp}KMM@U+J|`IN+yNSr4YqFMP9@RKUuH8f7WFr zjP4RQ@x9w5K}mwV&5+P!5^xd4ZYWj@XwmD%NfZ*M(2MnY{j`gMgs^NaCSAl5iRMPi z$IT3L$gfgk84R@_iBX--T?c-M|JFG(7xDZ4!!Az?A{Irbee9GI5e2>H;1Nz(z z2yG{utR(*NnY407kSDvBo0+9@M%-$CEx;?{9 zSJm#i+;YV+;$A?6U3A?$Jrv0ONKYIap_ow5Coz+kiJRv!ZpwW!ac2RynnD1-O)rx^ zH*g2hcElmx;HEk&Rpj-LZ@B9>*VcI9!X{!0%dMzOCRgxhuq}wd?sv7DF=25{NRfC^ zSoFxOC5-q_F+2og0~DIt$UHaB>vP7}YvUp)EPiVZ&4q!vFq%I$IY%YYY+M^Ot_>Tv28~;fKl}1Y`TovSu3(L=e^XROHBRHuZsYkrV+(TA)qT=8;(_?Q^Rx~6F_ b44~Oh!SNkqUNat9!`Tyq*%N;Q;V6Qap+%4e literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..0221a1e9ba634ba217f93ae40159589900ef8267 GIT binary patch literal 1259 zcmZuw%}*0S6rbI0x9!qmsYFCXNZV*O#Fj)49t=qX1>y%6!Gt}q+3rkB%YM}T2-cGt z4jw#k^Di*Lz`>(OJ$W!O*~Fw|JbLoh1dItMXLhnKO@Yi~$!s40i$&9h$Z%J5mdNZ-9~_aR$ms|u90Upvxdx}icz}e9&VoFo zdtz&Nkc#poK}83b}HFQRWja0ZFYZ=XYA^3u0Fto3$kA;F;hEXl**mJ&)VGkQMmrI9Jf@^357@R-3z|(1bZ&Gc;?9G)Q}{8pvvRn{tdG+9K7`OoWBd#_LUF zK%8YHn&)Zyrim=?l-6%U%|kE7BRN!PiDk1bS#W5R37>BmIAvQZIRbeI^PasTU&2W> zJWo}zq!Q)OHxTjDs`|{=461=5h}y`4$kLn0b?BtwWCg-Ss?DLL#HsmB%?UAgIs=Z z^i$zSZtgfCq$HYogJw=i$*et!CO{mXi{x)xN|y48)Ky3wuH zgKE78fWa;C#{gVj<{4LJC?~#p;1nWxvWQdc<|SAQTf`bOei|&X_g{)i?@UJjI(h1a xR7K*QB=561m~(CsNahu|Q^fRQ9LN0?0Vn?i)5qcnC+}*KqDma9&g|O367Kma)%7+jv?n9S?EA>;)kln?p3pojA! z4;BFoJq9q0gi3Ea(CNG{1aiKsE~La4Oi6J>vXSFxX4y{hBx-17tU8)y+C(%gh;)0k zcp3nJSW7wjhhwM^$a4_nc^=RcrB25{M&U|(N5|qm-OC2#%6z`d-y07sonOd9fv!a= z1D)1Dh9UY3L-C+%pVp0y5)UQc`(mJXe#-zxzT{vOh7P*hHK6`6-~aVa&p_U9nW#^X z@AJl49~eTtmEp7YO5ZuQ(Q|B9&f3ne)1&Fk6}OPnp3It2Kv+>ts2I$rFXu0> zIjU2$*Q-!<5aBhLTOjL~#;29bzmD)hM^mV#puG01$kzq2Um zz?kB3l5WA5*@+ZofV-q29onn3s*>WTq9`P)&_cnQj;I_{l#gqw&YTqmGuD#f6By z858aJdQ0`?9aPA4RyT9nyE2q~*ITR$_)zoNm9Ext7d_qouy$o%q^;;NXo?^*{(01s zuDa6IuO)B%mOFmynKXMS-E4-10rAu2W(-6|n8&ay4Id`n`XljLV{qchwl_H84o-X@ z`gyF8R~jaMK4>@M&SBzGBRRQu!%I%O$;n@@?KT0p&EMha^bx<#9|Lgt0aFqW`NPCe zV`OG;+Z&m2M`oUlTyMm0943;Dq4eGZZz$~!rJu?_Ec~?eGpT^Z|h!m(akP;*?VsGo|k>(W*;>+ z@be^t-0T(ydXK}ANVF+*_lcj~!R$f!g-S`JJ1Bg*XqlyeV3C#u7JM!SB)as literal 0 HcmV?d00001 diff --git a/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-312.pyc b/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..651bf33fa9ee56bd9b1556823425750994835503 GIT binary patch literal 796 zcmY*X&x_MQ6n>MWX%f1!7NJV_*a|`1^q}HFc2Q&n(Vp~@OPFR}OKX1AOybg;!X7;C zt$%@_?EV4%51tl;mRvn~D|AKJlQT(5*Ezg=-}^Q1eVHFSI~IuZ%j(Dzz zF~flS+Zq6)BI|(wb3kwj16N^WL|jz?)F#Ei*GoW*!DLLI-1y%w8PizpTt8FF$a#G; zmgr~94BO1j*PDsNcnv?}X&hqW#|h@GUa$AiOUM2@OnFMvjAv6uQ_LHsuVPw)lpVbh z<#mQbngwaDMOhHos#sU9=tVR{;ghyD9Am)x;$p)q{GOLvo+t9M00nM%-usLOGFLK& zQ;Zl!{up^870r#Oj2+1yi6&{|SsVvQqr#P2@f0h0zrkAWeD%S3%Q4|j%*Ux8htBiZ z&q9n+?(}I&gP9CO^gf%=XcRjU9v8f#1wO`sb6po_`wtzV(4$JBQVmavu|J(9@<|j% z0)8mW39NK5AFNd6mj3b8$^vumv$ZhV7e;&8>Mn1#md)T3@138`!^^s6 zS}Rp=>YrXFw>KU8ww9aag!^nz$Wn+=-r16AMeZGeu8b$8wg*XDQ1Qrt?+LR~2_b)V WAoiu+Ao{7b*zH{GcK(1MMfE>K7tlul literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..4b7a33f267dd1a19a9c276c592c113108e83753f GIT binary patch literal 1775 zcmcgsO>7%Q6rNqL*K2!|+98cGhY&(&V>h(}kpYRys`JNRW2F35bq=ewXKbyzKW2BG z$h`nk4;*_yf+H6sP<$vS%84ry7q5u4(Qp8X6E{mqIg|@CvvIR1IWvdZ_ujns&3kXY zeZP#2B>-99ynUk?6#)2?Dx(!W6HYdX@Fjo%ayl@$8plzY*LfpSix@&pV0uK4) z3!v~2z$l8e$45Zt-@`~C*J8a$PW+21ISxw>a$U`AIXNCD46S9Wu4b7I77Ys`-KjRt z0RWKCl#{y4uTrb19GDjb_`?`ZI2>ChleDVF37d`T8zb}0!w&@JdE^(Lq4!E zuZi$^Aj2pmb)!Uk>XNeDrX}=Kquj`AP4v>a2^`-T(S&eDZgd^j zGLYS{Y=oy47Z=}DT&-~*x!n#_U8LAZg;)-out05$ZY3>QJ1?AV&2+CAky>fyM9Y)#d*2MEji$gW!sV(5hD zF^HOKS9kGPkctwd_aGb2zYtE7BpA0$g=C0agn8G(LYLs@czcXIA{Lt((xFq$y?`Z! z-J&Qsp(y0P>FS8cvZ8$4RdrgIqS%yzc+xpgI~}!7&LQd`6C$(Gv*~|{uT*xn-&1zB z);5)mk5mB)~b-U1n2UyW$8#Y11+&m zUPfz~ACd-%u&tUc3-hp!B~}^v*>P;8vb9oKUBd~hgU$xPci@BogJ)k9cSzAr(Q-7m zVHw3$tI;)(={m)#>Z*E=9+>LQ0JmtO1E!y;Og=#MVz|l0^C?p#ba{&~gqC)ZHUF_t z$~cS+g-*|ok<{2mr;hUv*&c$S2;%dfCw%F;Ctd$m^5<`R^S6JMD#y|r!)Rnu{PfOH z2Jx4v$FwI+A7@@WPG?S|k$7S#h3)CwAL*-uO#acnpUHcf{1f5lxj{`CnD$Y|8Khhi zHOMY}HRWd)yzIi`oulkKgVe3#^vqy(>FaC$?2XoW~Y1b?54)z-Up5yH~ zM_G4}>JH=4$??;uMDk9KPl%s=U@wfik&|#TXnmn!nazM%@iPmoGZF@b$v!t0fernE3 L%{>J~VHp1czXQUA literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..0c6a16179291bb75b0c425bdb0e182d43db3a0ca GIT binary patch literal 916 zcmZuvF>ljA6uz@#*Kt!3p{7U-EtM)Y5o((k!-vtJN^ zpOVa$HU*QX0$c(NF!VtHZ3rb+d?iqA6#@l316aKPI78HyF)N;b`)Z2qOiwH6za=R_ zZZHzZUf5&;n}OGioYi32+GruptJvqJaNjM6_0Ju{_0n@hrJ8Y%2Cr zQkzee#fTNGe$DiiRBJ*zE1Tun%B-`J!gFqi#WWz1OC!P`l*{FZC?WxULs0Cw=Opg5 zu@e)aIrtw%3M_Ww4&!U5NoGCCtO@-j)y-6winz(3K1QJv5N?E|o1kjR@m1D!+HI#H_AzOb5R=gDMRE@O)?BNOB&Xqk=A_pmaueB*q1zI(bBnrQ(vX9+wMiW=qU+H0o2(AXXr+ncqAv4wo#`>tRGb(IeX=>IStJ-b- z-HT{#c51bx@#VDnU6+PusfF38f*Xn3X%humlN8<&=*D=I&gXG-S5Wy2vJDZ&DunP_ a2XONTxOb)Jp#ISu=C=m4*)V01n~d> delta 19 ZcmX@fc#@I(G%qg~0}z~yP@BlT4*)ZG1uy^r diff --git a/osinaweb/customercore/templates/details_templates/inner-customer-ticket.html b/osinaweb/customercore/templates/details_templates/inner-customer-ticket.html index 30d37872..6ebe7751 100644 --- a/osinaweb/customercore/templates/details_templates/inner-customer-ticket.html +++ b/osinaweb/customercore/templates/details_templates/inner-customer-ticket.html @@ -9,9 +9,30 @@

Ticket {{ticket.ticket_number}}

-
+

Closed by Linode at 20-4-24 16:30

+ + +
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sagittis, risus id sollicitudin + maximus, diam velit tempus est, pulvinar cursus arcu nisi nec ligula. Nunc eleifend, est eget + lacinia semper, ligula purus scelerisque nunc, a molestie elit magna quis sem. Curabitur eget auctor + mi, vel sodales purus. Nullam odio erat, convallis sit amet feugiat molestie, fermentum sit amet + purus. Proin eget nunc eget risus tristique tempus. Donec egestas bibendum ligula sit amet porta. +

+
+ + @@ -23,25 +44,25 @@
{% if update.added_by.customerprofile %} - {% if update.added_by.customerprofile.image %} - - {% else %} -
+ {% else %} +
{{ update.added_by.first_name.0 }}{{ update.added_by.last_name.0 }} -
- {% endif %} +
+ {% endif %} {% elif update.added_by.staffprofile %} - {% if update.added_by.staffprofile.image %} - - {% else %} -
+ {% else %} +
{{ update.added_by.first_name.0 }}{{ update.added_by.last_name.0 }} -
- {% endif %} +
+ {% endif %} {% endif %}
@@ -50,7 +71,8 @@
-

{{update.added_by.first_name}} +

{{update.added_by.first_name}} replied {{update.date_added}}

- {{update.description}} + {{update.description}}

+ +
{% if update.added_by.staffprofile %} @@ -79,15 +112,18 @@
- +
- +
- +
- +
@@ -100,30 +136,31 @@ -
+ {% csrf_token %}
{% if request.user.customerprofile %} - {% if request.user.customerprofile.image %} - - {% else %} -
+ {% else %} +
{{ request.user.first_name.0 }}{{ request.user.last_name.0 }} -
- {% endif %} +
+ {% endif %} {% elif request.user.staffprofile %} - {% if request.user.staffprofile.image %} - - {% else %} -
+ {% else %} +
{{ request.user.first_name.0 }}{{ request.user.last_name.0 }} -
- {% endif %} +
+ {% endif %} {% endif %}
@@ -136,14 +173,18 @@
-
+
- - + +
- +
-
+ +
@@ -45,51 +46,143 @@ class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap"> Date Created - - + - + - + + {% for ticket in open_tickets %} - + - + - + - + - + + + + {% endfor %}
+ Last Updated + Updated By + Unread +
- -

My Account Balance

+
+

{{ticket.title }}

-

22666766

+

{{ ticket.ticket_number }}

-

Django

+

{{ ticket.regarding }}

-

20-2-2024

+

{{ ticket.opened_date }}

-

20-2-2024

+

{{ ticket.last_updated }}

+

{{ ticket.updated_by }}

+
-

Ositcom Ltd

+
+
+

2

+
+
-
+ + + +
+ + + + + + {% endblock %} \ No newline at end of file diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 9ff7b1b8c50a060156a3994a49086e3636a007d5..6bdd2dc413779b43fe14b033272e2cc353af2cd9 100644 GIT binary patch delta 1927 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 QZ#}W-x?0#W9C)_kZ#m90RS)#1jhgX delta 19 ZcmdnZxSNstG%qg~0}z~yP@BlT0RS;_1qJ{B diff --git a/osinaweb/osinacore/__pycache__/admin.cpython-312.pyc b/osinaweb/osinacore/__pycache__/admin.cpython-312.pyc index ca3c87aef33e729d81994b5762de673f76f90a96..11240f227d3e891638bae78916bbb2d66b9e10f6 100644 GIT binary patch delta 166 zcmX>j`CW?lG%qg~0}w2=&`z5;kynyQgLR{Z8q;J4MpH(i$$m`cn|CwuGlICxlBt}N z1DH%Fo3pH)?8T_fCTi`Nwf`N{P>3X`jOgeE`dzB_pVw;-qQ LRR*OZexOnS;;b&& delta 135 zcmew^bw-l+G%qg~0}z~yP)qZj$ScXThh?LN8WT$@$7-g@0Zb;79T-hF?`Gm>oWx?z zC<)?CHfLG8Ie_&83!~g*N3M>^SGlIB6!8I#DB=eZ0zl#yhfQvNN@-52U6DPI%Lv59 b>nG3Q&Sd17%*NxgIfjRkk>e_ZELaBsdbJ_P diff --git a/osinaweb/osinacore/__pycache__/apps.cpython-312.pyc b/osinaweb/osinacore/__pycache__/apps.cpython-312.pyc index 66bf40cafee3e9848389bbc0e41b1cd090437f49..88b91e3c1a69111fbc2f7b6638d93e17b5ed101c 100644 GIT binary patch delta 20 acmey&{F#~iG%qg~0}w2=(B8=Xf)M~dUIml@ delta 20 acmey&{F#~iG%qg~0}z~yP}|7;f)M~f0R__l diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-312.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-312.pyc index 537d31543d750bc32f42a57d851732b612c940c0..ce0b265f266b44be5c2761f0d40caf1a8906fe2d 100644 GIT binary patch delta 20 acmX?Nbi|1JG%qg~0}w2=(B8;xDG2~Px&-|I delta 20 acmX?Nbi|1JG%qg~0}z~yP}|6DDG2~RT?IS< diff --git a/osinaweb/osinacore/__pycache__/decorators.cpython-312.pyc b/osinaweb/osinacore/__pycache__/decorators.cpython-312.pyc index dee386510eb1a6862c546eb9b1279edd0eeeb9cf..25258b716df86dbae631aa51b16f9d2c7a74b003 100644 GIT binary patch delta 20 acmaFN{+ONnG%qg~0}w2=(B8;>gBbuka0PAv delta 20 acmaFN{+ONnG%qg~0}z~yP}|6TgBbum69ugR diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-312.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-312.pyc index 239667d6a6e9da8060219cd4ff29b0aa435c52a7..9ce22e1e5b3e647f5a51aa4ddccd2ffafb52f8ef 100644 GIT binary patch delta 20 acmeyy`HhqNG%qg~0}w2=(B8=Xngswqu?4IE delta 20 acmeyy`HhqNG%qg~0}z~yP}|7;ngswsR0Zn* diff --git a/osinaweb/osinacore/__pycache__/models.cpython-312.pyc b/osinaweb/osinacore/__pycache__/models.cpython-312.pyc index 3bded541b289767901220e97bf0948d6505738fd..07e07eb059a8be17a02f40b5d17478811331b8aa 100644 GIT binary patch delta 2759 zcma)-4Nz3q6@d3F`^Wx(i|j7TE@5E>eX#r}vaAk?Nffb)fUs&pjAX+;bmeF9?&|0y zDM{*BlavZQX2`U*8amXUB$I?UX>@8L+BT-qF`B{ZtdNp6cG5Pj#xR}4NhiJMVuE3q zPIq`8_ug~vIp>{o?tSNn;M|*#a@Jxos`zg(P}q98qAw)_ieI0r)fm;PYE`&=mn!VX zVaV3z?W~XjN~z`)KpNiEehKOLsctYimG6v|a^T(q8@{Ul1hVi2Lk+lodCdUe#V5R8 zV+j{CLXI-qIIaf2GGRWXhJdm^^)b*%WZ^J=mg7|X*4`wj$1~~ALjyi+>xQ5*W?QY+ zts|A65G&)@rMhBr?eSkWxh|Sq2V*0q!Y7wqvF7&LFI#gjT5}IBK4w3eeLVZ!_=q+5 zeyowzw`mSc9<%rla{N7V{p%PvEcZI5aPG}&=));ZXzY`E(R zKtG;vWB}rjB%^L4so zMM)#6Z&_-ianI6dM_0QX=UonbH~TXQdFR)Mwo&J+Y3&eSyPYN)_27~kr&7Ee0RD-k z)lT>fS5_BFpL1El5Ne4>wnySS*%zexB}Yul;i2DTU^np>)pvmh->N>Y69;7!A77DC zHct9AHGuC0Y-GyU5Be^s?Uc(y6!X* zuu*Z}JXfCz)%dgeyqd|Bk^i{_4+qa!q(h!Oq|`(rjm$yDXSxb)Bp}?6<~40#!yRiz zU>~k-D4=menbA!OgjM)PLj$;ZSWe7oyriSfVRrng(XG$m;#$cv#<0IxLo~oMslJn1Va3p^Y7xJ#u*R{5`M>=JeN4x0Y2H6>k zse`Z&udXf7P*w1?K&Eq=BQI?sJcO0&9@NvQR?5fy>xQ~Tga^pP06}~zPSZ%-m*Qf( zL{o9$jMGSTf~cNIrbw806XE5%o^Kf{JEGxj?eaa$$DQ&&RqUsnHA!f)A4)tokoIq|}iB delta 2381 zcmZvd3v82B6o7mBZnr+xv9)D$8;m^)9pkZez+jQrKsL6q2aXApy8a`Tt=;b58Hfq< zL0}p%j1vN81A_<(EU5gxP*5>GAS{3pkaR#G#za(JaT?_jyyunx8k_y!?me&n+$?q zNW(9UmEhiKGXac1yV(nw$~5yOH54fsmbcX4Q@*i12l_l7SAH9>XSYNoDFwST2lO4>hLtOc zsXG8~kC*@(aoKbitjBxKIr!>G2gtZ%&cf8!e6o% zCt8nKPcznajWTR+?z8DUZ7>Vw~{-div|UR zG$F#91#V?d?q6Wtqh=FH%8j$Cnv1%?d=N@{rUTWbcsSyLi>; zG9REJ;Y~D;>wp7dm7B+9!s7~QY#bi-9(7Dx-7baMXMD;h`kAc}nJ?@MGD+g7-=kr6 znoJ{zeWB#0!3TKRXI?IP8NS5iVqfV|^7_BXpO7Mppyh}e>t@&c zs~RdRW5z%*CSf*i{mM0lZvtJ@G;GdLHbHdJ3k++ml8oJhDH+ z`xJQ-25|o5WpGN_Ke-m5AEC5NFKiEzne7aj5x(b-+=k;SoVdEw4`-B%rM>FWeO&6% zu*3Y{9`!BrlM%Ke6keWH9cCA~h<#3=O0y%%&ay*lxFp(mkhk$j_!0Z2cfnO9ea2q3 z`mPF(&ic0Nku1rJsut5q?V)D&u<++dVqi0P!2Q5JZlF~kPOJAsVobjK0` zvK(3-=7owzM19yXA!brXXUM^%HYprsm&kk};Sc=I>oyP4kT9ssEH3~U#Ev-wa2Ctv zIz4wtcY%YSUVTlVlREq^$#xLpi>FbavU=`tNc)*Ab+M%ONGKc)G)F_vhN7$dvJ_>% zq4LBS&o!>+t#n_(eka!<4q3;MML*^u*;O>m%K#_l&O2Brj=~Ql6}v=tdHjrsz7ffb zL#>SlUkmMH*UV1f+AAk#l50GOWS?HLPECAoDehCV(xMuBS@oGwlT_=co8py%O5wpzd zWC8k=#4jBYPLzTtI-=ZV){!M48&emwfet$w+_-JQSzeB4Z7#e{x0}`j><79->{kAD zigwCl{eC&h{QeoJt;^BJ_X`W_+=OT>=d3bjX&}d(eU>cmf^{|B>s85 zTz48a;D`02X?CVKIc7A}@^W-ET=Sfzm`S9u@lh-(7znklVp4mAMR^wdW66@a zvdUwj4^hR#;)%Ltk#h<;i{d?+AD88mHjN;fAdTz@Rs4|~?%!(IKh4eL z8s3?P>Xw$)P*`GFJpMlZr;=ac zyrBVr3##-BsxcQ-`B>Uy2QyYSRgW*zfO}*4mdc*WAr&7E*&Q%xqi@U9o~c7BJ{D8hA5&He|d%!%Is diff --git a/osinaweb/osinacore/__pycache__/urls.cpython-312.pyc b/osinaweb/osinacore/__pycache__/urls.cpython-312.pyc index d3725d1ce27d02dbecac954609cd560452d7efbb..3ecfd94e37a604e60f4b6fae7f11ba3e69917fa9 100644 GIT binary patch delta 891 zcmZXS%TE(g7{#gFDuom!Y3Ie%LS^U!S}ZTi(8q!n6bmSbFK9qbiNsLl(dfbeOO~C? zqKykPEDT+uZdkHb7c=1|6PK*qUjGB{ce@dt#ZBh?&Ufy~%!lLWarbw(yS0fvpAvm* zzdpO=c3Iw8fAOlgvpta9-q}(cFDs?;#`EG<`fH;7hjUWBdg&)>Ip8$j6r*Pyu`@J4 znyGk>T1;24?zO`iE1WSWA7k`{I4Ssjxyk7|;44bCU+Xuh93xj$ecB_*09z?EU7@;S zNAgxAZ!TVa$JO1ZkH?bVks8Y5niIgrIlt~#U5)Lj@25*}oMW%U?EyEkj~X3e`rjMj*# z>M<|JiptF3tCekk!ty7~%sfU5#HZ@3UTF^!dj7jl0l61ssj^rtXob3n(GUrO90J)_ zbJ{}45<>O&7$r#!$U0@xm;t#I1RJ;dk{$vFT{{smK3ICVOQ(E~E&P<6t| z^mOx`^bGUz7`SH}ZolERy9cfA!4p4JnPW-!8jSvWJD9eD=~KEC^W;9A-enmdc$u|b z2H(Y9El`um3v9Pm85XrEQyx0=44{E>sl6gdE!4i>M&3E}FGAoCCR-!S delta 870 zcmZva%}*0S7{&poNeh-n=zec4R5rG&wY1O**ltUtRFRKFtRH-+L?IIShzd88a>RJB zn>}^470*2Le0m4<4`X#2>EitgLT5dspoK;7J&Pj!(e5&zl02;>}YRnjk?=Q1KXe zq3>*ib7FZE%frdr7~CNq!zu*%b&9`v+dMw#Q|z)6N}*5+j!t24jrbVqbWyaSIr=ox zr{Vk)44#rMhE7tnFILmFteLGp!gQ9O$=zj3P1G zc#c7q#0=}>FMOWi(>CWwI+FB*5C(Y?H>@8V??w+YtW;NPTjo|{41)|w8djVaJuG_I zO7guOX~Vk5%M~V!P&f2RcG^)ANJ$)QV=zfZ85#S}DK0UPWk9HEHQm(f84PriWAa41 z8|D6K1H}wjyotdrQfy~%vIS+k=%|B89XzOD;3<((yJ3CjRa#|18DqxjmhoJp?8L`W zd>md`z+jQgxGA$O7_M_pe+u=d-iI-`O6F+$wxH1ZQcy0kkQ*&uq+WCe3TU7JOUoGC zC1p2ciNU|ubeZ;k7DV^)@4HwsOHdtZ28WvuXW=(qry*kwS-cC`Nt)w}%>K diff --git a/osinaweb/osinacore/__pycache__/views.cpython-312.pyc b/osinaweb/osinacore/__pycache__/views.cpython-312.pyc index 89c46d174f47b1e16836f82d7b33504556b86e47..0cbfa7f412005d4a79b79f09479138f7aad47164 100644 GIT binary patch delta 1773 zcmYk6ZA@EL7{|}K?Y(T}mJ5SYsDOo0%H_3tC($p9A6!g~Y!h>1^n=DNi(&CCbT~^Y$^5XGs2G8f7+)5BPV39LY5#qG&-1^} zbMHAP{q{b7|3{qix!G(&aJ^Ms`s7B>D=Asn_ny;^7m#L{D!nFPq-9=0{xZ!9TCQb* zR%qFvm6{FIr9A?ANXr2|tmT3p(egl#YL9{*3nXjyOK6$(hs%FFP^IN_Tn${naSian z1TVyIsD(r!XQ%^qa9j^u#Bl?#ljBCN!Iw{3q()NYLe|_CZ-S1U#%p95=dnynbo|&J1B0wM^B@*Nc z+@}iv)#qom(GVCQ>r)M67k=XqGm=2|sHO^J2U4+=f7&JNbF|a#Jg+7bk<}z$d{j(M z{PrX|7P3wbCa*J-DN#Hd7}eta$&0Mi#Du+}DiJ4(x0$esWDg`JCFapzd{+9JTUq!G zlAmIP=H7u|5#2ZEUB0j~^tHKpv1QYeAGN3viyF1KA{N(&(wfD!ZfS~IJQ0iMcE-BJ zyXf6GVBbZ8=*KTfn@V<6$&V=cQKdMd6t7&k;a+XO*}kR}uPa?qr9Yzd-&OpZa%NP{ zi^zFV*%6T)#Vaj0tgAUUbJl$QYqI06Jg_aYcH1VDVcW13?}$c4T6FKp^ketB^ap#5 zKdHUZO0Rj+#D{?2&|97@{1;t0T_VDkqI>$i)6Zbp03rE;*(FRsx1x7^l*m&Md)zX>wP6 zj>4>|ATd)Y7#f`#4oyx6NE*u?pkrObQa*$RLBHLVVMr}x>Cf082aAg6mQNL(5EfBe z&mIlCv#Gr|ODus*^_7NRjLT?a-)K@9GnXfx|D!%xtOWMxU-tcs<^MY#O4K(8vc*E4a!10g)HnVCK1Sth+zf-^IL zvCw32hFoP0Tj|>q4Y-YdKT(L=Y4W63><8bg`nk#Lf}moWGUbFVN9Y!9=(SO)I>q2s zd-cH7Dz?PZ$L8lkL0HUGXfp*Ngb$i4qOM@4xQPmOCH?u}b)06#9r%F(37Ojh3%Bk1 IiKlJ&Z;QycZvX%Q delta 1321 zcmYk)T}%^M6ae6Rr%c5nT`@w7(t=QFs}%|=i2N)SMFnidVyF!Pff+Z2+OC%|F=n%U z(8LEHjGle+K@)w@&9WwDVtnz@pTvJn2nIDK#wX)XRg46G@El&eljh`n=bX7Sy?3s> z=1*U7` zSfjZx)@p8yYqe60>-0RW>?r$>R>dp6Ua!+uNUlehOWuI4klcXwWTe7IEUc8=h^~~} zg!W2qM*AeUp#746N3W9Hie4=_gw6z{!X_-Nk=%x^lDrvREqMz%D7hV7BY7*jR`NFV zTFKk>x{S6?Ds}w=ddWM`8zhI(4U!}1jgohw8zpz^)pc5vRM>?B&61<& z7Rf#4UzT%iFc~U@RLlpzMGGOgy#TJq+(mXHF+8dp1Db9OCX!>~1AY@X_^Ca`FtOVM z_V#X=?&!6C!m5~t?oOZj8Pf;wcjp`H7b;F-(E-Q0?CK2iiFvx~5MT6_I(I4jVBijW zRE0D4(%c#@=LNG={zl;hh3^awM*`M4$~lZjD%BjE&6<;u`-(El%nQ46IM0Rgs8jjM z;AXU`WC8X?E`}+akv0aC14d%ME*4VN2JW5#YcZzZxOt>!sbz5qm2cDHF3Q|+q1UgL zVp<9lz0-=w!sD1vU4ey~^K&uID^A4+traxt0aw@wnRuRBi42)1;%|B0ujPF6?X!JO z)sO9nd981NJLcQV>F)FR$SKuG7)f2YptirkI^T1_fqu7Ig%f+tfBKaihm(ev(EH_M z@aG9H98Qj{!%hbgbxjg@OK7h4AJ0t=xu zy@2mFz3E#VEC0Fk96=i_XcGl(oS^*?vokYB^r;h`hoQ^}$q@pQ(|% I$Q-B-0N@2un*aa+ delta 142 zcmZ23Hd9pnG%qg~0}x!}&`f*6#=!6x#DM{6DC6^vjp|#OInu?WBr1(HO*Zqed|{H} zPE1MBEy+yIPA$>D#R=p<*nXOlnMJbPAB<)AnHsr^Oo2)OfZrs~ diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-312.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-312.pyc index e4e15b8492f7a638727a8733f3616b90b410f025..493cb2fd06352d502c44995658a3317383231601 100644 GIT binary patch delta 3470 zcmbVOd2HL(8GodxgSsut5@kuY&14`+CjP?ouG(pDpx*0(aDlf zl?Mc<(*{ipZb*W*OHpJ%3cG^?4QT#rHekT8{v$>jC=luz6g#`FQ<@CBfNk%QqReh6 z2JAul^nTyu$^dx*s8-`h;2ID1hHL*eGofz*blK&hbf3%HJn2O1Zej~aH1KiTWQZl ztUhoMY8rKcA&9*?9EP}!Zqh}xK#fo5(F(C&hua{gbT~poML?%$hqzgXJ0K3~a3{ne z9qxiSti#<9x9D)sxrS&YFJmVN%$46|dSJq0d7tB~8Jo?&=A9w2m-8QoUm>yg^Yc9f zf&C@V#`-YKBfPc!Cs=bn+1F#nI`Xd$KSf}fd}(ixz%J*jBX+_m<^IQwc+w-M)xrmm4cJeq%Lb|jSBNTOOh_~`4 z-prG5yV|vwtzWKF2n0iDW8E7K>$TNpZMM``EnN{SEx zqqd{PU;~0^ZX9UTCN>71YXuw zr-jY{-oV4s;*GTb4I=B}_Gn%_pef$9jw%wi84wLjvuJ#oJh(W&lx8@Fo|Vl<*+qIe z$wdj-vB=U)j*Z7NT!LH9$ks%XOPyij@zjEBO>xY8JkFh4Vq_QcgKo*?47WJXuu+Vi zhH2SxB%EjfE6pq=SZdl}VO4onUD#A^QONd<2C|F2Z<*j-NUw z+iG1p!7*^5CN7nHk>S*Q-$uSxWQiwexPDqTKA%c6nJCWw8kq=$WQQ6;Gh8B-&b)(Z ziul6v{3*BvgxsKQN4&Ox%okN?l^JFBvTbX7GUvl^)HvMSr8JyEWv~n)8V{75@6s=5^{TNx5o%X7GTr0o$vO1IBLA%^gGbOfWaRBNwZYbKcCd_-y zIkp@5Ta`^!m;5)VI05M|^A#voz^|OGw_KZtOV0f(PgSUhL`6j^Dp7+XHF)KCd0yOsjgU!+En-V>5Moua2x z%6WQ4PjAt)P4es%Jv%oK6+K^FIb1e7Uw-L3FJ1Q)&8=mRZ`G^{n9Y8}E>XQA)q6Ws zq;{`5Dox$D&Tr0_n#NYGWpCdqS+;quj9eO#Y(dc$ygpH~bys{n8|KaN_a^U5O2cE~ z@Yua?7Ke|Nd`DNu%Yj^*6zCHJeNter7}&e|jWQLzG*NbVubjMeQgVbvNBDZGPx{{l@m!`yV&i zJl0iHl>(&eitUo^vZK;EgmR!5*$!fTKmSw~O}nU)VdV zHt6=)4&2mr*X9{%&tY-T;gV~zV419%Klkw>hL&8suf6?P;Iz;b@~UxW_8| zxWR{WPQlfoyhF|nqW*{&c!MzdM2qr9_Pfc>+LJ+W=%T8*AkV`;3$^jHM&5`5)CVJ| zInibwpR2#PnihZ!ixxNoXp+ZMSk}a$>#sEURKTZG_f*)_r$V7~m3|53k}7=`aVGm4 zBz}u-eH5?Lq3+VMzef(AAc3y;`R*?goko{^P~E3q@BSCK`84Dch5O*81FR1U*{(8B zjhWB`!}^g>x$J4wt&`anaj}0!hX3Fyv%*y}S)&ukL1=31KafB~!~PWtVSmh@YuI8C zjfwsVZQnyg@&W8XB5}05aprckEI^Py8+-~eaV2YdASG6IjVmxOe(cp1&s992tOCC^kQ94{ueZPh z@nWQ)z?$eEZBX{rjc52tmJu-i1lX_t{&M&wFpXk<0`s)^aFkKj<9fd7Q2sfv-L9uy zKb%;maEPxQyTkjAsC>uZPM)<5emt8v;GcDzQwwJcbH#LH1@VNx31($Im|7Z&s&hU()`WrUA}a>l6J@Mk!D!RVExm(@B9U)a;~_) i^a+WtC*{|CxR9Y6Ow1K-LxjO7d~YE%`i;6}bMy}&2B%yA diff --git a/osinaweb/osinacore/api/__pycache__/serializers.cpython-312.pyc b/osinaweb/osinacore/api/__pycache__/serializers.cpython-312.pyc index ae28836d3acae9f6644355c6b525daa286bac5cb..90be0ce94b6a68dd813d11dc15959483cd645831 100644 GIT binary patch delta 20 acmbQsIhT|BG%qg~0}w2=(B8;Bi3I>L$poPQ delta 20 acmbQsIhT|BG%qg~0}z~yP}|5oi3I>NYy{u{ diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-312.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-312.pyc index 4a368e6ca354509f0efd18b4ee94f7bf01bc287a..09020673776519025ca563654cef191d214a56bd 100644 GIT binary patch delta 20 acmeBT?qcRX&CAQh00c`dv^R3sGXelD_5@h~ delta 20 acmeBT?qcRX&CAQh00bu^)HZV0GXelFnFN>s diff --git a/osinaweb/osinacore/api/__pycache__/views.cpython-312.pyc b/osinaweb/osinacore/api/__pycache__/views.cpython-312.pyc index df0e24b59fac768c6edf15082e02aa2c7d34427c..c8c61c233cfb9f9bb55d517071687ff72dfbe50d 100644 GIT binary patch delta 20 acmZ3-zmA{#G%qg~0}w2=(B8mE$Oa$Wq delta 20 acmZ3-zmA{#G%qg~0}z~yP}|78m>mE%?*$?N diff --git a/osinaweb/osinacore/delete/__pycache__/urls.cpython-312.pyc b/osinaweb/osinacore/delete/__pycache__/urls.cpython-312.pyc index c05eac579efc7705b67118f0aab22c85a70e5300..0ea9b1c90cdf67c97f425bdf268207d36c0e3f9a 100644 GIT binary patch delta 20 acmZ3$vw(;DG%qg~0}w2=(B8-`$_4;2uLLpx delta 20 acmZ3$vw(;DG%qg~0}z~yP}|5Y$_4;4QUq}T diff --git a/osinaweb/osinacore/delete/__pycache__/views.cpython-312.pyc b/osinaweb/osinacore/delete/__pycache__/views.cpython-312.pyc index 0e67df95f484a4b7da2653ad327983a530045368..7fe4623e873358b68211a6e2d77faaf60b3c6bbf 100644 GIT binary patch delta 20 acmeya@m+)aG%qg~0}w2=(B8kq-bqdj*gH delta 20 acmca3dqjTHbqvITMg delta 20 acmaFJ{g9jcG%qg~0}z~yP}|6TjTHbsRRysC diff --git a/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-312.pyc index 93331823c60abeb2edfd638b2692cd2765c5b0d4..ff4e8f4e19599d6cea68f1392a31a7fd63055406 100644 GIT binary patch delta 20 acmZ3^y_}o-G%qg~0}w2=(B8;BhZO)bq6EYM delta 20 acmZ3^y_}o-G%qg~0}z~yP}|5ohZO)dMFj%@ diff --git a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-312.pyc index 0b1812dd12db349b5d6848029b3d4731c92796ba..aad2e368702a23e88043308d9437ce67f83e6c12 100644 GIT binary patch delta 19 ZcmeBX>t^FV&CAQh00c`dv=?$S0{|&|1JnQj delta 19 ZcmeBX>t^FV&CAQh00bu^)E06x0{|-D1QP%N diff --git a/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-312.pyc index 4525ce06fc98e0a18389d5cf57b673d17cf20375..51e81916f20eed4cdba80088db1b297f5e11f56c 100644 GIT binary patch delta 20 acmbQrJC&FFG%qg~0}w2=(B8=1#RdQ|8w8U8 delta 20 acmbQrJC&FFG%qg~0}z~yP}|7e#RdQ}z68<$ diff --git a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-312.pyc index 603909110b01c73031fc95b7d95844e346913366..e09f08aa4485e7e23025ae171e70b189b46f63dc 100644 GIT binary patch delta 20 acmZ3)v515FG%qg~0}w2=(B8-`&H?~2Z3Hd= delta 20 acmZ3)v515FG%qg~0}z~yP}|5Y&H?~45Cm-i diff --git a/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-312.pyc index 580bf1be8ab3ab2a9c710cb7f4b6a9ba2951f4c2..c522c6a032bac16903cbc18acb62bf7ee55301c5 100644 GIT binary patch delta 20 acmX@gc9f0#G%qg~0}w2=(B8;x#S8#8oCJ~p delta 20 acmX@gc9f0#G%qg~0}z~yP}|6D#S8#AKLpVL diff --git a/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-312.pyc index 8386ed21ea66f1eab14efc0422a3021625cbc94c..f7b3b3fb1744659fd1d19cc3c4ef10e71c9d377f 100644 GIT binary patch delta 20 acmdnWwv~gVD<&CAQh00c`dv^R3IumS)sz61II delta 20 acmeC@>gVD<&CAQh00bu^)HZUnumS)uVFWn< diff --git a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-312.pyc index 1c816fc477980660234a7b269f3445d06e753915..925d298a5726532c9b7368163ab26d534b3f9361 100644 GIT binary patch delta 20 acmZqTZsO)X&CAQh00c`dv^R2>vjPAu+5}Yq delta 20 acmZqTZsO)X&CAQh00bu^)HZULvjPAweFT&M diff --git a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-312.pyc index d5ffdd5f48f141487cf0918d80b8a88e620cb096..6ba1da89d7b451f567cefdfcd2a93aadd1bce8ca 100644 GIT binary patch delta 20 acmbQnHjRz@G%qg~0}w2=(B8<+%?to9L<9u@ delta 20 acmbQnHjRz@G%qg~0}z~yP}|7O%?toA=LAFm diff --git a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-312.pyc index ebc3a17c534995088cd42b026f9349635b65563b..9ed40f0ad742d2a239ff8bd50b1034566ec289d5 100644 GIT binary patch delta 20 acmeC+?%?J=&CAQh00c`dv^R3svH}1u$^>Ts delta 20 acmeC+?%?J=&CAQh00bu^)HZV0vH}1wZ3LzO diff --git a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-312.pyc index 2c827c8cd9089c674e4fa37afcf812822474419a..2fd1c36696dbf05609390a2ac0845294735de0ea 100644 GIT binary patch delta 20 acmcb_dWn_$G%qg~0}w2=(B8;>oCyFqe+4!G delta 20 acmcb_dWn_$G%qg~0}z~yP}|6ToCyFsA_a8- diff --git a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-312.pyc index ad3bee9f0c6ad9f51dad87435e650a33762acb1d..63150eb97ff80228e7a2b3cc3af6053a740b5467 100644 GIT binary patch delta 20 acmX@cevF;_G%qg~0}w2=(B8 delta 20 acmbQkK8KzAG%qg~0}z~yP}|5okr@Co`vlkk diff --git a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-312.pyc index fc6b341627b443407e5e8124fb8e5b5149dbdb12..2372136a9e977210b2910f4a4290ec23d4f7921b 100644 GIT binary patch delta 20 acmbQnKaHRJG%qg~0}w2=(B8=1%?wnB{iG%qg~0}w2=(B8-`%MAcDTm)kP delta 20 acmZ1>wnB{iG%qg~0}z~yP}|5Y%MAcE{{*4{ diff --git a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-312.pyc index 7640ad7f5a00ae3783a56790b485a24eaebe2c6b..656308b12d93c6f8f15bb408e1deb3a55e838ced 100644 GIT binary patch delta 20 acmX@lcAkyn=~jRXn+ delta 20 acmbQnF^z-!G%qg~0}z~yP}|7O%>n>1Fa${e diff --git a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-312.pyc index aaa8a06fc9b9c917bd283b8ae2ce0da7edb0784a..bb43ad25a45f22e762d77eb3b61e123ccef733af 100644 GIT binary patch delta 20 acmZ3*x{8(iG%qg~0}w2=(B8;Bp9ugnKLox2 delta 20 acmZ3*x{8(iG%qg~0}z~yP}|5op9ugo;spHw diff --git a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-312.pyc index 01ddb551fc5877d21b00012734e0ac0c475d6559..8dd1280d6a1b8c6e4e14be880b0224529bc24300 100644 GIT binary patch delta 20 acmbQvHl2<8G%qg~0}w2=(B8<+!wdi~Yy=1Z delta 20 acmbQvHl2<8G%qg~0}z~yP}|7O!wdj14+KX5 diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-312.pyc index b1a7f66b051d5ee41cfd3613bd1eea7953dc08b8..72b7f71ca281bdf836f94c9fdbf140ae2ff3c2e9 100644 GIT binary patch delta 20 acmbQvKAoNWG%qg~0}w2=(B8=1!wdj0kOYbV delta 20 acmbQvKAoNWG%qg~0}z~yP}|7e!wdj2GX%*1 diff --git a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-312.pyc index 29ec49a2ea346a52bb353a94e7659730dfa3ead3..03a81f0719073243831b20fde2a33a2ac6d05fbe 100644 GIT binary patch delta 20 acmbQsHkXb2G%qg~0}w2=(B8-`#0&s1Tm%{b delta 20 acmbQsHkXb2G%qg~0}z~yP}|5Y#0&s2{{&e8 diff --git a/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-312.pyc index 3fc26a9e95605d3d4f86c91fee4d01dd2e61cbad..acc0b00b81548eb95b3ce0081a880751ffeab4d4 100644 GIT binary patch delta 20 acmbQrJ(ZjLG%qg~0}w2=(B8=1#R>p0(gcnG delta 20 acmbQrJ(ZjLG%qg~0}z~yP}|7e#R>p2bp*`- diff --git a/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-312.pyc index 105191640744fe861d26ca7bc66854b51b74cd0d..4d35f01f0650995f622f27e9255243d309d315f1 100644 GIT binary patch delta 20 acmX@id6<*?G%qg~0}w2=(B8*%*(hXoY? diff --git a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-312.pyc index a46c7f10efa4129e280e89db7279e9601d433d30..1bf540ca7566067af899f9b69c929dc41ccca2f6 100644 GIT binary patch delta 20 acmbQoF^_}$G%qg~0}w2=(B8-`%mM%~%>*I< delta 20 acmbQoF^_}$G%qg~0}z~yP}|5Y%mM&1a0Foh diff --git a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-312.pyc index 05d81617aa24bd587ba4e4ec25ed7e4753187872..bfff30d7c952dcf4d0532dac3ac5e698c2f58b77 100644 GIT binary patch delta 20 acmdnXwwI0jG%qg~0}w2=(B8;x#0&s6Tm*Um delta 20 acmdnXwwI0jG%qg~0}z~yP}|6D#0&s7{{*=J diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-312.pyc index e1b2b7d97de9b646c13d20c50c5b86120d4c7b23..fd9660211f08308413ca738d0b086f2c3da208ba 100644 GIT binary patch delta 20 acmdnZy_=i+G%qg~0}w2=(B8% delta 20 acmey({+pfqG%qg~0}z~yP}|7;ff)cn(*^Ya diff --git a/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-312.pyc index fb95c57ea23c02e2f41fc17d8d23ecef02e4f087..2fe665ce3f3bdb4aea0c7f2116e52ef8614789ee 100644 GIT binary patch delta 20 acmey){+*rsG%qg~0}w2=(B8=Xh8X}qkOis$ delta 20 acmey){+*rsG%qg~0}z~yP}|7;h8X}sGX?1Y diff --git a/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-312.pyc index 7ec78f68e9e200311bee5af6a8aa92775c7d202d..106852b0a5968239d0a06decd4aad65cc456755c 100644 GIT binary patch delta 20 acmbQiK7*b6G%qg~0}w2=(B8=1%M1W8xCD&= delta 20 acmbQiK7*b6G%qg~0}z~yP}|7e%M1WATLjDi diff --git a/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-312.pyc index d89fc613a9334762da66c4f8f32fffb8d9772642..77a900174014c27dbc3c3c337426350dd9857ce6 100644 GIT binary patch delta 20 acmdnQv5ABGG%qg~0}w2=(B8n;8H+=mmEG delta 20 acmaFH{*0abG%qg~0}z~yP}|6Tn;8H;iv_j- diff --git a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-312.pyc index 88301cb6d6b10d074f9d1778c62f51e8fd720e71..be6ece7153cd1347ca0da85f75c0bc058ddd35e7 100644 GIT binary patch delta 20 acmeC=>g3`+&CAQh00c`dv^R49V*vm!%>?HF delta 20 acmeC=>g3`+&CAQh00bu^)HZVeV*vm$a0Mm+ diff --git a/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-312.pyc index a2b795287085c8c6f5e94449a102accb29512b39..c4ff3cc8ec2eeab0a28e0d5e23ca26fba3bd5d55 100644 GIT binary patch delta 20 acmbQoK98OIG%qg~0}w2=(B8;BnHc~vs05z? delta 20 acmbQoK98OIG%qg~0}z~yP}|5onHc~xO9b8k diff --git a/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-312.pyc index 2e2dc17c48a7865faef012410eb6d17d5a3fcff9..58be80ffef2e6c3610ddc068b493a705964cd9fc 100644 GIT binary patch delta 20 acmbQqK9imMG%qg~0}w2=(B8=1#|!{4-~^BW delta 20 acmbQqK9imMG%qg~0}z~yP}|7e#|!{6g9Oh2 diff --git a/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-312.pyc index 71bbb8d37d548308144ba3e1de6648b22ede9d2e..beaf98d3e615f337581c0abcd6ef29866b925282 100644 GIT binary patch delta 20 acmZ3+wv3JYG%qg~0}w2=(B8-`%?toB!~`_} delta 20 acmZ3+wv3JYG%qg~0}z~yP}|5Y%?toDX9RQr diff --git a/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-312.pyc index 13b25eb60046cf986366eb088aef96ff79a59b75..9504c9224af66dfa381cc3a25355379fde38717f 100644 GIT binary patch delta 20 acmcb}agl@jG%qg~0}w2=(B8=H#sUC1#RR(m delta 20 acmcb}agl@jG%qg~0}z~yP}|7u#sUC3XaxEI diff --git a/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-312.pyc index bc737e2f795a8e8db3b0a823ad70bb878b91c16e..4db285ef75d4eebd65171cae32467cc352d18cb8 100644 GIT binary patch delta 20 acmeBR?_lRX&CAQh00c`dv^R3sG6MiEI0Rh) delta 20 acmeBR?_lRX&CAQh00bu^)HZV0G6MiF+XS2d diff --git a/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-312.pyc index e924db0fddfc50920794e99b891775a275964fd1..017d0ddb6082512e296879842d0141a09e1fd2ac 100644 GIT binary patch delta 20 acmbQmF^hxyG%qg~0}w2=(B8<+&jJ82Ed&+- delta 20 acmbQmF^hxyG%qg~0}z~yP}|7O&jJ83&;(Tg diff --git a/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-312.pyc index 841219ee36a1e6dd3d8286670fd6c8ae714df87c..a91758a9c2e509e21a99bb71303409edd866134e 100644 GIT binary patch delta 20 acmZ3+wv3JYG%qg~0}w2=(B8-`%?toB!~`_} delta 20 acmZ3+wv3JYG%qg~0}z~yP}|5Y%?toDX9RQr diff --git a/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-312.pyc index c6a79dabb0e6bce6f2508e9417f665f87a4d48e0..4ded6d2566c56cf280122f636f5f039a07799bd3 100644 GIT binary patch delta 20 acmbQwKA)ZYG%qg~0}w2=(B8;Bg&6=b&;+6Y delta 20 acmbQwKA)ZYG%qg~0}z~yP}|5og&6=da|Gc4 diff --git a/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-312.pyc index f920d7cf3cf14fdf82ebf8bfd895691b9c4f815b..058b072c4b1185a955acc5706e761e05e288b60e 100644 GIT binary patch delta 20 acmbQoGmnS+G%qg~0}w2=(B8-`%mx54Uj!@w delta 20 acmbQoGmnS+G%qg~0}z~yP}|5Y%mx560t9OS diff --git a/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-312.pyc index 10ff89d581236bce0f88dec46fd108ef83c80ca6..535575dd85536ca2b7aadf1b582b1e2f6aab48e6 100644 GIT binary patch delta 20 acmZo=Yh~j;&CAQh00c`dv^R49Vgdjzn*`AS delta 20 acmZo=Yh~j;&CAQh00bu^)HZVeVgdj#J_Qf} diff --git a/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-312.pyc index 2e08011a29eda0518ff0fe4139412684950996fe..f019ea8b2f08b65159dca0d91fe266d1eb4cf59d 100644 GIT binary patch delta 20 acmdnPvxkTKG%qg~0}w2=(B8;x$OZs54+Mq) delta 20 acmdnPvxkTKG%qg~0}z~yP}|6D$OZs6vINBd diff --git a/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-312.pyc index cb77b63194a74880d4f835553c596e5a77807149..9a255d7563d844d334acf6aea59f7c5491a0d7cb 100644 GIT binary patch delta 20 acmeBW?`7vc&CAQh00c`dv^R1$F#`ZE00e9R delta 20 acmeBW?`7vc&CAQh00bu^)HZTAF#`ZFqXeq} diff --git a/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-312.pyc index 5cdd107d47b18ee998d95bb170be485bcb36f468..29fa38c1db8c125f146a6742337d6862b351df45 100644 GIT binary patch delta 20 acmeC>?B(P>&CAQh00c`dv^R1$u>b%sNd$2K delta 20 acmeC>?B(P>&CAQh00bu^)HZTAu>b%t>;$j? diff --git a/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-312.pyc index 7c2f8365aed3c1a7eeab3c341a02d9a9a6a46371..eebe76d3a89f4fee30f31ff8560aa397b224a83d 100644 GIT binary patch delta 20 acmcb>c7cuiG%qg~0}w2=(B8=H$_xNFR0OjC delta 20 acmcb>c7cuiG%qg~0}z~yP}|7u$_xNG_XP3) diff --git a/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-312.pyc index 2ee272e5c7ebe22619911ca4f7489f04b31bccf2..8c248dd72378d53c39968c0596a45be153959c9b 100644 GIT binary patch delta 20 acmbQsF_(k;G%qg~0}w2=(B8-`!~y^?r34=U delta 20 acmbQsF_(k;G%qg~0}z~yP}|5Y!~y^^NCaL0 diff --git a/osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-312.pyc index 984a9b96d2418e0f6fd6cff53677fda48507aa6c..1de88779fa0f2669c1f01edf7438018acec553d1 100644 GIT binary patch delta 20 acmbQmIg69~G%qg~0}w2=(B8=1&jJ83Q3RL( delta 20 acmbQmIg69~G%qg~0}z~yP}|7e&jJ84^aR%c diff --git a/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e77ae633738be5d5bcf5873bbe3d294e8769aa7f GIT binary patch literal 1755 zcmcIkL2nyH6rNq%8++}fw(G_p!m>ZIRPh-xOk;VYYi79PQ6)55K>Rf?0OSd4M)b(^LuY*-}~Ns z-^}mR(=uS|yPNMc-;DzB7dOHc8!N|aOnC|rK!O3#O6j9tioeu0ti4uMJkY(npDQaRr zc_;>!pF11qlMz=u=?!$A8z)Y zgR=jP?|(pdv7ZYuouShrwRG>2GD{P8Ljo{1BrIDu)rLhdy;&~5UxBLOU;^u1=Ek-S z4NJ4ez7DZkxZyN)14Cb^CW3ALrM!weDskG_bf~DK?KLW{uPRZRQoD`?8w9HkMl{(W zdRrwu_!#$S!p1~b4SgTe)Gj7<%f`@D+n7eVe1TXO6@hV8{Sq43)SO3(NH|%j)YP$o zY?`tiwb^8tI21bLTd>2b;mqF8pO#e&&W$%1s94=l&BrWH*DzT5CS*4NJD7@&r9@ap zej|J+LB5!uk50c5hRW!);{DuNt~0L^A$bOuaN>~y6Prqg#-Se=LMlVnIn-sHgfs== z7hTohb#sfwz$U_GL&rAZH<%`G`5nB=kr94_XzCMPTVcIjn~(hi%J zUE)1#SnblP)#&nB+oes_QH>toFx4ADijs-hZU1`x7m z%(ThT!dE8?L(&yHJt8r5zL;W)&A~naBMBt7gi%DyNndS@WRSS}jqJr2-1x#UGyiAi z(jdQlumR| z33)UF5(_-qyc?e%=HD7--W+BZ53YOJMK`W*98@v0Bq>O-%p zxm9fh*z>(6o&a$1ws&cz`t)4#+m>C literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a1c719488d0dd8c5ad88bce43f41b36889083c21 GIT binary patch literal 2358 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 LJpK?6#@*vD4|#ys literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51d57b7407a6a7a07b1391b596c28bd045d4f5d4 GIT binary patch literal 927 zcmY*X&rj4q6n-=9mTdvW)yP4Rgcy@Xq=*MS7!uS-B1k;w!8N9tof*1a+vz%;2KJ^2 z2anwN3p^P4PrS$p(yJ$Kn}9Ll!6Zs!Lb$h)5QT$j9f?Yg}+il32hvks>!(4G}k$q5}l zS=Q#2ZFYD@qR5$n)PIVH_ zcY@bBmwBLNQ#4D1rx`7b6nU^o6iIp}A;?|UAtK5G!M7_uq!r%gtwE6yJ-B!yftLS% zNX#@tp~JtbE_Qp;yt~R6kiXMr7y1sk>!@$xYtF}wz6b8j&)!je_OL#CJUw@OW#+gs zzjynnF@M;Y|FO{O18}sCwOiOQ_6>e(TnlgEGk~iRJ{z-LuWvaG=hJgJGy31AZO8ILr(l@YGmZqro3dMy&LbC{&_|vNR8REx^A- zd$f842va6uYDgBcsc8UOv%1LtLx9ptQ(8XfDw4wHeL%8(LAzt`fR*o-}6esp~}Pu|j^6 drpjcDUD&|3&+Q?zzj`NYJI8A~7eJ(r{tLJd$vgl6 literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..48b62f403e944d608e9e2a70c39cdd6270d22c17 GIT binary patch literal 1334 zcma)5J#Q015Z%4AFL!4<*a!)sKtcp4Iw5i?Kp+H2ND&}JQbeS2v)bGa#^FB9-I>T8 zNGYJB;}=k%yH7m4-t-pyA~LFlIh zC#zZ*2ls{X1u?{Mh$7s^7#Zj(V#YRNCg4qR?(EtzHPbc*6|eeB0uOUH>UL6^cat~^ zPM@e1;DBM72v8d{)HWFI;I?TXsBEetPai=dJu`PJJBDWeqpD7zve+c5DP~U)YwDl6 z>VH=*5p#Ck9dTQ^RPAM&+60>V1e(TJ({b8UgK6&^cUDe%;ThaXvTjU+Bn7^>v~>42 zNg<{Y5JpoVlrdl=?*?xm@AnwZB`-F`^QLytJg33y2;!Vunh{~$C}9v18H!ib-q1dx zQ=oyI3SQT^@Y*`_#(-NdRdx@ja#VOz!^h*C)0$cP6G-EARqm>1bDO9#2;nXv zqO5)h!mbnYwogNKSAiJxAZ8E;UC2^7!MwHxQSuI+bRlHCwhSTUup%$T-J}P_EPq1> zvW>@|{Phgd%omTD2T9~FCqZAnNanB7oQ4DGi0Li1N#jo9$FQYv0hPT48(Jh=;g5fd zFPd^kG)2}@bYlGA1wm-c#LZGz>(XJ>blj1BmcLrYFAQ6y{EcC2rc5vRviO2D4Utq-HZG=ht&E&6Bj+^v zaQ?jY;dy%b0;to!0q(Fv6#xJL literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-312.pyc b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-312.pyc index 20f193d4d9bbf4bbfe025b5b8c24c520a2b676bc..6460f31f7e8eebf689d640fc31fa0370ff01cf0f 100644 GIT binary patch delta 19 ZcmX@cc#M(zG%qg~0}w2=(4NS>8vrq-1n2+& delta 19 ZcmX@cc#M(zG%qg~0}z~yP@BlT8vrv21t$Oi diff --git a/osinaweb/osinacore/templates/customer_index.html b/osinaweb/osinacore/templates/customer_index.html index 37e95950..d6d0bccb 100644 --- a/osinaweb/osinacore/templates/customer_index.html +++ b/osinaweb/osinacore/templates/customer_index.html @@ -7,37 +7,38 @@

Subscriptions

-
+
{% for subscription in active_subscriptions %} {% if subscription.item.item_type.name == 'OSIMENU' %} -
-
+
+
{% if subscription.item.item_type.name == 'OSIMENU' %} - + {% endif %} - -
-
-
-

Expires: {{subscription.end_at}} -

+ + +
+

Osimenu Basic

+
+

Expires: {{subscription.end_at}} +

+
+ {% elif subscription.item.item_type.name == 'OSICARD' %} -
+
-
-
-

Expires: {{subscription.end_at}} -

-
+
+

Expires: {{subscription.end_at}} +

@@ -114,13 +115,13 @@

Ositcom Ltd

- - -

{{ticket.unread_updates_count}}

- + +
+
+

{{ticket.unread_updates_count}}

+
+
- - {% endfor %} diff --git a/osinaweb/osinacore/templates/customer_main.html b/osinaweb/osinacore/templates/customer_main.html index 9d50451a..99373569 100644 --- a/osinaweb/osinacore/templates/customer_main.html +++ b/osinaweb/osinacore/templates/customer_main.html @@ -416,7 +416,7 @@

Invoices

- +
diff --git a/osinaweb/osinacore/templates/main.html b/osinaweb/osinacore/templates/main.html index 9097fdc6..9555930b 100644 --- a/osinaweb/osinacore/templates/main.html +++ b/osinaweb/osinacore/templates/main.html @@ -9,7 +9,7 @@ {% block title %} Osina {% endblock %} - + @@ -189,12 +189,9 @@ class="w-full bg-transparent border border-white border-opacity-10 py-2 px-3 text-white outline-none rounded-md" placeholder="Search...">
- - + + -
@@ -208,13 +205,9 @@