From 7dbffeb7d9c8316188feb8648f8e368d1f6896ab Mon Sep 17 00:00:00 2001 From: emile Date: Thu, 9 May 2024 16:23:57 +0300 Subject: [PATCH] New changes. --- .../__pycache__/__init__.cpython-310.pyc | Bin 194 -> 194 bytes .../__pycache__/admin.cpython-310.pyc | Bin 400 -> 400 bytes .../__pycache__/apps.cpython-310.pyc | Bin 483 -> 483 bytes .../__pycache__/models.cpython-310.pyc | Bin 1941 -> 1941 bytes .../__pycache__/0001_initial.cpython-310.pyc | Bin 700 -> 700 bytes .../0002_country_addressbook.cpython-310.pyc | Bin 1161 -> 1161 bytes .../__pycache__/0003_contact.cpython-310.pyc | Bin 1005 -> 1005 bytes .../0004_socialmedia.cpython-310.pyc | Bin 925 -> 925 bytes ...05_socialmedia_addressbook.cpython-310.pyc | Bin 764 -> 764 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 205 -> 205 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 190 -> 190 bytes .../billing/__pycache__/admin.cpython-310.pyc | Bin 472 -> 472 bytes .../billing/__pycache__/apps.cpython-310.pyc | Bin 471 -> 471 bytes .../__pycache__/models.cpython-310.pyc | Bin 5638 -> 5637 bytes .../billing/__pycache__/urls.cpython-310.pyc | Bin 650 -> 758 bytes .../billing/__pycache__/views.cpython-310.pyc | Bin 1876 -> 2211 bytes .../add/__pycache__/urls.cpython-310.pyc | Bin 630 -> 822 bytes .../add/__pycache__/views.cpython-310.pyc | Bin 4305 -> 5440 bytes osinaweb/billing/add/urls.py | 1 + osinaweb/billing/add/views.py | 46 ++++ .../delete/__pycache__/urls.cpython-310.pyc | Bin 385 -> 385 bytes .../delete/__pycache__/views.cpython-310.pyc | Bin 667 -> 667 bytes .../edit/__pycache__/urls.cpython-310.pyc | Bin 0 -> 341 bytes .../edit/__pycache__/views.cpython-310.pyc | Bin 0 -> 570 bytes ...e_orderpayment_order_orderpayment_order.py | 23 ++ .../__pycache__/0001_initial.cpython-310.pyc | Bin 1328 -> 1328 bytes ...vice_cancelled_at_and_more.cpython-310.pyc | Bin 824 -> 824 bytes ...003_payment_servicepayment.cpython-310.pyc | Bin 1169 -> 1169 bytes ...rename_payment_paymenttype.cpython-310.pyc | Bin 592 -> 592 bytes ...05_service_recurring_cycle.cpython-310.pyc | Bin 779 -> 779 bytes ...ervice_created_at_and_more.cpython-310.pyc | Bin 788 -> 788 bytes ...er_service_recurring_cycle.cpython-310.pyc | Bin 830 -> 830 bytes .../0008_alter_service_type.cpython-310.pyc | Bin 829 -> 829 bytes ...cepayment_service_and_more.cpython-310.pyc | Bin 1172 -> 1172 bytes .../0010_charge_amount.cpython-310.pyc | Bin 712 -> 712 bytes .../__pycache__/0011_invoice.cpython-310.pyc | Bin 905 -> 905 bytes ...nt_charge_receipt_and_more.cpython-310.pyc | Bin 1040 -> 1040 bytes ...alter_invoice_date_created.cpython-310.pyc | Bin 661 -> 661 bytes ...014_servicepayment_comment.cpython-310.pyc | Bin 660 -> 660 bytes .../__pycache__/0015_order.cpython-310.pyc | Bin 1111 -> 1111 bytes .../0016_alter_order_status.cpython-310.pyc | Bin 725 -> 725 bytes .../0017_service_order.cpython-310.pyc | Bin 751 -> 751 bytes .../0018_alter_order_status.cpython-310.pyc | Bin 733 -> 733 bytes ..._service_customer_and_more.cpython-310.pyc | Bin 2358 -> 2358 bytes .../0020_orderitem.cpython-310.pyc | Bin 904 -> 904 bytes ...m_recurring_cycle_and_more.cpython-310.pyc | Bin 837 -> 837 bytes ...e_item_created_at_and_more.cpython-310.pyc | Bin 843 -> 843 bytes ...em_project_alter_item_type.cpython-310.pyc | Bin 941 -> 941 bytes .../0024_remove_item_active.cpython-310.pyc | Bin 586 -> 586 bytes ...item_project_item_customer.cpython-310.pyc | Bin 888 -> 888 bytes ...tem_type_remove_order_paid.cpython-310.pyc | Bin 697 -> 697 bytes .../0027_item_type.cpython-310.pyc | Bin 709 -> 709 bytes ...0028_remove_order_due_date.cpython-310.pyc | Bin 567 -> 567 bytes .../0029_invoice_pdf.cpython-310.pyc | Bin 648 -> 648 bytes .../0030_alter_invoice_order.cpython-310.pyc | Bin 746 -> 746 bytes ...ter_invoice_invoice_number.cpython-310.pyc | Bin 671 -> 671 bytes .../0032_order_business.cpython-310.pyc | Bin 820 -> 820 bytes .../0033_alter_order_status.cpython-310.pyc | Bin 750 -> 750 bytes .../0034_alter_invoice_pdf.cpython-310.pyc | Bin 669 -> 669 bytes .../0035_alter_invoice_pdf.cpython-310.pyc | Bin 652 -> 652 bytes ...ter_invoice_invoice_number.cpython-310.pyc | Bin 678 -> 678 bytes .../0037_recurringcycle_item.cpython-310.pyc | Bin 762 -> 762 bytes .../0038_alter_invoice_pdf.cpython-310.pyc | Bin 669 -> 669 bytes ...recurringcycle_cycle_price.cpython-310.pyc | Bin 651 -> 651 bytes ..._orderitem_end_at_and_more.cpython-310.pyc | Bin 758 -> 758 bytes .../0041_orderitem_active.cpython-310.pyc | Bin 667 -> 667 bytes .../0042_order_due_date.cpython-310.pyc | Bin 634 -> 634 bytes .../0043_alter_invoice_pdf.cpython-310.pyc | Bin 667 -> 667 bytes ...044_alter_orderitem_active.cpython-310.pyc | Bin 650 -> 650 bytes ...ter_orderpayment_date_paid.cpython-310.pyc | Bin 740 -> 740 bytes ...t_order_orderpayment_order.cpython-310.pyc | Bin 0 -> 855 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 201 -> 201 bytes osinaweb/billing/models.py | 2 +- .../details_templates/order-details.html | 113 +++++----- .../details_templates/payment-details.html | 202 ++++++++++++++++++ osinaweb/billing/urls.py | 1 + osinaweb/billing/views.py | 14 ++ .../__pycache__/__init__.cpython-310.pyc | Bin 195 -> 195 bytes .../__pycache__/admin.cpython-310.pyc | Bin 452 -> 452 bytes .../__pycache__/apps.cpython-310.pyc | Bin 486 -> 486 bytes .../custom_context.cpython-310.pyc | Bin 1589 -> 1589 bytes .../__pycache__/decorators.cpython-310.pyc | Bin 965 -> 965 bytes .../__pycache__/models.cpython-310.pyc | Bin 3156 -> 3156 bytes .../__pycache__/urls.cpython-310.pyc | Bin 1887 -> 1887 bytes .../__pycache__/views.cpython-310.pyc | Bin 12822 -> 12822 bytes .../__pycache__/0001_initial.cpython-310.pyc | Bin 1969 -> 1969 bytes ...02_alter_ticket_department.cpython-310.pyc | Bin 836 -> 836 bytes ...mer_ticket_status_and_more.cpython-310.pyc | Bin 1114 -> 1114 bytes ...ket_ticket_number_and_more.cpython-310.pyc | Bin 929 -> 929 bytes .../0005_ticketstatusupdate.cpython-310.pyc | Bin 1204 -> 1204 bytes .../0006_ticketupdate_read.cpython-310.pyc | Bin 658 -> 658 bytes ...ead_ticketupdatereadstatus.cpython-310.pyc | Bin 1153 -> 1153 bytes ...pdatereadstatus_ticketread.cpython-310.pyc | Bin 755 -> 755 bytes ...er_ticketattachment_ticket.cpython-310.pyc | Bin 816 -> 816 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 206 -> 206 bytes osinaweb/db.sqlite3 | Bin 1204224 -> 1204224 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 192 -> 192 bytes .../__pycache__/admin.cpython-310.pyc | Bin 1906 -> 1906 bytes .../__pycache__/apps.cpython-310.pyc | Bin 477 -> 477 bytes .../custom_context.cpython-310.pyc | Bin 3028 -> 3028 bytes .../__pycache__/decorators.cpython-310.pyc | Bin 948 -> 948 bytes .../__pycache__/forms.cpython-310.pyc | Bin 1075 -> 1075 bytes .../__pycache__/models.cpython-310.pyc | Bin 12921 -> 12921 bytes .../__pycache__/urls.cpython-310.pyc | Bin 3985 -> 4045 bytes .../__pycache__/views.cpython-310.pyc | Bin 18147 -> 18293 bytes .../add/__pycache__/urls.cpython-310.pyc | Bin 1900 -> 1947 bytes .../add/__pycache__/views.cpython-310.pyc | Bin 13195 -> 13363 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 1019 -> 1019 bytes .../api/__pycache__/urls.cpython-310.pyc | Bin 345 -> 345 bytes .../api/__pycache__/views.cpython-310.pyc | Bin 1177 -> 1177 bytes .../delete/__pycache__/urls.cpython-310.pyc | Bin 1147 -> 1302 bytes .../delete/__pycache__/views.cpython-310.pyc | Bin 3250 -> 3611 bytes .../edit/__pycache__/urls.cpython-310.pyc | Bin 1875 -> 1951 bytes .../edit/__pycache__/views.cpython-310.pyc | Bin 11452 -> 11607 bytes .../__pycache__/0001_initial.cpython-310.pyc | Bin 2058 -> 2058 bytes ...ions_staffprofile_and_more.cpython-310.pyc | Bin 2180 -> 2180 bytes .../0003_milestone.cpython-310.pyc | Bin 1028 -> 1028 bytes .../__pycache__/0004_epic.cpython-310.pyc | Bin 971 -> 971 bytes .../0005_staffprofile_image.cpython-310.pyc | Bin 641 -> 641 bytes .../__pycache__/0006_note.cpython-310.pyc | Bin 1129 -> 1129 bytes ...ct_id_alter_project_status.cpython-310.pyc | Bin 824 -> 824 bytes ...8_alter_project_project_id.cpython-310.pyc | Bin 696 -> 696 bytes ...9_alter_project_project_id.cpython-310.pyc | Bin 681 -> 681 bytes .../0010_remove_note_date.cpython-310.pyc | Bin 576 -> 576 bytes ...r_alter_note_text_and_more.cpython-310.pyc | Bin 1187 -> 1187 bytes .../0012_projectrequirement.cpython-310.pyc | Bin 950 -> 950 bytes .../0013_projectfile.cpython-310.pyc | Bin 976 -> 976 bytes ...014_alter_projectfile_file.cpython-310.pyc | Bin 652 -> 652 bytes .../0015_projectcredentials.cpython-310.pyc | Bin 980 -> 980 bytes ...dentials_projectcredential.cpython-310.pyc | Bin 626 -> 626 bytes ...e_alter_project_start_date.cpython-310.pyc | Bin 747 -> 747 bytes .../0018_epic_status.cpython-310.pyc | Bin 716 -> 716 bytes ...date_alter_epic_start_date.cpython-310.pyc | Bin 706 -> 706 bytes .../__pycache__/0020_task.cpython-310.pyc | Bin 1203 -> 1203 bytes ...rprofile_business_and_more.cpython-310.pyc | Bin 1552 -> 1552 bytes ...ustomerprofile_customer_id.cpython-310.pyc | Bin 706 -> 706 bytes .../0023_task_assigned_to.cpython-310.pyc | Bin 769 -> 769 bytes .../0024_task_task_id.cpython-310.pyc | Bin 653 -> 653 bytes .../__pycache__/0025_status.cpython-310.pyc | Bin 1035 -> 1035 bytes ...e_status_user_status_staff.cpython-310.pyc | Bin 838 -> 838 bytes .../0027_alter_status_staff.cpython-310.pyc | Bin 798 -> 798 bytes ...8_remove_projecttype_color.cpython-310.pyc | Bin 586 -> 586 bytes .../0029_alter_reference_date.cpython-310.pyc | Bin 655 -> 655 bytes .../__pycache__/0030_tag.cpython-310.pyc | Bin 721 -> 721 bytes ...1_alter_staffprofile_image.cpython-310.pyc | Bin 657 -> 657 bytes .../__pycache__/0032_point.cpython-310.pyc | Bin 1015 -> 1015 bytes ...nt_date_workingon_and_more.cpython-310.pyc | Bin 829 -> 829 bytes ...nt_date_completed_and_more.cpython-310.pyc | Bin 876 -> 876 bytes .../0035_business_business_id.cpython-310.pyc | Bin 688 -> 688 bytes ...lter_staffprofile_position.cpython-310.pyc | Bin 878 -> 878 bytes ...move_staffprofile_position.cpython-310.pyc | Bin 617 -> 617 bytes ...taffprofile_staff_position.cpython-310.pyc | Bin 793 -> 793 bytes ...taffprofile_staff_position.cpython-310.pyc | Bin 809 -> 809 bytes ...0040_staffprofile_staff_id.cpython-310.pyc | Bin 688 -> 688 bytes .../0041_dailyreport.cpython-310.pyc | Bin 1012 -> 1012 bytes ...omerprofile_email_and_more.cpython-310.pyc | Bin 783 -> 783 bytes .../0043_businesstype.cpython-310.pyc | Bin 756 -> 756 bytes ...ove_business_business_type.cpython-310.pyc | Bin 590 -> 590 bytes .../0045_business_type.cpython-310.pyc | Bin 774 -> 774 bytes .../0046_task_requirement.cpython-310.pyc | Bin 770 -> 770 bytes .../0047_task_status_date.cpython-310.pyc | Bin 713 -> 713 bytes ...r_customerprofile_business.cpython-310.pyc | Bin 822 -> 822 bytes ...r_customerprofile_business.cpython-310.pyc | Bin 801 -> 801 bytes ...by_projectrequirement_date.cpython-310.pyc | Bin 965 -> 965 bytes ...051_alter_task_requirement.cpython-310.pyc | Bin 808 -> 808 bytes .../0052_note_project.cpython-310.pyc | Bin 760 -> 760 bytes .../0053_pointactivity.cpython-310.pyc | Bin 903 -> 903 bytes ...nt_date_completed_and_more.cpython-310.pyc | Bin 704 -> 704 bytes .../0055_alter_point_status.cpython-310.pyc | Bin 763 -> 763 bytes ...ter_pointactivity_end_time.cpython-310.pyc | Bin 668 -> 668 bytes ...otal_time_minutes_and_more.cpython-310.pyc | Bin 805 -> 805 bytes ..._total_time_hours_and_more.cpython-310.pyc | Bin 723 -> 723 bytes ...059_alter_task_requirement.cpython-310.pyc | Bin 804 -> 804 bytes ...0_pointactivity_total_time.cpython-310.pyc | Bin 668 -> 668 bytes ...date_alter_task_start_date.cpython-310.pyc | Bin 709 -> 709 bytes .../0062_connection.cpython-310.pyc | Bin 1078 -> 1078 bytes ...0063_alter_connection_date.cpython-310.pyc | Bin 637 -> 637 bytes .../__pycache__/0064_reaction.cpython-310.pyc | Bin 1022 -> 1022 bytes ...ter_customerprofile_status.cpython-310.pyc | Bin 750 -> 750 bytes ...business_business_customer.cpython-310.pyc | Bin 878 -> 878 bytes ..._customerprofile_confirmed.cpython-310.pyc | Bin 707 -> 707 bytes ...profile_confirmed_and_more.cpython-310.pyc | Bin 852 -> 852 bytes ..._projectfile_file_and_more.cpython-310.pyc | Bin 868 -> 868 bytes ...le_staff_position_and_more.cpython-310.pyc | Bin 1184 -> 1184 bytes ...jecttype_department_ticket.cpython-310.pyc | Bin 1403 -> 1403 bytes ...treaction_ticketattachment.cpython-310.pyc | Bin 1429 -> 1429 bytes ...073_alter_ticket_regarding.cpython-310.pyc | Bin 759 -> 759 bytes ...ed_ticketupdate_date_added.cpython-310.pyc | Bin 643 -> 643 bytes ...attachment_ticket_and_more.cpython-310.pyc | Bin 905 -> 905 bytes .../0076_alter_reference_date.cpython-310.pyc | Bin 647 -> 647 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 203 -> 203 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 191 -> 191 bytes .../__pycache__/settings.cpython-310.pyc | Bin 3013 -> 3013 bytes .../osinaweb/__pycache__/urls.cpython-310.pyc | Bin 1240 -> 1240 bytes .../osinaweb/__pycache__/wsgi.cpython-310.pyc | Bin 596 -> 596 bytes .../invoice_024-1426_KZl00TC.pdf | Bin 0 -> 38904 bytes 196 files changed, 351 insertions(+), 51 deletions(-) create mode 100644 osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc create mode 100644 osinaweb/billing/edit/__pycache__/views.cpython-310.pyc create mode 100644 osinaweb/billing/migrations/0046_remove_orderpayment_order_orderpayment_order.py create mode 100644 osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc create mode 100644 osinaweb/billing/templates/details_templates/payment-details.html create mode 100644 osinaweb/static/images/generated_invoices/invoice_024-1426_KZl00TC.pdf diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc index 3df8ec33292bf3bf9823c49c6f1e36a82c7eb68a..faaaa519531ad0e210ba8d4499bc9456c8b001be 100644 GIT binary patch delta 19 ZcmX@ac!-fZpO=@50SG2-v6;xd9RMyz1o{8~ delta 19 ZcmX@ac!-fZpO=@50SMgp=}+X|4gf5J1gro6 diff --git a/osinaweb/addressbook/__pycache__/admin.cpython-310.pyc b/osinaweb/addressbook/__pycache__/admin.cpython-310.pyc index 33ef3dd8485f5af5083fef4608f4174714379b55..6a86c81a49d0db7b53c07cfa59126f069b03f27c 100644 GIT binary patch delta 20 acmbQhJb{@zpO=@50SG2-vDwJo$_M}~Is}OT delta 20 acmbQhJb{@zpO=@50SMgp>2Kt2Wdr~!C2Kt|!3Y31AO$o4 diff --git a/osinaweb/addressbook/__pycache__/models.cpython-310.pyc b/osinaweb/addressbook/__pycache__/models.cpython-310.pyc index b9a25ddd064c173b9cc4fece136827e337c158e9..b0285defc476bf3a3ddf8b75de2cf8edbbf8eae8 100644 GIT binary patch delta 20 acmbQrKb4<5pO=@50SG2-vDwJo#SQ>2xCFKU delta 20 acmbQrKb4<5pO=@50SMgp>2KujVg~>$rUYmJ diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-310.pyc index 3ae4ec8140c79e23afa5f869c048b74868a6bf51..78e5382dcfe170663ba46961993e2d72719c23c5 100644 GIT binary patch delta 20 acmdnPx`&lJpO=@50SG2-vDwJIkqH1ZV+9fb delta 20 acmdnPx`&lJpO=@50SMgp>2KuT$OHf}Q3S*Q diff --git a/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-310.pyc index c790f8d061245d20bff8dafbe9c091cde877f277..8a3608a9e65dfe32c99b2adabb71f2475872cd0c 100644 GIT binary patch delta 20 acmeC=?BwLm=jG*M0D?(dY&LS&u>b%o{RD#m delta 20 ZcmeC=?BwLm=jG*M00Q@Y`Ww0HSO6*O1T_Ev diff --git a/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc index 47a1d38be132335a3b802022dba94441688d8ceb..965a654644826f03cea42a3d092417d6ef13c784 100644 GIT binary patch delta 126 zcmaFM{+69PpO=@50SG2-vDwHi$;fzXvMOVVK0i=Ilj#2KtgWMqt*tjbuT&j%FIWV*%Xo1c`KlUl?N;j#u~FUWe}4E%ts|OCtqZi0RXh( B9$EkZ diff --git a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-310.pyc index ea1c854427eec5cd94d8ec51a87ee574620459a0..e426d6400e41330f96fbf6689dc68d61eb8b9819 100644 GIT binary patch delta 20 acmbQsK9`+4pO=@50SG2-vDwHyi5UPc)C9T! delta 20 acmbQsK9`+4pO=@50SMgp>2Kto#0&r|!USvp diff --git a/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-310.pyc index 11d09d8a86eebbef6b5a54d2d8f916ea83ab0656..e7f1477118438de88ae53e90754a6b23e6e230b9 100644 GIT binary patch delta 20 acmeyv`iGS}pO=@50SG2-vDwJ|kqH1jV+GOx delta 20 acmeyv`iGS}pO=@50SMgp>2Kuz$OHg8Q3Zqm diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-310.pyc index cafe1fc148cf90160dc122026653b7301a18027f..cf13ccc831a78eb61a99102385e6e20717f3c85a 100644 GIT binary patch delta 19 ZcmX@hc$SenpO=@50SG2-v6;wy2mmkM1sebW delta 19 ZcmX@hc$SenpO=@50SMgp=}+W71OP4?1kC^d diff --git a/osinaweb/billing/__pycache__/__init__.cpython-310.pyc b/osinaweb/billing/__pycache__/__init__.cpython-310.pyc index aa06f95637108c796721f72bdaafa993f37b31ae..561effe0d1be91246e509718180b68fad71990cd 100644 GIT binary patch delta 19 ZcmdnTxQ~%LpO=@50SG2-v6;xd82~M_1nvL; delta 19 ZcmdnTxQ~%LpO=@50SMgp=}+X|3;-+d1fT!_ diff --git a/osinaweb/billing/__pycache__/admin.cpython-310.pyc b/osinaweb/billing/__pycache__/admin.cpython-310.pyc index f74d35e28833d0978a50af8c2e279ab35b008ac9..f5e7768ec4509ed4ddb412c4d944c3165a0b601d 100644 GIT binary patch delta 20 acmcb?e1n-gpO=@50SG2-vDwIdmJt9qdIezs delta 20 acmcb?e1n-gpO=@50SMgp>2Ksd%Lo89Xay4h diff --git a/osinaweb/billing/__pycache__/apps.cpython-310.pyc b/osinaweb/billing/__pycache__/apps.cpython-310.pyc index 85907c7d25ac98c160338f0a03e7328e7126cfb1..f4dfbe86d15683322b854bf8a27710f8cf022aef 100644 GIT binary patch delta 20 acmcc4e4Uv)pO=@50SG2-vDwIdh7kZaQUzWB delta 20 acmcc4e4Uv)pO=@50SMgp>2Ksd!w3L1Km`y0 diff --git a/osinaweb/billing/__pycache__/models.cpython-310.pyc b/osinaweb/billing/__pycache__/models.cpython-310.pyc index ab8b68a6ffd57d5015c3becef5d13668796ca221..b9bacdf723c7c0103e598a8c13f69ffb93351fc6 100644 GIT binary patch delta 259 zcmZqEY1QG&=jG*M00QN`HfaLF8~LP!7z-vRa*NleF!eG=v8OU;ailP(u%xi|GDUF$ zd0Z)sK*$Ex_Xma1;@h?hA zEec4i%uUTJ2`SP6I^iWVh+qX0noPGQ?-p9cC^Y#Zk33`en2|jF%zu;s=USTo0wM_k`E%?GE;L>CJT$&N>&49s(`o{FD{2%mgV*q)JZGNZ^*#@flpMa(#BLBf?lVzQ8^tz-?50pb*ce9FPV e!^p+R!N|i{R5Lk4G={Ne@;yQE$#+CG7`Xrp6GA8e diff --git a/osinaweb/billing/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/__pycache__/urls.cpython-310.pyc index 73d85ade03db628d6ec4fd7cff5bb2445c36490b..086f52c5a5876d73e1adf0fbff50d4324e8d3ee1 100644 GIT binary patch delta 293 zcmeBT{l==D&&$ij00f$cZPI2jF)%y^agYHokmCTv#d9WVTh+6sGNrILGd44&GNy2( zvShKQaHeqeG6Q+sKptBP50u9Xfrb87H2y;}uNG%*n~jOV>+H$t;=7#5hT} zN}?dKGPg1{uSDM_Gq1!dzbGZOC_XdAPCtqdBm(h6VHTAHf8K#_S58^ h{EjhXaxhc7gb2_o0Y)B19u^)(K4v~fAOw;eUje?@AcFt^ diff --git a/osinaweb/billing/__pycache__/views.cpython-310.pyc b/osinaweb/billing/__pycache__/views.cpython-310.pyc index e8c295b6ac717d7fc174805f052b629f6ffbd524..1d6101b5a5ea68e147e5da032d39d0a3b7957db7 100644 GIT binary patch delta 581 zcmYjN&rj4q6z+7U?Z8gEyM!2`B>oJfG>9aCm%YguQ7?u|v)QS!q`OOAXA>Z^YNA&U zq*qNeoVbwi4{$~Ap4NYb1mD|Tqtm?a&GfzZ&3xal=(HL2!*JHYwRqKfb16@vMfUn6 zd7*UUle1UT%~wu5ck$t#h-R=Sz<7pH{;1By*Qcho&-aCOwfmWU^ECg?hJkf0x1J4j z_(cq*QP$Csl^;3s)OX-64xd$px4AuPbOxpAcQZ)SyzC8%B4#5$*Ldmy-4hGAk7-ov zgT|)ZWZe=%`Xdk8N8PMv%Ideb%)*NMt(VJG2(rUYG0@paJ*S!7NgKGtHUo2*-~j>g z!V1D(^p8Bv^@JZ3m6Ph7pR^WmtJpk?*p|D6+2t;y&%agyJi%gz$p0=6Hv(g9(FR)d z@Vyq6=WHm9k4AV_jE(RoM!+NN1u`EJgySWhnRZ^3DM~#k+9oU4rb<_*mB(*Qw}=Da zG;@bwji64@AZQYd^?GBy>OaAxXd$UjDbp$CHcpiE29hbbxKRSu@wgMK>ZiZ!lSo*v WZU;-Z$iRjpnPSqDH7PM>)%+jW41Q1m delta 252 zcmZ21c!iHIpO=@50SMgp>8EM1Pvnzf449}L$P&z;DX_6afrXC)D8~-O&OlteX|e*l z^5mN=Rf;uCHOw`vDZF!-YuQVMpX@@fIYP$Ij0n;h6!W!cUWXvLHtQ eqt4`X4mA-0pojni2O|$72P+3R2L}f?4;KKmSujli diff --git a/osinaweb/billing/add/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/add/__pycache__/urls.cpython-310.pyc index 5af703b8b42b7c414cde8bb21298f65909142b7e..6a16048322146b1e36db2e09f5cb089dea1b8a48 100644 GIT binary patch delta 317 zcmeyyvW-nUpO=@50SH3&*`%FhVqka-;vfSaAjbiSiziIfPBcknOyNsq&f-krPhst4 z2J!@eJgyW$C{GB;<4zF<@zOb>cv3`y88k&FPMf46UXWOso0?amZ znPR6O#g&+n0+pMr&S)DPB@7gZhl<1}=jVcS-IBy27@wP;l9&_4jU;tT5Qzhk_tWH^ zoX!}{!;d60c`u`sLJ>RAQ$-v=;ud#lQBFZ(Nl9u^UhztXB0-RZ;N-WArBY%*CJzG- SBOePNBNQ_6G4U~Sd;8G7!WMFs<;vfS~AjbiSi_<1*Cvv5;MscR_1v6;!PdqSb zayg?7v!5o{WHzSg$wf?}Vz;ERg6!zF&+iQD&LJ}Y$5TN`mkfihnCPyR|RnMqWm8wn z=lyBhqrLe?E@w*c{Q3R#+^=JI^JCt=U&a> z3r)}QY5x>(OY};k&b=FaSz>$QK;f{&W90zZ8xN|#b@Jd*F1A9CInJEVLhjVvn#T%j z*EcGykT<~2263P-Cb7WD_3z_|$P3Sd-Vl#>@ zI8r#(-SIqY%=v-G#&Jl5wG}l5#Wob%QK%?n5T!hO0redycA^khHG$gG`?7lH!RtCA zqTGcZYY)bDqixTsD1nw(E~O4!7an+j{F!!i{6#QVaPQuO=+dE`f);)of2VEk@Jv-% zQn^MIsxA_)MKYDKrx~g(l9SRK(pRLdMp9L$`W2a-1QUk1+uAT*5i!^qGOI(gL zN*3j|UYDuV*11_#s#YXNnMkMRqS7|FO|8hN=BT|WUy!1X94V1XbN7{Ymgggh=A-N_ z1yEQxCo)FAJ$tzAQF&hA$NHzOpMu9=-0h4EGg;q12B)h z1R}8;3@}YS?)pKvOybXVYczFA%-$>yR!A>0{#xJGDWo}_#OcP#?#codi3SMZ06vj# z3pZJdh9vVIZr2BeA#@UWFjG8Cp+O}2AZmwDV7Q6Z4d+;hSP;QyMDWkeeipMYhR?y| z5V2v)d9o|MYHT)SqWx`a>{$Gz;h)7qfqR+8Jya~u#BR1&<+2-k)Nwg`83x!Z=w$VQ z`3Sma#c5_>PFfY)Q$*S-Q17+ z!2Zp^EMFhC7kXOj##3N zabQ5IVykQh6pVNE=?|B^1?Ccjx8wiAdm0vd8@$;&DE3Hug#;m3V4y!5G2;%py^G?^ z!=JMU2pNnAtb>Ch|2Bn7a4O7$j;_RIYflF4k00K#9uRApU_~*%KED!A1auTwC^5KS^KLfk9y!DbOH>_K!NwiY#h&CX8-E!s zalbe|TsSe_fQ8l&Ek==nCW!Vv5bc(ZT+Orv&)x#&1b$Va*P_glPBW406W~xi(w21K zN`-3oWq3Ct{hmbi$hapx0D7cG+vG-+rP)PN&2lp`QR6236@Y$TrWSH)+u~Ma(HzZ# zZqq_!)8e!g*&X22fmKe$B(o1d+}zcr!oHH|l|y$#6oM#U_&5sG7+sI>=HxW>uWb$a zLf{?S-E`-@iCMtXm5EtzuED$`TixKgyAU4TeSEqz1)j&*1>E=|iVs0tWFMjWF^W%6 ze2U@{h?1RhkHC&CXy<%dr728aL&qwLwNPLbZ2|-$>A7Cgfh9!ntl67cF81=+V}o+B zSH`OryXS)_Dcikq@s@*PpM}p1b?}u1xUh!;S?gJPds85%Hy@DmBRGZlXTT zpf8fVqAF&=kPRaLBdgk9cGe&&VGJBg<8i0(sFM_F)veDrCh6=X6u1|J48J^O^SbAT z3r#3jE~-M@LNWxO#JM>qXv_nrGVf~3XC7t184|<42kaOMq*B38>cpHAGVP7P&Y7%)2+BRt8(DKl-CNV7g=)dDhn*RU* delta 1616 zcmZux&2Jk;6yMqPu6Nh#kJt`L+B9(rN!T=yhVW4m)TT`(s00)#oUDq~;#r3^{$h6A zHeoFv+5?xUissr%aNq#f^n!$-{{iAuX-~Z%&inyXyf=251h6%~{q1{i=6%jSS^9l0 z*U4sW1%B`UvQqz}e2|+aj}I>NuD43n5>bLOwWxhxxkswwz%$g5{3YO7nv;A2c%Bv{ zpQK~7cwebbQDa+iOQJyH!viu!#`EBS6%fV{$_V4)SG7)ZVnMrdX$l1|j1nj0LCfR2 z-M|a!$t_@(q-&iv5AO0G6t*ZHX`Ez5F||ruaXt0tAPW}NLN5xK=hZ_Naj)&S0+u^{ zzFF%D!aDV^8L$~t$*^XTX$TdBIfN8~3gG70dE_r6yn-N0wT$ezUYVnOuw3gh%6YUn zofum{+2RX$6w0;fBX=r2VuM=tB0w8usFK6iDxHA;S=o z%#l~@z$!}g4xDq7{cq7NEIR7hhhQ3EUmZ0^Y}FwSNs$~$sfMN!{2PDgbQQSq+|k*F zxL}1Q&aA7kb@9-eTz&&y*cwVQCx++}2og(Xas#f?a2n^tGi&A=rsEnild3&xJO=$H z$gAm*fUV;JwhYn3%Xo5Z#HKw(8lq~SC0mEzXI2R*il@%oMY+eJJ`cPa3*bS;Sg|bD zvg10c{KJp3kI1}B5+mX)Z13z%Y3`~qeEyw3>f{z z;(6h!aSP8sBYrMD8C2~%fgkO5p^{t%CnHMA5%=qLui1fudMx;=7qWmd7h}PT%{CD5 zCNn(iL|dhQ`AIO}YjtR^8C)h{5n=3Q#Uv&vz;HV7Gyw}GqG~o#r(w;(I%gAS>>tW< BX@&p* diff --git a/osinaweb/billing/add/urls.py b/osinaweb/billing/add/urls.py index 4b383d0a..211da872 100644 --- a/osinaweb/billing/add/urls.py +++ b/osinaweb/billing/add/urls.py @@ -7,6 +7,7 @@ urlpatterns = [ path('service', views.add_service, name='addservice'), path('order//', views.add_order, name='addorder'), path('invoice//', views.add_invoice_pdf, name='addinvoice'), + path('payment//', views.add_payment_pdf, name='addpayment'), path('service///', views.add_service_in_order, name='addserviceinorder'), diff --git a/osinaweb/billing/add/views.py b/osinaweb/billing/add/views.py index 32ec723f..919cfacb 100644 --- a/osinaweb/billing/add/views.py +++ b/osinaweb/billing/add/views.py @@ -203,5 +203,51 @@ def add_invoice_pdf(request, order_id): +def add_payment_pdf(request, order_id): + order = get_object_or_404(Order, id=order_id) + payments = OrderPayment.objects.filter(order = order) + + invoice = order.invoice + + # Render both invoice and payment details templates to HTML + invoice_template = get_template('details_templates/invoice-details.html') + payment_template = get_template('details_templates/payment-details.html') + invoice_html = invoice_template.render({'order': order}) + payment_html = payment_template.render({'order': order, 'payments':payments}) + + # Combine the HTML content of both templates + combined_html = f"{invoice_html}
{payment_html}" + + # Define CSS + css_string = ''' + @font-face { + font-family: 'Poppins'; + src: url('path_to_poppins_font_file.ttf') format('truetype'); /* Update the path to the font file */ + } + + body { + font-family: 'Poppins', sans-serif; /* Use Poppins font for the entire document */ + } + + /* Your existing CSS styles */ + /* Add or modify styles as needed */ + ''' + + # Generate PDF + pdf = HTML(string=combined_html).write_pdf( + stylesheets=[ + CSS(string=css_string), + CSS(string='@page { margin: 30px; }') + ], + presentational_hints=True + ) + + # Return PDF + response = HttpResponse(pdf, content_type='application/pdf') + response['Content-Disposition'] = 'attachment; filename="my_pdf.pdf"' + return response + + + diff --git a/osinaweb/billing/delete/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/delete/__pycache__/urls.cpython-310.pyc index 2e400e6e0af365d616cc0fa4669bec2f95533f15..812e90e6c1d67a2732e26d0cee2605cf14e72ff0 100644 GIT binary patch delta 20 acmZo2Ktozyts+DFk5v diff --git a/osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e2f6db7779d7404997c0bf5c5dd6f9d706d31317 GIT binary patch literal 341 zcmYjLJ5Izf5VhlE6|q?gPC%O`zQ77mP$DQ+G-+1OdI(NA}g)-pe6!5HQjUre4fTxfix~ z&B5#7GrZ7Nozhy_zDY#SaO87L^AcC^bOdk18}ViONa?HNcL99hV3YcU(4oB$tpFB_UJlSf7X)f33{Gj22qGCw06{+ZH HUVi@o#S&kG literal 0 HcmV?d00001 diff --git a/osinaweb/billing/edit/__pycache__/views.cpython-310.pyc b/osinaweb/billing/edit/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..db11330575c24e9066ccf45cd1c1083597d560a0 GIT binary patch literal 570 zcmYjOyH3L}6t$Dk76hmuK7a`+NHh!}F(8BlBZ2`~vP5otTMTv_Y?o40CinvWf}OAN z%ET`)ah+DcweI8iaqh9LS5}q?+S|wBV4o858Nh#w5geo20}PySDv6>wRZ$+%fFl`S z&2lo&3s(eMJm$$Od7*imFIn~#MD~${qwpzq8AF$JXc$qnN`C-u2Ks#Wd#5)C2KtYV`Pk)oW&>yBs&>f*d&1BMG}*RnSKjEm|#ALken>X GECm3>%nZE% diff --git a/osinaweb/billing/migrations/__pycache__/0003_payment_servicepayment.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0003_payment_servicepayment.cpython-310.pyc index b409883a686cf256d77463daed9e81fc84cdf2ab..e5ba0646b43cdbd896a40877cce61d5b4b413ffe 100644 GIT binary patch delta 127 zcmbQpIgyh)pO=@50SG2-vDwHS%E%ZsIg!x_NKRo);pG8}-(pM4OwCCtj+)HMG?h&p zC{iRbc>&W=Hf<17dvZ4O2QyU=lLgF2C3Jw?TO2mI`6;D2sdkJ&UNIYx5Mbh96k`Se DHlP{* delta 127 zcmbQpIgyh)pO=@50SMgp>2Kr?Wn{cHIg!x_NKRo);pGF0-(pM4OwCCtzBQSZX)2o( zP^3tD@&cx#YWHa^HWN5QtcRlyka&WA;84JD8>u` DsyG`? diff --git a/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-310.pyc index 879101a47de1c817042fff99dc9a681b07cadeec..43171b0d70b75e4ec965ba9aae9b64da0d5c6956 100644 GIT binary patch delta 83 zcmcb>a)E_ApO=@50SG2-v6;xdiSgFNeKJ7eb|aerP_Rf~auVYaEeI3L2N8lm;ueQZ VZhlH>PO2RvkXOtCBzTy_m;sg*61e~X delta 83 zcmcb>a)E_ApO=@50SMgp=}+X|#27VkpA3+=-N?oV6fEMKoWyuU3&I5RK?FaLxW!?U Vo1apelWNBZt^H5=jG*M0D?(dY$kHwWsKVRl9Q255-3n4Ir#_UT`3U|lLgF2C8Q?5XOaN` D15ge> delta 67 zcmeBX>t^H5=jG*M00Q@Y`V+bDGTz$wl9Q253Mfz{HTehQT`5rzlLgF2C8Q_6XOaN` D3keQ* diff --git a/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-310.pyc index a17386618609edd7d56ebdeca9edcca22e63d6f9..3c628d69675d363846c18658cb6da485d0a82e07 100644 GIT binary patch delta 20 acmbQjHieBlpO=@50SG2-vDwJY$qWE2NCX`K delta 20 acmbQjHieBlpO=@50SMgp>2KubWCj2#HUrN9 diff --git a/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-310.pyc index c2632e3cee05dea78338f51a312e584350da1f88..a0153ee021f5815e1f2b67ff36c4481569125595 100644 GIT binary patch delta 20 acmdnTwvUZFpO=@50SG2-vDwIN%nSfB*aVvZ delta 20 acmdnTwvUZFpO=@50SMgp>2KsVW(EK-#sp0O diff --git a/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-310.pyc index 293d317fe4212a73f5dba23b88b22bfaa69bd97a..8103ba906fe2bc916d353edf30b240dc611e99ce 100644 GIT binary patch delta 69 zcmdnXwwH}NpO=@50SG2-vDwHi$;cSBS(TBAkxd#XR3trFm+6+27>LON=A#lalNFg| E0LZ`#tN;K2 delta 69 zcmdnXwwH}NpO=@50SMgp>2KtgWMsUxS(TBAkxd3DR3tN5m+6+2IEcvt=A#m_lNFg| E0MK0v2KtAWn_$+9LT81cx!Vpqarf^d142a diff --git a/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-310.pyc index 54f156f6d768c95104eb1e3ccee2111beb1f9117..923569dd5e912fcefc8654bb7e5f4920dd233706 100644 GIT binary patch delta 20 acmX@XdV-ZZpO=@50SG2-vDwJImk9thLj^Vf delta 20 acmX@XdV-ZZpO=@50SMgp>2KuT%LD*3F$CxU diff --git a/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc index fa2de16b02413720970a8b8c58f215c28e236f14..6e2ccd9c4929afd65f5289ea2081299fa9718ec1 100644 GIT binary patch delta 20 acmeBV?_}rB=jG*M0D?(dY&LS&F#`ZAv;=+t delta 20 ZcmeBV?_}rB=jG*M00Q@Y`Ww0Hm;ouG1TX*q diff --git a/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-310.pyc index c99a47044f9b2e6c5306a874da8601ab66e6c413..bb54204e4155695bcbd3ccd8d39f397f51b3ae3d 100644 GIT binary patch delta 104 zcmbQhF@b|SpO=@50SG2-vDwHi!^jvlS%dLDBj;oeCKX;WptvS;5eJYe;+$;Bw2@5> o#8jL7f$5tTgbC(@2z4NFi^C>2KczG$)s7L!D`o)_0!(7e05#YXivR!s delta 104 zcmbQhF@b|SpO=@50SMgp>2KtgVPw2DS%dLDBiCdOCKX2KczG$)s7L!D`o)_0!(7e07a}5#{d8T diff --git a/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-310.pyc index b5280443ddca89fde6d20fd1e63c3d5c0d9b15b8..4b34b1c39096f083e1fd0ac1caa19c3fe17905b8 100644 GIT binary patch delta 56 zcmbQrI+c|>pO=@50SG2-v6;wygz?tI3#ZtGf&3!j$qN`y3qY7)K8O&RT+Ji}0G5Xh AH2?qr delta 56 zcmbQrI+c|>pO=@50SMgp=}+W7!WcF2!YMW(Aiqdx@&d-w0uUyc49wc~6eKz@2KurVF3U%_XM2) diff --git a/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-310.pyc index f2a238cb9cbca23e0f00ae4d959599c88cdaa17b..b9abe06c6addf8575ee465c254c3eaec81aad043 100644 GIT binary patch delta 20 acmcc0dX<$spO=@50SG2-vDwIdiU|NWO9fp3 delta 20 acmcc0dX<$spO=@50SMgp>2Ksd#RLE~IRy^@ diff --git a/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-310.pyc index 7aab377910fd68105406fb3df494fd204011458a..e8289bdd2d6c119c1d09ca21185516672ccbb0cb 100644 GIT binary patch delta 90 zcmaFQ`ks|LpO=@50SG2-v6;wypYhhj*I(JBf&3!r$71CCoSFj? z0qFoLVDZb(OD*CCa*DVoJ29?clL9fNCVyZ&tOa3$`5;0XNZjJE$<0qG%}KRm1oDbm KfP?^(7&8D9Hy+6V delta 135 zcmcc1dY6?upO=@50SMgp=}+Xoz<6uo9U~J?AYYT|7MojQW=?8K5l9}$<#bNWOHR!J ziEu+iSp4$yQj2(ioFbmdPK+zqq(MyS$sZUGYeAS`K8TP361O;Pa`RJ4b5iXXfxKcC KAR)jc#tZ-|A0Gw) diff --git a/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-310.pyc index 860492618bdf8bc43b056034b8ee488d65c1d59a..8c023eb0d4ead089e8ce7e97a59bd09eecfc30f2 100644 GIT binary patch delta 212 zcmdlcv`vURpO=@50SG2-vDwJ2%glIdvL*9j4H2M7kr4vI>h5qsU};7CQmBmLge@l-%U0EOQtYCmXTaih~S-iUL`h%tbmN z0maE}tg3v9K;|v>;MAhB%;eNtlXtQzuz{7!O}@|S%qX{6nN6FKEeNDOXmber8b&EM Q5Ss-ofJy{Umg1BF09-3B8vp2KuLWoC?;Y{`6BLl`JhBnl*M@gyhaC8y@(q^86tmfT`X zOfJbROVwm55(lf8tiqziC_LGn#ZCaOrAP)OB|CX4%N$09$wsWU;vj>dqCl1=bCEVk zKw)wlt16!Yka>$eIJKxOGdVSC@=jI-Hn4Kp$@f{E8D%#svuQK31%T8CYz|>x!zkqf PVzYn+P>I0FQk*gXm1``l diff --git a/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-310.pyc index e5582224f6af9286a6162e54fcbe1218447ad5e7..ad6a7fd21e13a4421f20c32ea64a1d5c80632db4 100644 GIT binary patch delta 69 zcmeBR?_lT7=jG*M0D?(dY&LRpGcrbP7H3RiWRnL970FMoXSysU1!A&*`KW}#||M{Pf`*fCJUI4 LO2|#tWR?K{=lc+B delta 77 zcmX@gc9e}fpO=@50SMgp=}+W-%@{TDdp#QmkYB_(xrT8zn+%94Gg+4Dlax4!$pYr1 K60(yunPmXC3lEh5 diff --git a/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-310.pyc index ed5b2837c6528f619ea7dc3f54460a6f6673f253..1aee6945de7bf27ac048043638fb854d50cdbace 100644 GIT binary patch delta 76 zcmX@jcAAYlpO=@50SG2-vDwJ2&Bz!v*_=@kNJcUmvatiji#R4vVC-NM2QkGr%P}!C Q3P9Lk0T3ZE*^pTZ098E=zW@LL delta 76 zcmX@jcAAYlpO=@50SMgp>2KuLW@NlI*_=@kNJcUmvT*>#i#R7wVC-O%1TiHy%P}!C Q3P9Lk0T3ZI*^pTZ0Cz?Xe*gdg diff --git a/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-310.pyc index 43cf5c7d599345f36a718178bb0c02e2cb75ee2c..cbd8c671d50020c14a7b396dd8e597e0fe9b4b03 100644 GIT binary patch delta 69 zcmZ3>zLuRkpO=@50SG2-vDwIN%E)+Yvm>JoBbyvhs7P*dGt(C-Nf46-%ts~UCr@OS F0RaCk4Rrtj delta 69 zcmZ3>zLuRkpO=@50SMgp>2KsVWn_%n?8s=t$R-OEDw3Vt%=AS{0>oqi^HB-8$rG7n E0M(ETpa1{> diff --git a/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-310.pyc index 4db4783590cc7404465a952157ef4e7e7d823201..6ada680bef1e927539d2e36160704d250df7d99c 100644 GIT binary patch delta 56 zcmX@ba*BmJpO=@50SG2-v6;xdiSgFNeGAwGfczqX$tjF`1RzW>A4CXFHeiwh0GV41 ArvLx| delta 56 zcmX@ba*BmJpO=@50SMgp=}+X|#27Vk-vTy%Ais!zath-f0SFV!2N4334Va_=dFBh# diff --git a/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-310.pyc index 346042a302cbb1e06a6cc42c899d88c849ebf468..a93e05677fa9516f25cbcbb12baaa62b3aca3b15 100644 GIT binary patch delta 79 zcmeyt_JfT(pO=@50SG2-vDwHi%g7itS(CAe4J1^=J$WPJEH*h1Q*Lq~(?=;u5R(PW MM2KtgWn{cHS(CAejTW2Fu{BfAvSqF GlN12>2M)FX delta 62 zcmdnVx|5YVpO=@50SMgp=}+W7z!)|0OaUXuWLw4@HW8p`k;vrrj1L4LOfVlrh)$l* GBn1G|nGN9p diff --git a/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-310.pyc index cc3b3a729004a5b0307967a0a7cc67852f098062..502d5ebd3d9e62b4c6b01f451cc9dd3e3913f6d6 100644 GIT binary patch delta 20 acmX@gdX$wrpO=@50SG2-vDwJIiwOWU%LOd} delta 20 acmX@gdX$wrpO=@50SMgp>2KuT#RLE{xdh(; diff --git a/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-310.pyc index c345f0310401db9c604f83fc2feddb5d28b843c1..bfc28c9d8f0ed104e37f13393290186bb18d7bb8 100644 GIT binary patch delta 56 zcmdnavYmxHpO=@50SG2-v6;xdi7{&8zAiR?Ais!zvLEAq0SFV!2N433WtpS^dFczk delta 56 zcmdnavYmxHpO=@50SMgp=}+X|#CU7szAiQaAiqdpvLEAq0SFV!2N8mkWtpS^e@YAY diff --git a/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-310.pyc index f9d2a37a5e34d7d8f2803b24727af1ebd4ac8f75..e7ce204c6ba929cb433139f44c5187b5789fa443 100644 GIT binary patch delta 56 zcmeBR?O^53=jG*M0D?(dY$kG_VZ1f*#t}AgAiqd_@*>7P0uUyc42Kt|&jbKCfdx(g diff --git a/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-310.pyc index a031eba9ece5313facb81452550daaaa9a373ccf..d749af20edc72042355f6ad4e10ecf1b6d1c9df8 100644 GIT binary patch delta 78 zcmbQwI-iw0pO=@50SG2-v6;wyiZN>9wKHs@Kz@2KuLWCj2)HUuvK diff --git a/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-310.pyc index 8c1af52c39768b5619e24dca00c90d3be7403795..ce32133705a652ad30937073946e164e73a149e6 100644 GIT binary patch delta 20 acmaFI`i_-5pO=@50SG2-vDwJ|m2KtI%me^AAq83h diff --git a/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-310.pyc index cfbe4e560373caacb71f3634dd67f41305df7d8e..4b1b30d194b65ad13c1d7c3a7fe475411f1c08c9 100644 GIT binary patch delta 78 zcmbQsI+v9@pO=@50SG2-v6;wyhVj2Kto%>)1~;RJ#J diff --git a/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-310.pyc index 551f38705223078784c75debf3ed410d215c32fe..04d4a295f9251194d495d33c1e66e106e93e5c7a 100644 GIT binary patch delta 66 zcmeyx`iqr2pO=@50SG2-v6;wymoaMM%Rg)qKz@2Kto!~_5=c?4$w diff --git a/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-310.pyc index 94a96619c3aa325fbada74807cb5bac1c8514764..abe516f5506f27764ec5db68514d53d63788b190 100644 GIT binary patch delta 20 acmeBX?Plf9=jG*M0D?(dY&LQ?FaZE7y99p# delta 20 ZcmeBX?Plf9=jG*M00Q@Y`Wv|$m;foM1Tg>r diff --git a/osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-310.pyc index 1fae7ff4e5ebfb50dfed3b15c07853385e539fd9..448e581f2765d33437d9930291a022d4783f9a27 100644 GIT binary patch delta 79 zcmeyy`i+%4pO=@50SG2-v6;wygYnkHCki~bIP;5AQj0Q6Qgd%j7GMl!9HC@K2$t;Y^*o1+iMZ%LeFdh_uFu{BfAu_p< GNeTefa1GS} delta 62 zcmbQuI-8X{pO=@50SMgp=}+W7#dvGtHC@JAlUW#-v55jji$o`HU_2-QVS@P}LTqv) GlN12%=nj(r diff --git a/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-310.pyc index e2acc1141333c8d4d79ef57307be4dbab5a5b001..ddd1a8a72410df2ef1808eaf7b457cca3e034ff9 100644 GIT binary patch delta 56 zcmeyx@{5H#pO=@50SG2-v6;wyit*OOYg^ewf&3!T$rBm(3qY7)K8O&ToWLXn0KSn8 A$^ZZW delta 56 zcmeyx@{5H#pO=@50SMgp=}+W7#TYg5+Ez9ZAiqdt@2Ktozyts+DFk5v diff --git a/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-310.pyc index 2ea2b0fbdf863abf66a5602ffac874515873ad33..d610463be57629502d63623c8d497f01fe4040d5 100644 GIT binary patch delta 56 zcmeBT?PBH5=jG*M0D?(dY$kG_V!So++FmwMAiqd-@=V6#0uUyc4d1x!)^au5ta diff --git a/osinaweb/billing/migrations/__pycache__/0045_orderpayment_date_due_alter_orderpayment_date_paid.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0045_orderpayment_date_due_alter_orderpayment_date_paid.cpython-310.pyc index f61139cfc70a98fcb95c9e3b5175e8a113a1d641..d8b34d66d23a89b7e74f9c3f4bd6633ad3e3b0f7 100644 GIT binary patch delta 20 acmaFD`h=A`pO=@50SG2-vDwIdlL-JhqXmip delta 20 acmaFD`h=A`pO=@50SIJQ7;NOe$pip3>;(M) diff --git a/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a7da8bbdda0849bed5cce0961c919aaa2a550c64 GIT binary patch literal 855 zcmZuvyKdVs6eTIimKD3`6rhixs~0OnA4^cAK$;G9Q=m>3ErjfQV@Rb$g_0Y%Yr7R0 z`w{(!{s`Aj{e>2NTuM&k0wKW5`ylV*9O}_1VzfSe-9I}QjD2&)_VUR%pj}T$00XXA z!4qDHL~v&dG@z=F7cREF z24o!2t`A8dOE|DZ0AKRNLqDgCuEwPxz2|i7=OF|*$fLZU@8m=1LI2W&@X}j~WCR1M zAKAgHtHRVpf1W9ol}r0%Z|~tFsSTj1(shAlBOz^2!U|=o8ZorbDBDz0+DJ-5 zYo(C%p_J#VRJrud0<5qEEEgHphKOT!=M5J69Ui$fHhc!qYQ}T1=tvvPmgP%a+aBa; zxztv`+=gv4#ET7Q&rjs>>2zu%UEzkTFU;I?4Lb4Tb9`E(sbefMg-A%QF+RllZKJDr zma43HFik6Gysoomp^I48S((NqUbISAwR2wJJl+5lUw@65Xn8D6JH`JDv>@K#npA7! zK4_nIeV0VYgy;Y91HlFNfBU{Wce(#7{Mp_c_w1nSV*>LQwGN&;|D2QVcTTQwF}swt beS3{Wr`@N34fi{Ko^sbgkHl>e@?GyQ36T2e literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/__init__.cpython-310.pyc index c6d6ffb516c3eb23bb00f9bd191325ab0fec6d88..cc0f6a195f2a284e3c7a00b470ab29815088e5de 100644 GIT binary patch delta 19 ZcmX@fc#@GjpO=@50SG2-v6;xd4*)Mp1rGoK delta 19 ZcmX@fc#@GjpO=@50SMgp=}+X|2LLUG1i=6R diff --git a/osinaweb/billing/models.py b/osinaweb/billing/models.py index 610ed827..f3ef4d8d 100644 --- a/osinaweb/billing/models.py +++ b/osinaweb/billing/models.py @@ -109,7 +109,7 @@ class PaymentType(models.Model): class OrderPayment(models.Model): - order = models.ManyToManyField(Order, null=True) + order = models.ForeignKey(Order, on_delete=models.SET_NULL, null=True) amount = models.DecimalField(decimal_places=3, max_digits = 5) date_paid = models.DateField(null=True,blank=True) date_due = models.DateField(null=True, blank=True) diff --git a/osinaweb/billing/templates/details_templates/order-details.html b/osinaweb/billing/templates/details_templates/order-details.html index fb9407fa..00accf3e 100644 --- a/osinaweb/billing/templates/details_templates/order-details.html +++ b/osinaweb/billing/templates/details_templates/order-details.html @@ -129,14 +129,14 @@ class="px-6 py-3 text-sm font-medium text-gray-500 uppercase border-r border-gray-300 whitespace-nowrap"> Amount - - Date Paid - Date Due + + Date Paid + Payment Method @@ -154,58 +154,71 @@ - -

$20.0

- - - -

02-12-2024

- - - -

02-12-2024

- - - -

Cash

- - - -
-
- - - + {% for payment in payments %} + + +

${{payment.amount}}

+ + + +

{{payment.date_due}}

+ + + +

{{payment.date_paid}}

+ + + +

{{payment.type}}

+ + + +
+
+ + + +
-
- - + + - - diff --git a/osinaweb/billing/templates/details_templates/payment-details.html b/osinaweb/billing/templates/details_templates/payment-details.html new file mode 100644 index 00000000..cf6587f7 --- /dev/null +++ b/osinaweb/billing/templates/details_templates/payment-details.html @@ -0,0 +1,202 @@ +{% load static %} + + + + + + + + Invoice Details + + + + + + +
+
+ +
+ + +
+

Payment

+
+ + +
+ + + + + + + + + + {% for payment in payments %} + + + + + + + {% endfor %} + +
AmountDate DueDate PaidPayment Method
${{payment.amount}}{{payment.date_due}}{{payment.date_paid}}{{payment.type}}
+
+ + +
+

Remaining Amount: $0.00

+
+ +
+ + + + + + \ No newline at end of file diff --git a/osinaweb/billing/urls.py b/osinaweb/billing/urls.py index c58f79c3..c9f808fd 100644 --- a/osinaweb/billing/urls.py +++ b/osinaweb/billing/urls.py @@ -17,4 +17,5 @@ urlpatterns = [ # DETAILS path('invoices//', views.invoice_details, name='invoicedetails'), path('orders//', views.order_details, name='orderdetails'), + path('paymyent//', views.payment_details, name='paymentdetails'), ] diff --git a/osinaweb/billing/views.py b/osinaweb/billing/views.py index de212bef..0b15c8b3 100644 --- a/osinaweb/billing/views.py +++ b/osinaweb/billing/views.py @@ -52,13 +52,27 @@ def order_details(request, order_id): services = Item.objects.filter(Q(type='Service') & (Q(customer=order.customer) | Q(customer__isnull=True))).exclude(id__in=order_item_ids).order_by('-id') products = Item.objects.filter(Q(type='Product') & (Q(customer=order.customer) | Q(customer__isnull=True))).exclude(id__in=order_item_ids).order_by('-id') + payments = OrderPayment.objects.filter(order = order).order_by('-id') context = { 'order' : order, 'order_items' : order_items, 'services': services, + 'payments' : payments, } return render(request, 'details_templates/order-details.html', context) + +def payment_details(request, order_id): + order = get_object_or_404(Order, id=order_id) + payments = OrderPayment.objects.filter(order = order).order_by('-id') + + context = { + 'payments' : payments, + } + + return render(request, 'details_templates/payment-details.html', context) + + diff --git a/osinaweb/customercore/__pycache__/__init__.cpython-310.pyc b/osinaweb/customercore/__pycache__/__init__.cpython-310.pyc index bd6653dda8cfb413874addfc5e0fe29e347a3004..49f82b599634726eab2e020d7e7b53b7e29b0bef 100644 GIT binary patch delta 19 ZcmX@ic$kqppO=@50SG2-v6;xd0{|{;1pNR2 delta 19 ZcmX@ic$kqppO=@50SMgp=}+X|0RSwh1g`)9 diff --git a/osinaweb/customercore/__pycache__/admin.cpython-310.pyc b/osinaweb/customercore/__pycache__/admin.cpython-310.pyc index b6603efd4f78ebb4dc3c143131b39be240cd966d..477bc6156126d8474373e7e6aaff4d9f6570694b 100644 GIT binary patch delta 20 acmX@Ye1w@hpO=@50SG2-vDwJIlMw(kS_LHl delta 20 acmX@Ye1w@hpO=@50SMgp>2KuT$p`>4NCeja diff --git a/osinaweb/customercore/__pycache__/apps.cpython-310.pyc b/osinaweb/customercore/__pycache__/apps.cpython-310.pyc index e01c324ccd324f0d02b370849bbc5142ab2b9165..fcf09ac152dee50b4ce39d56f80e6273bc5e3589 100644 GIT binary patch delta 20 acmaFH{EV49pO=@50SG2-vDwIdn-Ksxss)Px delta 20 acmaFH{EV49pO=@50SMgp>2Kt|%?JQDm<2rm diff --git a/osinaweb/customercore/__pycache__/custom_context.cpython-310.pyc b/osinaweb/customercore/__pycache__/custom_context.cpython-310.pyc index 2f29638bd9991978fd54da0b7f74ff223d243535..9ac272fb86b8befaf2b21d710ee82ad8a2009c96 100644 GIT binary patch delta 20 acmdnWvz3QCpO=@50SG2-vDwJ2#RdQ}O9YPq delta 20 acmdnWvz3QCpO=@50SNB*n{VXSVgmp(Zv?Uc diff --git a/osinaweb/customercore/__pycache__/decorators.cpython-310.pyc b/osinaweb/customercore/__pycache__/decorators.cpython-310.pyc index 52f5f95378b0b1a81dbe319d3277eca5f0933baf..bc6873e0098351fbf53d626fcd46ec07f8200b09 100644 GIT binary patch delta 20 acmX@gew3X%pO=@50SG2-vDwJIix~hl6a_K> delta 20 acmX@gew3X%pO=@50SJCpns4OZ#S8#8Y6V#U diff --git a/osinaweb/customercore/__pycache__/models.cpython-310.pyc b/osinaweb/customercore/__pycache__/models.cpython-310.pyc index 51bc606ad8c445eed9403ef2746edb3a594e164a..7dad84ca522a3049c4055e839a482362712d754d 100644 GIT binary patch delta 20 acmca2aYceVpO=@50SG2-vDwJ&$pZj5*#!y! delta 20 acmca2aYceVpO=@50SMgp>2Kur2Kr?VFv&=5(LBm diff --git a/osinaweb/customercore/__pycache__/views.cpython-310.pyc b/osinaweb/customercore/__pycache__/views.cpython-310.pyc index 1e927bbed348597c73365cbfc5ed720655dabb1d..9aa5d200d5cc47796e1b5d9dfec803e0a6bc42b4 100644 GIT binary patch delta 20 acmbQ1GA)HWpO=@50SG2-vDwJYZ3F;0{{;>J delta 20 acmbQ1GA)HWpO=@50SKPmH{Zz3Z3F;4GzEwN diff --git a/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-310.pyc index 12b37f0a10dc7048b838593420aa335f5d3d9f53..9fbf7b1ca9f9274b7590d37b363fd6dafd2b5505 100644 GIT binary patch delta 20 acmdnUzmcCipO=@50SG2-vDwJIj2!?o7zGLd delta 20 acmdnUzmcCipO=@50SMgp>2Ks-#tr~61_ZnS diff --git a/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-310.pyc index fca888bf0b52c5f91378d37859ec696fdd228905..3ddb58f0b15bfc8163d57137b9db26f8ce58466f 100644 GIT binary patch delta 20 acmX@Yc7%;PpO=@50SG2-vDwIN$qWE9$ONqb delta 20 acmX@Yc7%;PpO=@50SMgp>2Kt=WCj2+wgg`Q diff --git a/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-310.pyc index 4e8f6a221cfe3bc52a3dded0428b9383b2fb7d63..56ebeda71d5f2a2bf0ac07e9256e052b478bb836 100644 GIT binary patch delta 20 acmcb`af^dHpO=@50SG2-vDwJ&&jJ89fdupb delta 20 acmcb`af^dHpO=@50SMgp>2KurX8`~;Zv>_Q diff --git a/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-310.pyc index 1ed221ddc7088636078b1073a8183844bd911179..9cd06f1ec6d29bb3a66b3db40f3d4b4da875160e 100644 GIT binary patch delta 20 acmZ3;zL1?epO=@50SG2-vDwHyjTrzhbOgo# delta 20 acmZ3;zL1?epO=@50SMgp>2Kto#tZ;0Vgz^q diff --git a/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-310.pyc index 2ca82eb87989cc0c05814f546b99898c5963083a..220f632aa78abdef369db03fb136c4aab2501386 100644 GIT binary patch delta 20 acmdnOxrLKEpO=@50SG2-vDwJIk_7-VwFLwK delta 20 acmdnOxrLKEpO=@50SMgp>2Ks-$pQc{qXf19 diff --git a/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-310.pyc index 7abb0c993d04ff8c5cae8cc96d4c929f7478d546..226044a8285ae5f0f3c4445da67c4d0a98df6fde 100644 GIT binary patch delta 78 zcmbQlI*FA#pO=@50SG2-v6;wyp7GYi+XvW0f&3!T$qN~eYeAS`K8O$l61O;Pa`RJ4 Sb5iXXfxKcCAR)jc#tZ=O>kzpB delta 78 zcmbQlI*FA#pO=@50SMgp=}+W7&lolF_5n5#Aiqdt@F>+0IWO~M?4wNlY->l0l!)T!d lVzYt;Pzenn_ZEjuZhlH>PO2RvkXOtBBzTwv7&#clm;sF>+6KWO~M?36w3;+^owi!)T!b lVzYt;Pzfy{_ZEjuZhlH>PO2RvkXOtBBzTwv7&#clm;u?K6dC{k diff --git a/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-310.pyc index cc30125141b92372e714c9ea73a2046053375b45..0d163e829f7ffb994103f9fb3c158c219a799ff2 100644 GIT binary patch delta 86 zcmey&`k9qGpO=@50SG2-v6;wylkwKXr>2azCQCE!W)lXA770(j!}wYU!UXd{gb0wh a#bJ}1pHiBWYR3rV6|(^e9wr_}F=hby@)M~5 delta 86 zcmey&`k9qGpO=@50SMgp=}+Xo$rv^9sVQUBWNF6TY=S`1BEiXb7+>o^m|#AL5CRgn aIBatBQ%ZAE?HGZ)Vm2Vb!^FcV#tZWHa X^HWN5QtcRlyka&WA;84JD8>u`d|43V delta 91 zcmdnMwtWHa X^HWN5QtcRlyka&WA;84JD8>u`iE0rX diff --git a/osinaweb/customercore/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/__init__.cpython-310.pyc index 0e0321838dd1113092c240e91e760cf630334f58..e614a1821152b3792c72f2857b3a202c908090e2 100644 GIT binary patch delta 19 ZcmX@dc#e@fpO=@50SG2-v6;wy7yvK>1s(tZ delta 19 ZcmX@dc#e@fpO=@50SMgp=}+W73;-@a1keBg diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 0cd843f99069ea7c7a59c9321e5f9932244ebcd7..6ffa2b0496ec262048d652ec733c70b9acaade33 100644 GIT binary patch delta 2547 zcmcImTW}NC8Q!zIx~#OT-AxUqTxAb#8XSq$uGTB5Ww2yy%U8(;OTr$;k-ZYSOSWud ziBjX(hA?>{qfQQe2sV(*r0p~fZdf4ggpfY8os45>GDBfZp_wTm4V`xS(n(0ul@dxq z+o65vp8fZnIp?2$zx~el|7Q-5CnN$H4H(}`DY#%G;@eG*#4@# zhXxxLFVYJPYIsgz8Q?T%j5`oBfYV$Ru`LkZQ5 zBMxzfGn|oV)cuVYOo~7Z7Q^sDs4ku86u1C)tG!l&N6Z*q)D?6;v@Xox^RD)v# zK+7MaUgiG0YG+j|sdiemVA+|VVcjdncXe9q^I$(Q;tUDsyNG(9Q=OEu(?>LpVFYnz z*@!m+QqeHvF9C}FN_mGRMJpzO??7E68P}q{;FdbhHIm0+m79!hiIw66LbriFK)7xG za3LMZjG3d^QL}GUj*ObKLy5@nnE9Kcor5D+zn~A`ht6<&Ke~ijWF1uiDkR;K;^_KRQqZ0KGLjBjM z1N&>kvK*0XUFQ7{LbbWX2A7RfCB-|P;?`1>K$IVO$j}CC5O+b{6XfeS-jBN$*~?=X zEXpJ;-dCZGcZd>lZWHE4?|nTllvOH-s!*+*&>%=6a<;qF z*Yzuk?gq6L;QIH~VZ%-8l#bM31d8I7C#Kx~fU1T@N|gjk{S+}>rIZ?ueVLkivUb|3 z>6+Q;PAB(`?Bk`3kmbi>4f}G!#8@;L9tvlrgd|Q(&Yp~2a&{&s?Oa;+Il2eCgUO+=ZL&jXZ;s2smSQl=@s?1> z4ogbPx}$+9pQTvLbjztiCKr;My+hF~pO*^bvB5E+uOl9qNJ_gy!7fK|mp9Smb*BsN zCU-2KPBc%(nla%dpFq7y0H#!y z#(P>jyLKCZ&tf ztZiHfC!85slH(a6)4-*ja?B>h3X}gEPgDObQU52N{P&0wCR|*mb+U=;>B)xUossp~xtSpoXO&COn}k2&-^VW@kXg_=l*XepiE8oR;aBiW z@CKv#wX(WIzXsr+S1~wiBW`OkfZB);KJRWRfA}7~@fse`-9?}wr=L;|=a@%PXr0z* z)hzdFlqHf_gTbd#^pnc7`4KGoj zl0jq9a0;APlYdw_a)UWW5Xh{qdi!>C?lCy>5wiy7ZZcZv{g4?@PF!IJFy-%e80~3n zH@Ktn&Ax)8tH2!b+xrN zx&5A8*T@5zb`J5z*1wcFoiHDvU$-n$pw}^1SgA z!vInQZ>UubzWD^%2aC(>3yl5*vY@LLMKD`G79L7PD*qy|YZX}qgO}KtaeDJiy{>w< zh)y@dkrm2pjLU<(?35aWs8sPqkrHIzqt?NN>y*iGe-$>qM^(Xv-%v&(TRs5?<8rMM zz07_~YgB9Td0q8L2Rc0txBgz;r+0qKlFITG_G!S(te<(Tf@f~v0X&L|hX(MkHw^vC z-D|8KUt=KOLg<(1ApMAG$&@m&)SJ`+Y6JOJS!^$nYlG8P4YDrl{^C^QID5n3Xe6DT kh`?>vshUj{Soe~%{Ewuby}XN44>W<7BthA5hkbwaA0Np40ssI2 delta 1577 zcmc&!T})I*6uxus-Mx4B{>>Xp-es3<39M2PlthKPh#~T`z@p2tB7f3Y zSg2Ck7t9*Qhel9qO>G*g8=2NdYe^rPra>SkZB!82R0|eu9~-swF1Bxd=~L(AI}bBw z&X@VVlj*#b-+3#)Zxw2xD3D4~)T|CbQS|$#Hros>RC>$1SG;8kh>MIUgODHyvdm^7 zms-sSs#^~p#G$2POytJKYyjx+i%p~8lkj(&M*zRLAHI;b96XF%Py5pCby!t>CAVhg z?x^!^_wTAK+1pfgOsy^`4QhepYDatPzD!S^Z-0}m*jM2RI4pJBG8%lP`z%_qud?BA z?taV8mf{R&eruLhwQ6aqJx$F_R5M*RtIMXQTWxlmGb1wDus)F&m67NZ;v-_;H3ita zM+SOE27nG)2SY{%*sX&`3R09ZN6a~fuN6Fc8`*lmZi5b^4vv7`{K9Rsq_j`9cmLr}1r~}?YJGjKgG7s-DtKXt;fQfe_%jT@JD^B^dw{%g+*S zTG|4LYeu@jg?E=jGW&}Zi-kpZ^d#SvNRo;^k~Va$4LJ;j-9_$dOXbmwW{1stv{tRE zY7ZV#EzQR&Dyt4@4y!j<+lu{HP^3U>t*UaB9BL|R%&)L-uP@nF*LL)X$Jb!n;T`3}+( zgzIUYtK2}QMU#=i@A#E2(*Gt5#_)}lGORSpkD{Y|PsX!nVF+fV>-rTWByG(yQfrdv z1GsSjI>q#$w`PaSNF^lEb@=zQFosMFKx@ugf$F6Uj})(bnd)VFj0^M~I@yrLhNTw* z7BGDlT-TkgBE8e_jLF1Iak1Ii^ob2P@eW#ngEP>Gcg(>9xU&MpcO1TX zAC=-KlSso)?;`}2?r;UjC+@f7QFHSO2L;O zAQ2DE!$Lgx0GV;d3|xu>AF~jb&A@E(d>-;w84sPMTY`pkWqJUU@-~f6oky|6a~_RK zktGwW0MnHcBHON@o2yfFK@_T;GQVMJ@F|H z?PKU7?8@!lz{T3_;O$LK6_x(##ebJ{+(qjEshL2p8ii0%_i8To$WA)cjJNyi1 yC9FM$OUTc2a3w>Y-$OjR+$1GX$|c34ERjcLzl@}>q~lUT)GJ0J3G?Wu#=ig;^S2KstX9oZ}3IzQC diff --git a/osinaweb/osinacore/__pycache__/apps.cpython-310.pyc b/osinaweb/osinacore/__pycache__/apps.cpython-310.pyc index 4eec1f562d4ac639e59ef4a32b5f6aa18df48777..f4300a5940448c875aa5fa34c7dfaa4e49d9d93b 100644 GIT binary patch delta 20 acmcc1e3zL!pO=@50SG22Kt|#0UU3Fa;t2 diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc index 391a3d4573c9f4fdf08e21f7053c75404c25fbcc..d2e743c5414e0030953b07256bb42633ca4e3c22 100644 GIT binary patch delta 20 acmca2enp%+pO=@50SG22Ksd$qfKEq6Iks diff --git a/osinaweb/osinacore/__pycache__/decorators.cpython-310.pyc b/osinaweb/osinacore/__pycache__/decorators.cpython-310.pyc index 536e4f885731c8169f0846894c4f06e016b61c19..f94951cf3b9d7a09131ecf22e786b5efbf0d6833 100644 GIT binary patch delta 20 acmdnOzJ;ATpO=@50SG22KuLU;zLxR|GKt diff --git a/osinaweb/osinacore/__pycache__/models.cpython-310.pyc b/osinaweb/osinacore/__pycache__/models.cpython-310.pyc index 89285b0298fa307d2b8b2d6a6cd99505a8b00e5c..4e673357b1c5294788cbdfcf9067c9079324adc9 100644 GIT binary patch delta 20 acmeyF@-u}ypO=@50SG22KuDGXeldWd-Q~ diff --git a/osinaweb/osinacore/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/__pycache__/urls.cpython-310.pyc index 672dbb7fe278d9df84212fa057054d568c78d778..3d7cc598aee511c868766494bd7fa74b798d1c63 100644 GIT binary patch delta 262 zcmbOze^#D1pO=@50SG2B`7U=2qj-@7&^1wfC7H?DsU`6#sU?Y- zImJbile2lV*rb3`MbeXR^ZGE#OxEDjVp9VNs7;RGD`q@4`3zqTvm(>|$=>`5T70@p tmw61C&hr>Co#QcPI?HFybdt}4=>(r8({Vm4rel28Oh@@_SdK{80|2>FO!5E# delta 230 zcmX>rKT)1HpO=@50SLm@o2R8ufOA<44ii;#BFXqi+lLXpWBsE!>&xcWZasr%_ zRhaJZsWRQ>Q)9Ztr_OYfPlM?OpC;3FJ}steeA-M``E;1B@E9;%;4x%6&tt@Nj?awg c6rVZMNj?jv6MU9T$N8+7j`3Nu9F?#G0Kn2ct^fc4 diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index dff171246bf00005553f4f4f2a8375441592224f..5d4856e9f1d550edb674b6d19b40c1d0b2f9ac76 100644 GIT binary patch delta 1139 zcmY+CZ)h8J7{~9qB)2WO{A<%(vNY{ltm`d*YI{kV+CM@!VrwPTHpMh**zc_ z7308yFuT{N8qe|Xea6AZ1+`}1=XhlZT}l8?7B^!`i}nrHsx7Npuauj5#cYi<^%v&N zx|NzYtpg3Cg$?cge*cD8-VlERL0EEfFHVQ-WWVBv!^hxvEU2mOMT%_Z5m|JK&NUvr zY`>^}0+B0RW8V<|@LOB+e$a&VJK2Yoh9%h{! zx7D!pTG^`3o6JF~6SJd_!6Y6Y&4S-PKMD{Gl75P+yXdJK@Qc1MUK$I;o+d8=9-*B= zB5lR}{LS|YVNmOJvS0YyG^OQ5b`g(eL->vsmYckW{YKq-0Db9RSiuWg48pjq>6^kd zKqd@eBX9)IX5(TEaB(PxE7?hhgL29AkSls17Erpfu;X>C)13%k@O z?c5_x@u|yHzerdjEECoU0+sm*Awmx!N{A8q2`XWXpb;{JaRN7=QlrY2St5d~ir+|+4j)JRRkHKHi^ zKwXIV;wUau5JB9CQfA}Iic4LHAc9$m#mA!B+SUiwHr^8zH(r=;?ws@g=iJA9IS-@f zz%%6WxFj()-|yVjc*#@CrrB`lC2KGx(;TeZw{^!>kW9CmQf&$NqqJv@2 zd{v0{|LHF~3aZRM<8Vt2+TjQ8X_DH6Z$~#`^aob8Ho{_D+3IIMCA+uP1u$hBZBD436ZyPiWV2Srhz8bKqUV%DSRAtI;PZuTfL8H$IK_mrJ>ubi zH+n&QXpnbU+4MkhuNvciJQ_7h{M5GcciY*hD{$aH$L8cgtm_z4|1Gxaw;>!0EIdgD zpQvBT6sQDNP#BwI&fbx_T&J9|;6rac9N- zSI3GQ^);eXex8xZh)c*>d3l3zh%XjpxlSm-M=SaRA=0=8hB6szAeSD>@avS*FrG-j zGCY{5hi1H*NWlocN~~uQx{C!eF9%%R-NY&Yy-`1&?Dn}Q#G1K}w$^Un>YfD9@k-Ky z4xCAbK|(Fn3^99K>JBAlSM@2KBwddEJq-}R(>;1gmk4asw%a2;S+;467BNovOqe13 qB)G}uCD5(&AfcL2M`$8M2<-%&5F>Qq=`~B>G2UHs3M#N;ZSogJIS8)+ diff --git a/osinaweb/osinacore/add/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/add/__pycache__/urls.cpython-310.pyc index a7b86c399917bd4d3fa315b4f41f77db71bd8564..101b3a8783033e2654e3db4e5989ae7518b676b1 100644 GIT binary patch delta 160 zcmaFEH=AEOpO=@50SG2IG;0T= ubP+qyuv^@vML7kDB_*jvdBrOkinxJdMck8jvXwJhO*Uk=WZ`4tcnknJ*C8H(OXJB{?;vfTAAjbiSi|aOOS2A*?OGZhhm=t)vQBFZ(Nl9u^UhztXB9N&?T$7)%l`~pQj$^lE;&=)G{t6l! diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc index 5b0c88301d271379e8caa1566bd9f71d5b06b749..7d783ccf90ef916681c1ad9b68ec99c303350ede 100644 GIT binary patch delta 190 zcmeB9-<-jl&&$ij00fh_*reT`$Scb@Wuo>yMvKW@jH-;5lMNV~gi?i4%u>u-7@8TQ zG*cvl88odn?_hkPKRH}fNl`m7B_+NjHMbxqu_U!vAIQ@!NUY3F%`4H(O)bgDPnkSj zRMkWRqzWn?4-t>g%}+_pxxmE0P|O0forRf)rRWNfp~>Xur^)E2skM2fVE`i=NT^6< Z@2KuzzzhI8as`F} diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-310.pyc index 123c1a1c7b9cc2337a017bdec0b6770c98d09e32..d0549264b169d4e15b0fd297f6ff27e815891c0d 100644 GIT binary patch delta 20 acmcb~bd!lYpO=@50SG22KurV*~&+Yy^}5 diff --git a/osinaweb/osinacore/api/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/api/__pycache__/views.cpython-310.pyc index 79fbf38f3ec5af01630fc22f6f0476d22cb5c813..3dafbb69ae9cf92eb4e73fd56c578bc3355e5a04 100644 GIT binary patch delta 20 acmbQqIg^t+pO=@50SG22KujV*vmxYXoHg diff --git a/osinaweb/osinacore/delete/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/delete/__pycache__/urls.cpython-310.pyc index 99ef03d1c1bd3cb3dd583c12a6c00d683cb8d5ee..2d5eaf3f8bc3a045923e1f44abafd7937cd3ff9a 100644 GIT binary patch delta 237 zcmey(F^x+*pO=@50SG2RX@fiU12}zUy delta 109 zcmbQn^_xRGpO=@50SK~gnWueWW?*;>;vfS)AjbiSi`PulUe1-y6~&h#8O)$5weiO< hMrJ=v{>iq?UnZxpOpucTD&k?}VdP`wV?>7>Ujc;16H5R9 diff --git a/osinaweb/osinacore/delete/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/delete/__pycache__/views.cpython-310.pyc index dea842057d7815d5efdff198f7d672456d0d6c21..bb74bb8911c3ef7c866c963e7fcd87addd3e101b 100644 GIT binary patch delta 360 zcmdlaIa`J=pO=@50SG2UWsmQeoA7FUPei7&Pv82kp7iSMM9GovP*c0q@?DgmZZi*RmOu=&IOqavVw(~ zho#63$iV4ItjtZ#E6GhQ$;eO9j}pWX+dPl?6CaX}Vc=opW1VcsE;`wPU5N1o0BVsg@Bjb+ delta 109 zcmbQwf0<7^pO=@50SMgp>8EXEXJB{?;vfTYAjbiSi?udtt1@z>3rC5kXa_TB>TJ$n rbY)^Ro~+0sy7?9JZAM0k$;ViqO+LuBhEZp79=j4R3m+p4a=ZipN^%v9 diff --git a/osinaweb/osinacore/edit/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/edit/__pycache__/views.cpython-310.pyc index 65db3dfb3a8eb29aa311c76b8a1d96c3f6140db2..d9ca5137dd715fe6ae6b904b7a982f5a685a0126 100644 GIT binary patch delta 1737 zcma)+TWFJK7{~i2HO;E|)TTK%ho;dq)z%ZJSP{X)M4=Wc1FI~=Cc{Ev?3*veidv!p>B?$yYXUd1U4A#VmG^Rj$H@?pZ}L?qL|tb-e2DL&Hs7w zobr9U{+CuIX)=|U@IxbuKiRwDh*Bk1-Ja1XDq^N+eYBysq(`(?M`yK^gl1>r!fF=J zsi$(jaY#r#8x7He$^{djm-4n$KS?h;GJ1j0nsu&%05Srt;` z1pbigfKF<(1tE5tsncdN?7*d}*@d5%e=+4Q|xE+ zxxoWa3dXBPD+wRg@{(~zNY}JINLyW%&aIKIL~M&%pNOfOlhKCFY9cNZkZnOEUUMwk zu7*cN;hbnEyOt7~eiGI0Om&qa#9^B4p2LxDa?cYJV@QI0_JO3^)#)1R_8yBV^9?EryFTz*OKYa1QVR zp8`(cBj7xMnB)M^2V4LQ9&nJl1D3!=Y&QU#fWyEg;4|PdFjec&u+L|>&UHuy=$>a< zsiK!xxfZ{#Mg}iF@YVa8Bk5EuT9Cpi7@uZ@?Bj}_LjKjxcf~sz?m@qEVX<(trg$W! zh9hliduO}aH5xbq_#C*RrSOlx!tfX=chH*g$o&>7IpY&ItMvP=8O-lBA1FwgJ00JhlV{O?^z^ YnJZnB%Z1Lw%g4*j%fZXSt5y*&0ehN@XaE2J delta 1568 zcma*nTS!xJ90&0IogGZuXzk*hyJ$MyninJ}$$AhZ!$JfjXcn^6NH8yFM=?pJXjx*J z{K{@-S=z-)vt>8UOTF~ag?b4D3txH&f}rT3r~cnFaat|h!)O1U^ZWnz`~UvGb3VAo zcdM&Zsz?R@NZ3;nW*G}PI|4|808J; z!*Jy)rC3SXv1W4VKeHOrL}|%xNMaIwiZ;^$Lo2`b)v#?%HRh?s75q!w2}ByvXvrO| z;{jFC>x6n-tfra-9r>eOtbxzB80#=AB45Uu{M9V z*~M5pJ-1}=z#o?Ntb!cY0(BQ(V@4>HJW{P!Y^I~u?L6qcRbs7_Ys+B$G?`$bZriNy z82;=y=m00cNze&S0RkT2<~X&1vX$XNH_(8y;2ekp=Ya|A0v7;s5-);g&;tZ3yhIwi z-qwp@5!eUX!DVm-^ifKDrZB)13U4Cqu-U`aN^yWF{$m~z|FtqMHLk!@>n$r?l=*2) zJi~Dsmz6Y)t<5w2E6w>VZ3(8#P+88XDm-4P*i#~v*Og0$#6JADT$-yGUE{rE7hWKJ zEBWlP5rR@37Qw_JeiASB*AXHgzzvK7wWpp$Q_*rOd=v9-fkAK^+yVdD4ljCQsO^Y% zF*&dax!v~K&1{w$>`DL-aT zl^Bn4=mO#HIM6?X6JQbqiYE6(iOVLK!+2Y#(V!zeQXM8v^N4(BJWab^ZK*`G1R6ji hXaX&u4fKNnFa(Cd6qu&BDM`#tKU20c17)Wgegk2&Xczzh diff --git a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc index 13c608f6700b83073612c39a2933a1b67a8899dc..d230e1e8b28f183ac1366b32addbf715bc911e79 100644 GIT binary patch delta 20 acmeAY=n~-0=jG*M0D{R|Y<LX9oZ-D+L$; delta 20 acmeAY=n~-0=jG*M00Q@Y`Ww0bvjYGu5(LQr diff --git a/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-310.pyc index 32e894c7e08d7bfe7c707dc1e6f31d31b56ac235..36557745e2477bce78587049d9be946714ae111e 100644 GIT binary patch delta 20 acmZn>Y!T$n=jG*M0D{R|Y&LRNasU7Y!T$n=jG*M00Q@Y`Wv|`IRGk01Udi! diff --git a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc index 0b93871355f4a70d728078dbeb963e5e4f3676bd..229998dfeaa2965c4c8bbb382ae1a97ad073bebe 100644 GIT binary patch delta 20 acmZqSXyM?_=jG*M0D{R|Y<LWCj2%7X2KsdzzhI0@&xt( diff --git a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-310.pyc index 852f5611e9bb79de7fc09422eed37f91ab44fd47..710280c5c8069048826b162fd1668e729e5e740d 100644 GIT binary patch delta 20 acmZoy{$x)U1ppR;5l{dC delta 81 zcmaFK@sfi(pO=@50SMgp>2KurWn{dyIg+uBkx^#y113*4eV{~<{$zdTos8;}UoyK% RX@LY-!J?>y!DLSs1ppwJ5sCl+ diff --git a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-310.pyc index ab95c824ce20910b8d326780c995bfe6151f845c..4e3e2d3fc6320d005b58bb4bb7a5e8ea41b14211 100644 GIT binary patch delta 114 zcmdnNwu6m3pO=@50SG2AIn;cNQNN%zg(-Q#*6U+w@@{{G5r2ybL9Gn0E diff --git a/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-310.pyc index 15784685e17ff2e5c4d7cd287f2570ae97ef322a..8dc9d6cde30822642e650199e2cb8f1ef277cac1 100644 GIT binary patch delta 56 zcmdnNx`UNFpO=@50SG2L88Jz0hMAEV-AWfnIpHIM)+SQM4e0dj9~*yQG?l;)(`F#>tTAnQ1oco+p3 IIT*#50W=X9KmY&$ delta 133 zcmZ3?xtNnXpO=@50SMgp>2KtYW@NlIIh`?$k!$ifMss11#4VQ6;?yEdmLd?Rh2Ks_Wn_%nEXdf+$fg7oDpH!fi0Ph`EQrYh=A#nIlV>r@ F007!X4AuYu diff --git a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc index 809501a9b739823430e8519c5be0adb7798ec260..19227321f3c07b405b035468a9f0dff803cc1d05 100644 GIT binary patch delta 20 acmcb>eu14kpO=@50SG2eu14kpO=@50SMgp>2Ksd$_xNBx&;LQ diff --git a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-310.pyc index 3ac81f5c4a8ecc4ce711758b9ec982223b2f0391..7a44b3ee8e208f4f2a2f2c68f03facb4aafcbee5 100644 GIT binary patch delta 78 zcmeBS?P2B4=jG*M0D{R|Y$kG_VT_u1V>g=!kY6M+c_!mYEeI3L2N9w`;ueQZZhlH> RPO2RvkXOtCBm|hmm;uWg5ElRd delta 78 zcmeBS?P2B4=jG*M00Q@Y`V+a&Fy5MYV>g>9kY6M^c_!mYEeI3L2N7aG;ueQZZhlH> RPO2RvkXOtCBm|hmm;u!a5KaI9 diff --git a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-310.pyc index 6179a344f30a06cd17cc261beabd735e38fbf888..839cc7d6df63bcdf3435dedcf2d7d4bdee394821 100644 GIT binary patch delta 75 zcmcb@eubSopO=@50SG22Ks#WMqt*tjj3F7`54pF^7>&87NVtJb4e(BPlr$lLgF2 LB~&KwV3q*@REZA5 diff --git a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-310.pyc index 9f1769fbbe852d767d574e799e37d860e551afa4..e8222c3fce960c6e527c74ba2c423a15a4e5874d 100644 GIT binary patch delta 83 zcmeyw@`;5zpO=@50SG2+a}paLP_T$^av|e&EeI3L2NC>0;ueQZ VZhlH>PO2RvkXOtCBzTy_m;rYF5+eWr delta 83 zcmeyw@`;5zpO=@50SMgp=}+X|!gy=q0SO>+a}t{XP_Rf~av|e&EeI3L2N8lm;ueQZ VZhlH>PO2RvkXOtCBzTy_m;s;C65s#; diff --git a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-310.pyc index be285d6aaebfd66b6a70246eba8955e1082d5119..1f2e6821eb30ebc57e55a4ca0298a5a2988d123b 100644 GIT binary patch delta 56 zcmaFO`kIwHpO=@50SG2uGfczq{$yXWQ2tb%%K8O&Xe33~C0MO75 A@c;k- delta 56 zcmaFO`kIwHpO=@50SMgp=}+W-z!)|0&0{uEAiqd-@>Rw+0uUyc42KuT&IAB5K?K$S diff --git a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc index 9f614f4d22301b557c68eb954960868fb21af9a6..16a276b260ac9b9fdc4e5e8486f111f253d89cf4 100644 GIT binary patch delta 20 acmdnYxtWtYpO=@50SG22Ks-!2$pqc6(&B>Dyp+_GA~}c%S4e76Zf0I$2~bELDD?6KNSwI{WXvu02Kuz&B%CbGCNZfBiH0ECT%v5M3M01-As-UCii3}W{Yq+ zpr|I(EzaQ5;)2w?l+=_Wd58#CNNQ1TW?o_mP)GqN^zsBqoVf^O%q{lhjQq^x)Z!vx z5Rav_IJF2WRm1}nDdL?xk@*RmDTryhxtb-G(Lx8rW(5nN5@tZ|Ee@O9{FKt1R69l> Rub2Z!@GuE5axjW90{}FrE_46@ diff --git a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc index a671494feee4c7a3eeec73ea10e77a9048b362d0..530a63c608b6d77dbf6ef877961ce535448443ea 100644 GIT binary patch delta 20 acmX@adWe-fpO=@50SG22KuT&IAB5K?K$S diff --git a/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc index 0f49a679b2c537d99100b1a7a96910f4d869976f..df947b96117db4e6582a0f711d93c8635106befa 100644 GIT binary patch delta 91 zcmZofj=jG*M0D{R|Y$kHwXN=nTnu(E35-3n4Ir%f=4KooClLgF2C8U7dTO2mI X`6;D2sdkJ&UNIYx5Mbh96k`Sef9Vk` delta 91 zcmZofj=jG*M00Q@Y`V+bDGv3g{vm5}VeGw`E delta 74 zcmeC?=;q+g=jG*M00Q@Y`Ww0385yG{2QyA&E;Z*kb< X=BJeAq}nk8dBto%LV$^bQH&V?khc*x delta 91 zcmbQoHjj-vpO=@50SMgp=}+W-%ow%ty(A->G*F;OdNLo=Ei*9?lLgF2C1ilyTO2mI X`6;D2sdkJ&UNIYx5Mbh96k`SeQ}7UB diff --git a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-310.pyc index 473cfdb7a74726af9b6f94e4b06abe2534bbe1ad..b5e71473e9c6f0d923369ed2f1cd66a8a398a52f 100644 GIT binary patch delta 56 zcmX@ba*BmJpO=@50SG2y0uUyc4y0uUyc4qV AQvd(} diff --git a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-310.pyc index 3c93b06806aa697461c019ea5f02345f13b223dd..6055cd57cfd34d7264c4c8ddfd91855bc86dec05 100644 GIT binary patch delta 20 acmeBY?PulA=jG*M0D{R|Y&LSYFaZE8Vg!r; delta 20 ZcmeBY?PulA=jG*M00Q@Y`Wv}hm;fqC1U&!% diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc index c510db57c55e387b72e1a46fddbeb21a5d1cdd42..897bc33e12b79b2316d81fbb5bbb3f2180d80015 100644 GIT binary patch delta 84 zcmcb}dXbeopO=@50SG2*`$D?MN*UBGw#rWFu{BfAq^yM YaoFVMrup}j61X-OfVlrNCAmk Y95%W6DWy57c8ow?F$<6oU=m{n0CA@hEC2ui diff --git a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-310.pyc index 7cd4414e2e2eed29a8d75ba5f37c4977f89c99f6..03b525a72d0f28b83ed357619e33ebb9239b4fb8 100644 GIT binary patch delta 20 acmbQpI+2w-pO=@50SG22Kt2V*&swnFK=s diff --git a/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-310.pyc index 389e2b9d0c80dd9ddd64981fcde2050a14d56fe1..a7833792ad3a631f4fde2b08e71c378066106a7c 100644 GIT binary patch delta 117 zcmey){+*pWpO=@50SG2%cz#iKW?s62e_oLwSm+j~ xbAE0?PHIVNN|DgyyNq^>Vv}W<&ai0#Ws9^Xzhk;Ar3zxQfcdC|_T<~lG63xy9Ekt` delta 117 zcmey){+*pWpO=@50SMgp>2KtgW@NlIS)Fl$njla_lj#>%cz#iKW?s62e_oLgSm+j~ xbAE0?PHIVNN|Es7yNq^>;*({V&ai0%Ws9^Yzhk;Ar3PZMfcdC|&g9$7G64Rz9K`?t diff --git a/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-310.pyc index c6ac5f0c29bd9fe3b28de0e49a69405f9bf053c3..951fea3dc589a4e4585ec82ebb083ba4d9ac35b1 100644 GIT binary patch delta 119 zcmdnXwwH}NpO=@50SG2qo!j9L&jSO7$b0*PB3Ho5sJr8%i~j6hy73y=_C H5@QAce=!_D delta 119 zcmdnXwwH}NpO=@50SMgp>2Ks#XJouJ*_hEq@fKf7Vo7Rzd45rLW?p)J-Yve8%-q!Y zV+8VwS%8E9 HlNd7q1zsKr diff --git a/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-310.pyc index da4a57b68853e36a497a9daa72966de04e6ffe03..d0baa93f3b78402780a296976ecb7bb4eee5d0f3 100644 GIT binary patch delta 133 zcmaFE_J)l+pO=@50SG2Kll_>!XhE1@K8TP861O;P Wa`RJ4b5iXXfxKcCAR)jc#tZ2KtgVPuOkH!v_Zo_v5wY_c<>3S-pd3`TFoD87`$lGOO} z{G#m4y!8CMD87=++|>Bw{M>?^)RNScsL59tOV~t##uSN8_G9{@1!02uAVLgC+~Tmw V%}*)KNws4H@`_o2gaDHmGXRzOA(a3C diff --git a/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-310.pyc index 55dd2cac4ed7526ee1bac27affa4d1b6e80b5a39..78c93d3c14454a88f0f469f825c8db0cbdf5b108 100644 GIT binary patch delta 20 acmdnMx`CBDpO=@50SG22Ks-$^-x}aRi_M diff --git a/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-310.pyc index abca7f0e358d8f57cea9d8c05c69ae1d80fecc36..e5296020437ff2032459bcbff73e2a44ece7fc3d 100644 GIT binary patch delta 20 acmaFI_KuA^pO=@50SG22KstW(EK_Mg-je diff --git a/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-310.pyc index 89deacf02953e49f622fdd9afc726638aba39b95..bf29e53bf56f5abf165fb8e0277443c2e6fd18d1 100644 GIT binary patch delta 20 acmaFK@{)x+pO=@50SG2X5P6ZeM delta 20 acmaFK@{)x+pO=@50SMgp>2KtYV*&s-H3Z23 diff --git a/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-310.pyc index 08cc9f06e1a470924e9e73f1cd40df6d48be72e4..1eb2652fcb76e9ac1a500b63482f043af19ee513 100644 GIT binary patch delta 20 acmbQqHj|AzpO=@50SG22KubV+H^!{sZ0s diff --git a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-310.pyc index 6bac9f00dce22bbcaf1597fa23748258dba5edfa..a5335f4d493a103fb742e7d6d39127e33dbf9268 100644 GIT binary patch delta 20 acmZ32KtgV+H^%egqBx diff --git a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-310.pyc index 21326734ffcf56135dc726573cc65a9b8475f345..7af8072812d68da36b6ffda0dcd568226eaa536f 100644 GIT binary patch delta 20 acmdnMx`CBDpO=@50SG22Ks-$^-x}aRi_M diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc index d27d055032eec12a1f1ccde77b381aad4f2a251c..46fcd82c8372dbfb17546c3bcc3246f5614704f1 100644 GIT binary patch delta 20 acmeyu{)L@8pO=@50SG22KtI$qWEGS_N?c diff --git a/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-310.pyc index bc9dbe84658e8b4693312d8ff0d744c7d60c564c..6aad526a1d1a3f873f90c3fc84fc388446d13ea1 100644 GIT binary patch delta 20 acmeBY>u2N6=jG*M0D{R|Y&LSUFarQ9hXfA* delta 20 ZcmeBY>u2N6=jG*M00Q@Y`Wv}fm;otn1Hb?P diff --git a/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc index 6cea8eaa8972198afef434375a02cd82b71bdebd..e949ab6d4896ba6af5a71933a9a74da80d778691 100644 GIT binary patch delta 62 zcmeyu`h}G{pO=@50SG22$t{faY?46HBFV{|Oa}!ZOfVlrNKL-Q GBn1He2oAIW diff --git a/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-310.pyc index 71af926f0a1a635ca22046accf09b69e14c7fc00..1c917dfece1ae4082725a2afe69e8e842a8b7e63 100644 GIT binary patch delta 20 acmX@da*l;NpO=@50SG22KtAW&!{*{RDUb diff --git a/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-310.pyc index 8ed71621dfea56452a42cd0d9854b50c230440c1..802b17e27a6a9ced6eb935da2385bd5ea0f58064 100644 GIT binary patch delta 67 zcmZo;Yh&Zi=jG*M0D{R|Y$kF)WQ^MQmV=Q^3Mfz{HTgH=RVh&rlLgF2C8Q_6Vv+#> D0x}Ld delta 67 zcmZo;Yh&Zi=jG*M00Q@Y`V+YyGTz$wmV=Q^8YoaCJ^44|RVgtLlLgF2C1fVQVv+#> D3AGM# diff --git a/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-310.pyc index 82ee063bdc56d284217b0301c46c14504a2b037c..9b194205289b5b8c74c6c410893eb1d71cd83222 100644 GIT binary patch delta 91 zcmZo-YhvTh=jG*M0D{R|Y$kF)WW2TUEh8hFG*F;Odh!>>8)jl4CJUI4O2`1Yw>WHa X^HWN5QtcRlyka&WA;84JD8>u`r@0Zo delta 91 zcmZo-YhvTh=jG*M00Q@Y`V+YyGDdBD%gD$k1r#Wfn*4?FhM6dc$pYr164F5KEe@O9 X{FKt1R69l>ub2%;2rzLliZKHKYVr{2 diff --git a/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-310.pyc index e66bae92449825bd4eaf41077680ec0f678c9cf0..0142c2b07ba7de70ff0612b10521d827628c3bb9 100644 GIT binary patch delta 66 zcmX@fdXkkppO=@50SG22KuLW(EK+h6FVL diff --git a/osinaweb/osinacore/migrations/__pycache__/0049_alter_customerprofile_business.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0049_alter_customerprofile_business.cpython-310.pyc index 6b8b5971ad8f2e1fcb20dd57b6ba294729e9b2b7..cd3a6f68d1c9c436696816a2511581cc312f602d 100644 GIT binary patch delta 20 acmZ3;wvdfGpO=@50SG2 delta 20 acmZ3;wvdfGpO=@50SMgp>2Kr~V+H^$J_Ggu diff --git a/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-310.pyc index b9b8b7c545773e558e18e4d304dc04aaa8c9331e..c5b637774e1b301d79f4ed6d08c2ff3f76e4b987 100644 GIT binary patch delta 20 acmX@gew3X%pO=@50SG22KuT#S8#50tDm$ diff --git a/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-310.pyc index 68ab2a96c4dcf32906166531a639bef9e2f44f10..756c2d2f48bdf448918d942bd43b823deac74ad5 100644 GIT binary patch delta 20 acmZ3%wt|g2pO=@50SG22KtgWd;B(Rs;(G diff --git a/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-310.pyc index 6741fc8226a6debf50ed32905ec00c74892e5c3d..02b6575edb77df154621e7e77f8ecdce2040980f 100644 GIT binary patch delta 20 acmeyt`h%4_pO=@50SG22KtI%LD*Au?2Vl diff --git a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc index f6f6426a3783a3acf53a576bd82524b846188c97..530e3939b75f2e51429214d465e8565115454a7f 100644 GIT binary patch delta 20 acmZo?Z)fMu=jG*M0D{R|Y&LS&FarQ9YXo@! delta 20 ZcmZo?Z)fMu=jG*M00Q@Y`Wv}xm;otL1S$Xk diff --git a/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-310.pyc index 46804f763dd06f29ab1fc876e5c7cc9aec32dd0e..40bbd9b03e2446611e6869c31a54199dd7193532 100644 GIT binary patch delta 20 acmX@WdVrNXpO=@50SG22KuT$^-y0@dVHS diff --git a/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-310.pyc index e97fa6d9b04e0cc9dde7a040690b1e56ff2527af..94043b1e8cdcf688641e3f318ce4f5d291e62e46 100644 GIT binary patch delta 20 acmey(`kR$IpO=@50SG22Kuzzytt0DFuN5 diff --git a/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-310.pyc index 49dcb0148a785f3d5dfb86452e2e3eb0228040ff..4159e16d5aed897acc4176ebc12663b80386275a 100644 GIT binary patch delta 20 acmbQkI){}zpO=@50SG22Kto$OHf^Q3PZF diff --git a/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-310.pyc index c486f0380e136dd94e98e98addf206730d24753f..9b1522518e5dbd1dc36aeb35073d54b32e9e1d21 100644 GIT binary patch delta 57 zcmZ3=wv>%KpO=@50SG2)QJ_GP=;S|){{%KpO=@50SMgp=}+YT#&~No6XO>)F`z(^*yKNq{{}fczq%$;TNVX+fA^K8O$o61O;Pa`RJ4 Sb5iXXfxKcCAi={V#tZ-_V-bn~ delta 78 zcmcc2dYP3wpO=@50SMgp=}+W7!x%O3#!EIqAiqd(@^QvTS`a3f4B$02_oT!?OcpR7m5`at!7Kv+ D49X2q delta 67 zcmZ3&wuFs4pO=@50SMgp=}+W-$QZTptt=y(6i}c@YO(;+Jt2Kto$OHf^Q3PZF diff --git a/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-310.pyc index fcea20761ee22c9523deadfc3f36d94dbea98381..b325ce9f4b622c029f23fbd1bfcd4867d95b3a0a 100644 GIT binary patch delta 56 zcmX@gdX$wrpO=@50SG2A4G^wUd<#00Hu%( AtpET3 delta 56 zcmX@gdX$wrpO=@50SMgp=}+W-z<6uoo5O6PKz@A4G^vUd<#00IJ3f A2Kt=WMqt*?8?|D$PX0JWV*%fpO%)BnU`85u=xq21|yp` aP`F5YvJmqdDK!w270gE^bS6u%$N>PMjS`dq diff --git a/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-310.pyc index 9a3ed6b51ba9da0c4123c23582c6bc2568e3356c..b912f3dfa11241c363e276c43c8fef432178689a 100644 GIT binary patch delta 20 acmey%@|T4>pO=@50SG2pO=@50SMgp>2KsNVgdj2Kuz%nSfK>IIJg diff --git a/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-310.pyc index 893df667737f213e62b8a12a21f0563393d997b6..69217bfaaa0e0ebdbf2cea40f15dab01936cfec9 100644 GIT binary patch delta 20 acmaFI`i_-5pO=@50SG22KtI%me^AAq83h diff --git a/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-310.pyc index 012f05e69cb4999fb3edd749add645610c01a620..962693d49257fffa1490e002eba470fb70700fac 100644 GIT binary patch delta 20 acmaFI_KuA^pO=@50SG22KstW(EK_Mg-je diff --git a/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-310.pyc index b112aa76f525d41492a7e467d961038ca49494de..f5b4528f30bb7e58985c095cec4e8a8180aa8b25 100644 GIT binary patch delta 78 zcmX@idYF|vpO=@50SG2}3aAiqdt@>#|+S`a3f4I diff --git a/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-310.pyc index 2734b822e70b9ffe57866859d9631dc92c9e5895..2fd493e36482a2cd5f3d31bb415275fb40b8201a 100644 GIT binary patch delta 20 acmcb@c7=^QpO=@50SG22KurWCj22KtYWCj2>wgkTb diff --git a/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-310.pyc index 051d5c66fc3a68d3ad7c8b55ffd392f7a44e56b6..486bd2a7649b15941bc29ef6e5b9881aa15b0378 100644 GIT binary patch delta 121 zcmZ3$xqy>9pO=@50SG2%xIPO2RvkXOtGBm|f^7{!9pO=@50SMgp>2KsVWMqt*Y|FTik$3Wa#(W^@&t%6f0+cNh1rcJCXE5z# v(*iNIHit6{Gn%P@*eqZHR6-lby~SaZo1apelWNBZ~V!Mlogpzv&gy diff --git a/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-310.pyc index 46f8f7c3ff52228277ec7ebf12edbea92a88ae81..d18192d88b3639eaad3a68891d3a693e7de06221 100644 GIT binary patch delta 20 acmey(^_z=3pO=@50SG22KsNU2KsNWMYh(T+8IaCJYoQ64`v3DS?sA0K_)fY{;U+D5VKv Ovw{Us3B$?dta1R0QV!Gr diff --git a/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-310.pyc index 85c02dfc6a2bbf7419a33b500778f46bc6c2e91c..88e44b02c6732e68dc606a66ab3f00eabcb20d71 100644 GIT binary patch delta 20 acmey)`kj?KpO=@50SG22KtI!vp|2i3N24 diff --git a/osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-310.pyc index aab480811133fa1dcfa992d4137800e7f226c8e4..998f257a917a2af25ecca07b37b3f680a1a1fb97 100644 GIT binary patch delta 78 zcmZo>ZD!@p=jG*M0D{R|Y$kF)WQ>~lwx5k3$S>lb+{AcY3&I5RL4*L1xW!?Uo1ape RlWNBZZD!@p=jG*M00Q@Y`V+YyGTxf_wx3M^$S)F@+{AcY3&I5RL4+WXxW!?Uo1ape RlWNBZqepH-0pO=@50SG2qepH-0pO=@50SIo+G2h6&iyHtqqy>Zk diff --git a/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc index 87c149a36cd8bf509456a15d2fa11eb33adba628..6329ca7eac64d5d52cad6be632af98d6db856144 100644 GIT binary patch delta 20 acmcb?d4rQXpO=@50SG22Ksd%K`v4Lj@uL diff --git a/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc index 88bdd9c6b4904a5801691a52019fc316dc9272d4..ac072b7e58036f4e921a21b978e5eb7d71950b47 100644 GIT binary patch delta 20 acmcb@a)pIEpO=@50SG22KurWC8#)?F5Pd diff --git a/osinaweb/static/images/generated_invoices/invoice_024-1426_KZl00TC.pdf b/osinaweb/static/images/generated_invoices/invoice_024-1426_KZl00TC.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f57f8f8a51f5d778b243801e66184dc75a46c61f GIT binary patch literal 38904 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 literal 0 HcmV?d00001