From 592fb22604b1e2270b7d343fd21188c2df71dfd3 Mon Sep 17 00:00:00 2001 From: nataly Date: Thu, 25 Apr 2024 14:37:15 +0300 Subject: [PATCH] New changes. --- .../__pycache__/__init__.cpython-311.pyc | Bin 201 -> 182 bytes .../__pycache__/admin.cpython-311.pyc | Bin 733 -> 714 bytes .../__pycache__/apps.cpython-311.pyc | Bin 582 -> 563 bytes .../__pycache__/models.cpython-311.pyc | Bin 3082 -> 3063 bytes .../__pycache__/0001_initial.cpython-311.pyc | Bin 969 -> 950 bytes .../0002_country_addressbook.cpython-311.pyc | Bin 1878 -> 1859 bytes .../__pycache__/0003_contact.cpython-311.pyc | Bin 1455 -> 1436 bytes .../0004_socialmedia.cpython-311.pyc | Bin 1319 -> 1300 bytes ...05_socialmedia_addressbook.cpython-311.pyc | Bin 1030 -> 1011 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 212 -> 193 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 197 -> 178 bytes .../billing/__pycache__/admin.cpython-311.pyc | Bin 985 -> 966 bytes .../billing/__pycache__/apps.cpython-311.pyc | Bin 570 -> 551 bytes .../__pycache__/models.cpython-311.pyc | Bin 9884 -> 10386 bytes .../billing/__pycache__/urls.cpython-311.pyc | Bin 1060 -> 920 bytes .../billing/__pycache__/views.cpython-311.pyc | Bin 4040 -> 2700 bytes .../add/__pycache__/urls.cpython-311.pyc | Bin 612 -> 613 bytes .../add/__pycache__/views.cpython-311.pyc | Bin 5196 -> 8009 bytes osinaweb/billing/add/urls.py | 3 +- osinaweb/billing/add/views.py | 13 +- .../__pycache__/0001_initial.cpython-311.pyc | Bin 2163 -> 2144 bytes ...vice_cancelled_at_and_more.cpython-311.pyc | Bin 1292 -> 1273 bytes ...003_payment_servicepayment.cpython-311.pyc | Bin 1820 -> 1801 bytes ...rename_payment_paymenttype.cpython-311.pyc | Bin 755 -> 736 bytes ...05_service_recurring_cycle.cpython-311.pyc | Bin 1045 -> 1026 bytes ...ervice_created_at_and_more.cpython-311.pyc | Bin 1168 -> 1149 bytes ...er_service_recurring_cycle.cpython-311.pyc | Bin 1112 -> 1093 bytes .../0008_alter_service_type.cpython-311.pyc | Bin 1097 -> 1078 bytes ...cepayment_service_and_more.cpython-311.pyc | Bin 1804 -> 1785 bytes .../0010_charge_amount.cpython-311.pyc | Bin 925 -> 906 bytes .../__pycache__/0011_invoice.cpython-311.pyc | Bin 1318 -> 1299 bytes ...nt_charge_receipt_and_more.cpython-311.pyc | Bin 1527 -> 1508 bytes ...alter_invoice_date_created.cpython-311.pyc | Bin 865 -> 846 bytes ...014_servicepayment_comment.cpython-311.pyc | Bin 870 -> 851 bytes .../__pycache__/0015_order.cpython-311.pyc | Bin 1573 -> 1554 bytes .../0016_alter_order_status.cpython-311.pyc | Bin 972 -> 953 bytes .../0017_service_order.cpython-311.pyc | Bin 1019 -> 1000 bytes .../0018_alter_order_status.cpython-311.pyc | Bin 980 -> 961 bytes ..._service_customer_and_more.cpython-311.pyc | Bin 4559 -> 4540 bytes .../0020_orderitem.cpython-311.pyc | Bin 1321 -> 1302 bytes ...m_recurring_cycle_and_more.cpython-311.pyc | Bin 1163 -> 1144 bytes ...e_item_created_at_and_more.cpython-311.pyc | Bin 1230 -> 1211 bytes ...em_project_alter_item_type.cpython-311.pyc | Bin 1357 -> 1338 bytes .../0024_remove_item_active.cpython-311.pyc | Bin 749 -> 730 bytes ...item_project_item_customer.cpython-311.pyc | Bin 1215 -> 1196 bytes ...tem_type_remove_order_paid.cpython-311.pyc | Bin 906 -> 887 bytes .../0027_item_type.cpython-311.pyc | Bin 931 -> 912 bytes ...0028_remove_order_due_date.cpython-311.pyc | Bin 730 -> 711 bytes .../0029_invoice_pdf.cpython-311.pyc | Bin 860 -> 841 bytes .../0030_alter_invoice_order.cpython-311.pyc | Bin 1012 -> 993 bytes ...ter_invoice_invoice_number.cpython-311.pyc | Bin 881 -> 862 bytes .../0032_order_business.cpython-311.pyc | Bin 1102 -> 1083 bytes .../0033_alter_order_status.cpython-311.pyc | Bin 997 -> 978 bytes .../0034_alter_invoice_pdf.cpython-311.pyc | Bin 882 -> 863 bytes .../0035_alter_invoice_pdf.cpython-311.pyc | Bin 864 -> 845 bytes ...ter_invoice_invoice_number.cpython-311.pyc | Bin 890 -> 871 bytes .../0037_recurringcycle_item.cpython-311.pyc | Bin 0 -> 1009 bytes .../0038_alter_invoice_pdf.cpython-311.pyc | Bin 0 -> 863 bytes ...recurringcycle_cycle_price.cpython-311.pyc | Bin 0 -> 840 bytes ..._orderitem_end_at_and_more.cpython-311.pyc | Bin 0 -> 995 bytes .../0041_orderitem_active.cpython-311.pyc | Bin 0 -> 859 bytes .../0042_order_due_date.cpython-311.pyc | Bin 0 -> 825 bytes .../0043_alter_invoice_pdf.cpython-311.pyc | Bin 0 -> 861 bytes ...044_alter_orderitem_active.cpython-311.pyc | Bin 0 -> 841 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 208 -> 189 bytes .../templates/add_templates/add-order.html | 34 +- .../details_templates/order-details.html | 88 +++++ .../templates/listing_pages/orders.html | 9 +- osinaweb/billing/urls.py | 4 +- osinaweb/billing/views.py | 37 +- .../__pycache__/__init__.cpython-311.pyc | Bin 202 -> 183 bytes .../__pycache__/admin.cpython-311.pyc | Bin 257 -> 238 bytes .../__pycache__/apps.cpython-311.pyc | Bin 585 -> 566 bytes .../custom_context.cpython-311.pyc | Bin 0 -> 846 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 1100 -> 1081 bytes .../__pycache__/models.cpython-311.pyc | Bin 254 -> 2869 bytes .../__pycache__/urls.cpython-311.pyc | Bin 1499 -> 2695 bytes .../__pycache__/views.cpython-311.pyc | Bin 8889 -> 19056 bytes .../__pycache__/0001_initial.cpython-311.pyc | Bin 0 -> 3861 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 213 -> 194 bytes .../add_templates/customer-add-ticket.html | 31 +- osinaweb/db.sqlite3 | Bin 1155072 -> 1159168 bytes osinaweb/input.css | 6 + .../__pycache__/__init__.cpython-311.pyc | Bin 199 -> 180 bytes .../__pycache__/admin.cpython-311.pyc | Bin 3509 -> 3576 bytes .../__pycache__/apps.cpython-311.pyc | Bin 576 -> 557 bytes .../custom_context.cpython-311.pyc | Bin 6840 -> 6821 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 1083 -> 1064 bytes .../__pycache__/forms.cpython-311.pyc | Bin 941 -> 1474 bytes .../__pycache__/models.cpython-311.pyc | Bin 24136 -> 24887 bytes .../__pycache__/urls.cpython-311.pyc | Bin 5756 -> 6545 bytes .../__pycache__/views.cpython-311.pyc | Bin 27217 -> 32024 bytes .../add/__pycache__/urls.cpython-311.pyc | Bin 2821 -> 2777 bytes .../add/__pycache__/views.cpython-311.pyc | Bin 26415 -> 24699 bytes osinaweb/osinacore/add/urls.py | 2 +- osinaweb/osinacore/add/views.py | 12 +- .../__pycache__/serializers.cpython-311.pyc | Bin 1421 -> 1402 bytes .../api/__pycache__/urls.cpython-311.pyc | Bin 431 -> 412 bytes .../api/__pycache__/views.cpython-311.pyc | Bin 2151 -> 2132 bytes .../delete/__pycache__/urls.cpython-311.pyc | Bin 1613 -> 1594 bytes .../delete/__pycache__/views.cpython-311.pyc | Bin 5870 -> 5851 bytes .../edit/__pycache__/urls.cpython-311.pyc | Bin 2645 -> 2626 bytes .../edit/__pycache__/views.cpython-311.pyc | Bin 25409 -> 25208 bytes .../__pycache__/0001_initial.cpython-311.pyc | Bin 3744 -> 3725 bytes ...ions_staffprofile_and_more.cpython-311.pyc | Bin 3889 -> 3870 bytes .../0003_milestone.cpython-311.pyc | Bin 1521 -> 1502 bytes .../__pycache__/0004_epic.cpython-311.pyc | Bin 1463 -> 1444 bytes .../0005_staffprofile_image.cpython-311.pyc | Bin 851 -> 832 bytes .../__pycache__/0006_note.cpython-311.pyc | Bin 1698 -> 1679 bytes ...ct_id_alter_project_status.cpython-311.pyc | Bin 1150 -> 1131 bytes ...8_alter_project_project_id.cpython-311.pyc | Bin 909 -> 890 bytes ...9_alter_project_project_id.cpython-311.pyc | Bin 893 -> 874 bytes .../0010_remove_note_date.cpython-311.pyc | Bin 739 -> 720 bytes ...r_alter_note_text_and_more.cpython-311.pyc | Bin 1839 -> 1820 bytes .../0012_projectrequirement.cpython-311.pyc | Bin 1323 -> 1304 bytes .../0013_projectfile.cpython-311.pyc | Bin 1433 -> 1414 bytes ...014_alter_projectfile_file.cpython-311.pyc | Bin 862 -> 843 bytes .../0015_projectcredentials.cpython-311.pyc | Bin 1442 -> 1423 bytes ...dentials_projectcredential.cpython-311.pyc | Bin 789 -> 770 bytes ...e_alter_project_start_date.cpython-311.pyc | Bin 1040 -> 1021 bytes .../0018_epic_status.cpython-311.pyc | Bin 938 -> 919 bytes ...date_alter_epic_start_date.cpython-311.pyc | Bin 998 -> 979 bytes .../__pycache__/0020_task.cpython-311.pyc | Bin 1922 -> 1903 bytes ...rprofile_business_and_more.cpython-311.pyc | Bin 2818 -> 2799 bytes ...ustomerprofile_customer_id.cpython-311.pyc | Bin 919 -> 900 bytes .../0023_task_assigned_to.cpython-311.pyc | Bin 1035 -> 1016 bytes .../0024_task_task_id.cpython-311.pyc | Bin 865 -> 846 bytes .../__pycache__/0025_status.cpython-311.pyc | Bin 1589 -> 1570 bytes ...e_status_user_status_staff.cpython-311.pyc | Bin 1167 -> 1148 bytes .../0027_alter_status_staff.cpython-311.pyc | Bin 1082 -> 1063 bytes ...8_remove_projecttype_color.cpython-311.pyc | Bin 749 -> 730 bytes .../0029_alter_reference_date.cpython-311.pyc | Bin 863 -> 844 bytes .../__pycache__/0030_tag.cpython-311.pyc | Bin 990 -> 971 bytes ...1_alter_staffprofile_image.cpython-311.pyc | Bin 869 -> 850 bytes .../__pycache__/0032_point.cpython-311.pyc | Bin 1474 -> 1455 bytes ...nt_date_workingon_and_more.cpython-311.pyc | Bin 1297 -> 1278 bytes ...nt_date_completed_and_more.cpython-311.pyc | Bin 1353 -> 1334 bytes .../0035_business_business_id.cpython-311.pyc | Bin 901 -> 882 bytes ...lter_staffprofile_position.cpython-311.pyc | Bin 1233 -> 1214 bytes ...move_staffprofile_position.cpython-311.pyc | Bin 781 -> 762 bytes ...taffprofile_staff_position.cpython-311.pyc | Bin 1059 -> 1040 bytes ...taffprofile_staff_position.cpython-311.pyc | Bin 1090 -> 1071 bytes ...0040_staffprofile_staff_id.cpython-311.pyc | Bin 901 -> 882 bytes .../0041_dailyreport.cpython-311.pyc | Bin 1499 -> 1480 bytes ...omerprofile_email_and_more.cpython-311.pyc | Bin 1261 -> 1242 bytes .../0043_businesstype.cpython-311.pyc | Bin 1026 -> 1007 bytes ...ove_business_business_type.cpython-311.pyc | Bin 753 -> 734 bytes .../0045_business_type.cpython-311.pyc | Bin 1055 -> 1036 bytes .../0046_task_requirement.cpython-311.pyc | Bin 1051 -> 1032 bytes .../0047_task_status_date.cpython-311.pyc | Bin 963 -> 944 bytes ...r_customerprofile_business.cpython-311.pyc | Bin 1110 -> 1091 bytes ...r_customerprofile_business.cpython-311.pyc | Bin 1078 -> 1059 bytes ...by_projectrequirement_date.cpython-311.pyc | Bin 1391 -> 1372 bytes ...051_alter_task_requirement.cpython-311.pyc | Bin 1075 -> 1056 bytes .../0052_note_project.cpython-311.pyc | Bin 1028 -> 1009 bytes .../0053_pointactivity.cpython-311.pyc | Bin 1310 -> 1291 bytes ...nt_date_completed_and_more.cpython-311.pyc | Bin 1002 -> 983 bytes .../0055_alter_point_status.cpython-311.pyc | Bin 1011 -> 992 bytes ...ter_pointactivity_end_time.cpython-311.pyc | Bin 878 -> 859 bytes ...otal_time_minutes_and_more.cpython-311.pyc | Bin 1181 -> 1162 bytes ..._total_time_hours_and_more.cpython-311.pyc | Bin 977 -> 958 bytes ...059_alter_task_requirement.cpython-311.pyc | Bin 1086 -> 1067 bytes ...0_pointactivity_total_time.cpython-311.pyc | Bin 878 -> 859 bytes ...date_alter_task_start_date.cpython-311.pyc | Bin 1001 -> 982 bytes .../0062_connection.cpython-311.pyc | Bin 1575 -> 1556 bytes ...0063_alter_connection_date.cpython-311.pyc | Bin 845 -> 826 bytes .../__pycache__/0064_reaction.cpython-311.pyc | Bin 1557 -> 1538 bytes ...ter_customerprofile_status.cpython-311.pyc | Bin 999 -> 980 bytes ...business_business_customer.cpython-311.pyc | Bin 1204 -> 1185 bytes ..._customerprofile_confirmed.cpython-311.pyc | Bin 0 -> 901 bytes ...profile_confirmed_and_more.cpython-311.pyc | Bin 0 -> 1127 bytes ..._projectfile_file_and_more.cpython-311.pyc | Bin 0 -> 1235 bytes ...le_staff_position_and_more.cpython-311.pyc | Bin 0 -> 1724 bytes ...jecttype_department_ticket.cpython-311.pyc | Bin 0 -> 2259 bytes ...treaction_ticketattachment.cpython-311.pyc | Bin 0 -> 2523 bytes ...073_alter_ticket_regarding.cpython-311.pyc | Bin 0 -> 986 bytes ...ed_ticketupdate_date_added.cpython-311.pyc | Bin 0 -> 788 bytes ...attachment_ticket_and_more.cpython-311.pyc | Bin 0 -> 1406 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 210 -> 191 bytes .../osinacore/templates/add-edit-main.html | 4 +- .../templates/add_templates/add-ticket.html | 30 +- .../details_templates/customer-details.html | 20 +- .../templates/listing_pages/tickets.html | 8 - osinaweb/osinacore/templates/main.html | 367 +++++++++++++----- osinaweb/osinacore/urls.py | 4 - .../__pycache__/__init__.cpython-311.pyc | Bin 198 -> 179 bytes .../__pycache__/settings.cpython-311.pyc | Bin 3358 -> 3595 bytes .../osinaweb/__pycache__/urls.cpython-311.pyc | Bin 1595 -> 1576 bytes .../osinaweb/__pycache__/wsgi.cpython-311.pyc | Bin 722 -> 703 bytes osinaweb/static/dist/output.css | 69 +++- .../images/uploaded_images/Screenshot_146.png | Bin 0 -> 234470 bytes osinaweb/static/js/add-ticket.js | 23 ++ osinaweb/static/js/billing/add-order.js | 56 --- .../js/customer_dashboard/regarding-ticket.js | 23 ++ osinaweb/static/js/notifications-side-bar.js | 25 ++ 195 files changed, 583 insertions(+), 285 deletions(-) create mode 100644 osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0041_orderitem_active.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-311.pyc create mode 100644 osinaweb/billing/templates/details_templates/order-details.html create mode 100644 osinaweb/customercore/__pycache__/custom_context.cpython-311.pyc create mode 100644 osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0072_ticketupdate_ticketreaction_ticketattachment.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-311.pyc create mode 100644 osinaweb/static/images/uploaded_images/Screenshot_146.png create mode 100644 osinaweb/static/js/add-ticket.js delete mode 100644 osinaweb/static/js/billing/add-order.js create mode 100644 osinaweb/static/js/customer_dashboard/regarding-ticket.js create mode 100644 osinaweb/static/js/notifications-side-bar.js diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-311.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-311.pyc index a6f00b0dedf4c6de081af0ac969fb19e0da9c4c7..9ee47939a2948d094315cc8c7685245dae3309b2 100644 GIT binary patch delta 86 zcmX@fxQ&r}IWI340}yCG(VWO_YVYY{6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! hW~XE&=B4LD#LH8YViHqQic*VMv>NwL0P xVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{lt`%qSWHzr2PDB{mDE``v5X=C*1%5 diff --git a/osinaweb/addressbook/__pycache__/apps.cpython-311.pyc b/osinaweb/addressbook/__pycache__/apps.cpython-311.pyc index 5ca891e4ec2ad0a065f06d782d1e99a615078a02..028d810c46e083ab137638296f24032a2d2eb92c 100644 GIT binary patch delta 90 zcmX@cvYCZzO|Os-%&2LLqpAcz0} delta 109 zcmdnYa*Ty{IWI340}v#vQAnG$kyny2C_+E9IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC xu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&equ^WQEG8a_L{pADzY0V(6 delta 111 zcmew^-X+1eoR^o20SFS-D5TwD-N?6=F(^tuv^ce>SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73=JN>OTYaZ-MMw*KZ{jDI-+S;8q4 diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-311.pyc index 0341be68ff3f93d629d1969843b6353343ffaaf6..0a4ddd078552dd92014d044aa7a7f6206e7ade4b 100644 GIT binary patch delta 102 zcmX@fzKxxCIWI340}yCG(MzO|SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73=JN>OTYaZ-MMwtjAAdQoCYW`16= K{^pY`RZIXivnHr(`AOrRPJ$%TtqL5>rx&Qj3d|^7FG}ax>G55=%1k^NM3O-(tSX2ms)BCB^^% delta 121 zcmbQky`GzQIWI340}v#vQAqRN$Xmc1o2?&OoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqL5>rx&Qj3d|^7FG}ax>G55=%1k^NM3Ow=*wb1OTlIB&h%Z delta 121 zcmbQjwVaE0IWI340}v#vQAm^6$Scbno39^QoLW?@pI@9=lANEb?~J{Q*6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! sW~XE&=B4LD#LH8YViHqQic*VV!Z delta 116 zcmX@ec!iOBIWI340}v#vQJBbW8k?>kTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR zQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1_qr6{$yI4M6rTR%55y(qCHGe56be`1$8 E00K}dIRF3v diff --git a/osinaweb/billing/__pycache__/__init__.cpython-311.pyc b/osinaweb/billing/__pycache__/__init__.cpython-311.pyc index c6c8bee44290ed2f0323679b9561973416445b27..859a66ac2a7c78dcf3966706dce6a947c720baa6 100644 GIT binary patch delta 82 zcmX@gxQUT_IWI340}yCG(VWO_YVGP`6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! dW~XE&=B4LD#LH8YVv;g*ax(MMVKCCOTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR pQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6U4LS=IRKq~Bhml> diff --git a/osinaweb/billing/__pycache__/admin.cpython-311.pyc b/osinaweb/billing/__pycache__/admin.cpython-311.pyc index e92917e1f93af9e211fe334bdb34838516241d9b..46b030942e5f810c889f9116de798ec868375f4b 100644 GIT binary patch delta 86 zcmcb~evF-WIWI340}yCG(M*fj$Xmx`?c`z=6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`77T;uI1OUoC9>4$q delta 105 zcmX@cev_SdIWI340}v#vQAqRN$Xmzc7pfmxoLW?@pI@9=lANEb?~+R?=-COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA hFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EOwM6E2LPv;9-IIG delta 105 zcmZ3^vWtaxIWI340}v#vQAnG#kynt>FGN4IIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC tu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Z{^Ur;a{wDPB`*K~ diff --git a/osinaweb/billing/__pycache__/models.cpython-311.pyc b/osinaweb/billing/__pycache__/models.cpython-311.pyc index 46b6436415eafcbd7390c41894e8678ffbde2980..b5b4765ab16df4d927a37824850a0098e030116d 100644 GIT binary patch delta 3448 zcmaJ^T~J%c6~0&h|5ph8@N2}6h!w}e4K~pqSICs7#V1M^>~{Lh;_*ib!qjW&Op%im2$aBsrNC zVc!2uU;i`X*VFW-|0+#SlXxyWp3Wvxv8X&fo+7XDzC0aEO{G=&Yh+@4B9TlcQd8qI zY1k_p%FHRoXf&In(dfKwFh^!WJELmYAdAKpg-xmY)_mDi`%o~zcsS@`f77(FFZGS0 zhy7cByS^5rD*~;9KePq`)i@a0s^PB|K7q3M?JAFUK@ixFq$lcR@t$T`D+sIbQ(MHS z5r}r$#6I!)*oQvp0;p)0!P8armbZvi)-4DTo2(xdf(FHLjl}bmfvui-gQmW~of!_=X+5aY282cgw3W6Za32HEQ*;Rk zn_?SG<;WDF0|}Cp>C>nZ#93<`EsJI-QUEumrxEsp)qz61`@+SERlp^k2*B> z#ZrYhNuuZ(RiqnErwDyk9T=~Ylne(-dtnT`M=QhB2}sQdTun=nnbeBl0{B`6fUM!t z{jAaKXHa~PLZHdI&7TGE7$6bNQzRG7rE{?)*s2Mgp`9SlVjTQ_TEiTc9zNX2j>1*j&LR_COJ={G7J?{hNd%w=H}>2xb`|b@9;E@Lzkz}Ft9Y4x;jLqmbXuiXH_}VI#>S;3_Q2<0 zisUrfc{2@9SU#-iQ;D9+Q6c-4bx$MWBGt0t2pQd+j7A`% zhm+9@WHc#e9#$-6^f~xqn4SX+YIu$1e28;4Jw^!J2~+#wB*6Q^8^SdFRU5S*98K@h z=uI(YgPFaAna1_Jy(#9*>KojPs%VMSwl# zp`Z_7zIxA}&>mGUpk^09QTWO#Rjf^0g4P_^bk|heCoAsnmM)eqe&uecSsJXk+e#Pz z;`A(%4@PcFOHxU{DY;8FTDLw`^{U3(4xdnT`7CfW1zpuL4^yf;8^&;a0|ChzG^-}Q zf`T8gp!@7;&Kyih|4u8a3_|sJ$G*|X?-$qKbvKFy-yv=v;51TB<#ZN%yt-m0(o+D6 zAr{XiW(l1@3FQ)~646*ru|s~%z?BCD2Zp?k(kN=(M350Mirk3+CD_F?K1g})Bm$PB z?0?t=?|JV|ZM`F}wUzDN8}{ysy}LNT-u8BQJ%PosiYIWle=S$`^lo^1E1urs5L@%M zc@28cmH@D=6%3ArSGF`LaIk-Q+nLj6Q13z92=7771A)CNHLy`%zM$u%HypYR?XnTB zItM4Y2}mw+k~@LqX2m#|noZ-4@;rPlOkV(`X8;t}6oFdG!;w%`vO%q4&S#S8m<)C9 zxQfW$Khb>64XdFXI(Ak?Q~8+*pvAFQr?j*C?wyGdeTc=FzZEJ{OWD){6#I3}6^%H| zzOHLD{0t`PD6`eqTHnF$RfG|CroP$7iN-l*dW>T?>Ia|X95aFLF%*Lfmxq8C&>QQ2 zsyB%Jyn-I7ix+xCs?_L%kK0AJN_i-`8PnoAJu6lHz{iN;Wa2`LQAHui2T0=Wfl~WuG z4@J)ML+5+*Zyb7$eq-u|{~F|zT9EC;0l5HF1kJL#$stmI)1Hac{eE$p9G#j@7 delta 3008 zcmZ`*U2Igx6~43oe|LB7U9Zkb7pq#obP;d=3YN}>v;ICEC(cLqxaKigRwt`uakfSZD`Mb!28o}{EOCbN5QR; zD^kIuIfkXI(+Z!W#TsKJef-E|u}t}2GVT1Ip5Ey>Vz~@jK5G#8dHUr@-)Vy~qpxa| z%wo0DH&89sDpWU(z9H3A%ab^ut9!I_sy<%r)9D3aFPox&fsXZ!mC9v!Q(vX3(Xx@7 zn6$i#Vwg-(rV<G;@Msg^ubb z9j9!tM9UiUfs2Iz<|HO#KZxL20US2=0@PRkp2+E$kwrQESk5fUnfl<8gSdArNt?l5 z50@&!BT4hWCVA4(1ih@o@(xpWzEq?v!M}E74I%?6 zO*-dfDRi%n%@NkhN1bmSXMXV8DX{mC0ZoODnzWKzX08oqAX7k6B=+&tg0DsFZz$Wu z!r*2RgeU+Xa-~QYFT1XF;4-WcVU3zNng|h|bpNYc44`Sp2pwz~G`8nY0Y2pSNs1f3 z-}cgo7Puna0pC3w6|E4RkA}3k>EBG;567tg8YMEmh9r62Hylf ziM7o8Lx)J~ZhV0Y;3e6U4O+e`(RTvK_jX$1qj1X0T&u_$F9& zf--ZG{RF4s>nvGOie=R>kXS_l+I|LJp{O@)MeW0>2%R|ah^vvy{Hw@dTI3)7TjxK( zmFO%4cd#MV6mm$^c@BvXjmlt!x!#Z(iO{I#*(3~*0|>(l!e|u2h=DMCmR}Hq(q^y0 zI{7)r+JVSA#F?=j9sC=AOZpJZ`9!)XowHvGcn(XIXzvlz&0lZaRdKSz;9#!+SZ-FW z=^CtrhlTwZU^VUNcmrT6wz`MhI5ics3bhRf43t@2`gb%w>tBqfXWajYHeIDRPF{=5 zMrPbkBJr6Jljlk7=Z*x5!gAH1TCx&!?G1EsvuSVpFxp6`NKMvn@8mQ(M);$q{VgIl zc;wT|t#0Qi&l?gkGBCeAks{Oa4N_Sr5s^zF5giweBOn2me?T>9v1k_7O~ zDS5(I&MZ05;o}dJJ)tEj=H73Yo+AH$vc>UdiH}Cx`SzCDNr&dR@4f>E^4`kjB^6{8 zQ6ao4n~0E2RLI7AR6k$Ediy$TA!AsaZjxfZ#QrntE z-t%B*ecws>JE^0+BIS4)ZOAxypw8R76~$s~{%pfTPFw-FskPLu&#Z_6;T?F4+x!=u1^IWbKMX7c`X2}S7X$tL@11XW zM3K0}o6|)P($CtE?2cu!UAkJKnJpSLY>5qoE0Hl z2V%Q$c0G=%f;7#yI!`p3WQ`pAy_7N6<<&ANQ-ToFGUaax)%zgPVH^7i=j z`}mH_2zH>M^?{<>i6FE#hrQbfxF^dyVbf&?8y3NiQ@Fq(YHiDS?&5C|rr|LP0CgVk zDcE7$Sk3B>Gi?zXh9c2HKv>C2?W<$@= Q|6*-$fG_U&lM8A77QYyrbN~PV diff --git a/osinaweb/billing/__pycache__/urls.cpython-311.pyc b/osinaweb/billing/__pycache__/urls.cpython-311.pyc index b21a33dd956912e1936a0a33d6994a3f017a01fe..44d201c7fc2aac8f7f3208e0b352c17e61d72ba0 100644 GIT binary patch literal 920 zcmZ{iy>HV%6u{5UC9&hCX%MAE2*FZ`gnTVz2&Gb`R$@REQihT!Qsnlo!NDKZ*=fL2 zN5%}1SUZIv_#^lSkZj3AcM!>k{A@TtcL^u^`T!+*64!FSP)r5vSm_t0G97({+6Fdd_Gt5Y)JXkOz3ArT2 zgXF?PQeV>31TZlFU<6=N3l9-jG8tgfOGaABtN|k|ne0kt9T;)R6Lm;vk@J)13LTj?mIMMXb1loJXrVWHX&Vy!}`B`c~~+fj6@8D{hpvRm`lV<3*(_rutK z@wG4I7!3+{pijbuTm{9OFaUc8T=jS5#$Il;ba?;9AmS6u^C#m*movqb4253k}R3j-l>jZj|K9^%4J(=}fj)BBn zn!;{+Xd&r~OfMxFIsRd?lF1A$Bs-QdB$FL6##kmN8DqpujAinY$&Hx8SY}c(aitVT zrfxIa*+!mBzeVMlKME-85$u`%PL#FWmfa?_tVQX4iyrU}n1tZY%%)}Amb<+qwWT(* zd6c$%>Tt<{YdSQ_c#KfSBg1m{J*!1|=TWk%66%|l&GEA3`mbWFX_1v^D)A@o&cYV; zTRYWOoBN(aSvAf-2pZZ{9FFESaGI?d!hOua@{P_Dczn5?c(najVUD``U4 z@9+kf^}-&v{Fdk7Rj<`{sOxjQZu+Kus2r|Y9UKI^^dQy~HC`XkO`IGEtBx$~9bOyD zjz`)yU14)_6ZNLK>Tf@#Y1%I|FUI|ss3iXX`vywqj#t0j>lV93QCbXUE8%Pt1XrvhpL)Iz8wIYh2} zRtpzji?#Ox>H*Y4sE=IFe!K~vuZxXO0_*_n5bQXY$i4V^H+)$a&5nSh0FFX9>OY*C N){pb*V|V0j{{pNgCnW#? diff --git a/osinaweb/billing/__pycache__/views.cpython-311.pyc b/osinaweb/billing/__pycache__/views.cpython-311.pyc index 0c78176151cab2f4b51e0ab1cd45fed8d334efcd..52915151f01f55309bac5eada773c0052983603b 100644 GIT binary patch delta 339 zcmX>h-y_PmoR^o20SNx;YNg#{oyaG_STIq&kR_NwlW*f9OD1b47ps`?{Gx1yfTH}Y z)Z~)lnEc|*yu|pFteCviaxgn3D={xUA0l3!niP|inUj;5mmafOli8F-XeDzI3())` z1rWguBvwu?V7Fq_nY@}kbn-#AjMySIkct&SW<`ijy)N28WVvxZKKu{zNWZdEftBr@MEz$#u8BJc#ZY<(>!2BY&_Z4pM z3oPD6vOr-!O`*vOd|g^PKsH$2N(Qhv*qmP+Ho5sJr8%i~MP@*GMj$S}JNYKxVI>iE NMjyrx4A@Dq0RRtuUC#gj delta 1665 zcmah}T}<0n6u$loAwQ&}1OlnSO9NT5RADfJT5XeP(@^n%HbJ$*He~@D8s^08+9{os zC}`RPn)-q=X?Lb!#*qa?$3$lc?7qr(*T_v=q9XoMa*t8w_e!AzL z^PO|A{axSl9}IOp^m<(g>_>xJ+3(!$3J`a;BOkjyLyO&f*Bpxae%QH8&fZMilm#p& zBsr%nOZh}fS}x{=f+8novr1O{#0(U&m-w}8VO2^LgbmAYxz>C`SV}DAL@`%bO*}qF zP0-y@3e(USb0$y#(dxS$SC|;gUa9Um$E&||47xkOGh`3frLkd;ao1tij)`de3UTG*-j>tlM6*r#1Y6c7$v8O zLX+fX=b+wxu_(y66PBV5+-FAIc8g4o$CpqA7^5cbHH*fBN@NF2Im>X+TRoQkImF#GY7A$@7&U23wmrp z8(!3h7mq?CYUIs&Bvp%~_U8{KwaA9{9?_Dka||^2CF(@gZ6f|*iP$4ff88=!=(~s%NVn~|n!^Y)1maPdTtEeS z1Kp(-&<0T=@r>fMvk_Wri+qq;}U-xh|4|mu*_{B$u0dB_&A`NwcNJCwJAj<3e z(*$sBpiHs{^|M>vV|QQp{)OGL8ko@BN!^`P>7?v|!+pwKL|?x&N&Q4jQnS(X)u+zS z6Xvhjx{ua-c!VsyTX**_=Noy6FN(rjcm|S8DayZBA9ns6zu+MT8>kI~-Na-A{S&NG Fe*;w0p@;wg diff --git a/osinaweb/billing/add/__pycache__/urls.cpython-311.pyc b/osinaweb/billing/add/__pycache__/urls.cpython-311.pyc index da33833168718030f3e6f6ec61a05038cb2407f2..4fdc067a423f87950a94f8d405813e01da4ee5ae 100644 GIT binary patch delta 184 zcmaFD@|1;dIWI340}%Yv&`OhFoXGb@s!AfiC?&N>-zGD!#45S8xFkO}wJ1I_#ZG@R zCu4TBtBX}kcz#i~LO@Y|R%&udaZG-3W?o`^N>)r>YB`vll9ia3o(~Z(PfdzR%FM~h z%uA0+Oi76;Ey^j@E2#X%VUwGmQks)$S0nQb`uW9~CCT}@ z`Y!p&rManjCB^!Fi6x0Sl^}_{MBS9E#Ju!;{k+t2FdxbVv&&PH^pi4kax(MM^%GN4 z^h=9!iuDRAe{tC4=BJeAq}mmU0&Qmm;^HbG@qw9J$!azL$8`?pA diff --git a/osinaweb/billing/add/__pycache__/views.cpython-311.pyc b/osinaweb/billing/add/__pycache__/views.cpython-311.pyc index 40c8352ef88baad44e1d375eb651689742db676a..07abf47bbb608349e624c51ff4f43c96b05bcc9d 100644 GIT binary patch literal 8009 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 IPmIC&KaZc;3jhEB delta 1446 zcmb7E&1)M+6rWvbwJWVw8poFH+OZ|aNhRSbYw}e}8kNK*B`KsSCLtdbRo1TE4f+T( zqogS-Y-phLP_UU}FFmCcrzGG@=&7`)LJxK@q%7pnf1m_H56LO-ZLCbtC0H1vJwQ$`X#qev{qBYN_{ndZAiaMuB99UFzv(vsS}$c#l-5b_4PB# z12vO^6qZJy2>l2HG8SD>EZK;Dv^0!?H>4ox3Aa%ZcW$~B&*@D8TAha$+=N&F1GBZdpq>e9R@#iZoBjL zyjQP#%|*NFIJTVD2DLowW3GRqos2Feu>jhJZ7P)ok8x3HRvRv}Aly^FQEPM2f;j8L ziJl{4x<2Q!TVBmA>TGaV9-G?BW+HIRp(M0#Hn`2^=3lm_!IWU&7H&`^|3s*!{4mgGktY4t5A)9FyP*3Om=3WA8#N zFrj@F=o6llO+%!B^s2n5<<}3IWn~oongY-@9R?_o=a*$CwkUs72BIqpyCTc#qx^2GRUA`OX7){k79m6L# zH2H6TR(_kJk+>L;Unm*Hl>eyxlf>8jm~Y%S?m^eru=AmH5`KJ^e15%SieY5SAvH7T zo3H^iV(m>cI!Q6Ivsgdz6MjE$;a*jBrAMuoqCGcXm z%_mOMw{}+nFVnj4b)*EB8!9HeVN_}mR{l;4OMCPgO4CL{SSHpG znBDSFpGPs0;%?oo3D>FMmxHro7}UeB2vCk=daqpfs5OpiZ87IKRC5~G=itY`g9}+E zPic0G=AY21$8>6wmbPf=2|e+co_N^aq^Gv%spWHjum8|DtK{PYD_5UI)O2k5mN~N#onff>VxRnM?E7hk-<0rKgxmd0!pZREyfi*+w48R`Ewl4L aLQ(KP/', 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 ca27fd2b..798ee4ff 100644 --- a/osinaweb/billing/add/views.py +++ b/osinaweb/billing/add/views.py @@ -5,8 +5,8 @@ from django.http import JsonResponse, HttpResponse from django.template.loader import get_template from django.conf import settings import os -from weasyprint import HTML, CSS from django.core.files.base import ContentFile +from weasyprint import HTML, CSS @@ -72,8 +72,10 @@ def add_service (request, *args, **kwargs): return render(request, 'add_templates/add-service.html', context) -def add_order (request, *args, **kwargs): - customers = CustomerProfile.objects.all().order_by('-id') +def add_order (request, customer_id): + customer= get_object_or_404(CustomerProfile, id=customer_id) + businesses = Business.objects.filter(customer=customer) + if request.method == 'POST': customer_id = request.POST.get('customer') customer = get_object_or_404(CustomerProfile, id=customer_id) @@ -104,7 +106,8 @@ def add_order (request, *args, **kwargs): context = { - 'customers': customers, + 'customer' : customer, + 'businesses' : businesses, } return render(request, 'add_templates/add-order.html', context) @@ -176,5 +179,3 @@ def add_invoice_pdf(request, order_id): - - diff --git a/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-311.pyc index a3635b9132bbf2dd4c010eafe8e19fa94d6fc78c..e0b15e3512e2c592630b576efc96cc93a2aa9169 100644 GIT binary patch delta 98 zcmew?@IZifIWI340}yCG(M-F!k++)FEyTqtCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#E`12BDE9 diff --git a/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-311.pyc index afaa850ca8c38f08d9889bc75346262c1565ee91..90b8a0f5f5f30241e07d2f2f4802373cfba6a815 100644 GIT binary patch delta 98 zcmeC-`pL<=oR^o20SL68Xr@iy$a|E@tHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(+!S0svm~Bgp^& delta 117 zcmeC=o5RPuoR^o20SFS-D5TBV$Xm=3S*9OaoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKVTGQ1OR~qBkBME delta 117 zcmaFB`k9q?IWI340}v#vQAi8f$Xmr2S*0IZoLW?@pI@9=lANEb?~GoR^o20SL68Xr}QoZRB%ha!YZsiV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm u$xAHMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&4-wF GGXel^I4e2; diff --git a/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-311.pyc index b5b138782b1ebe5b4e543d029ca05b9d0792027c..a0da3ae0bd1bb92ef5b593a3c83648c02161ac85 100644 GIT binary patch delta 98 zcmcb?ag>91IWI340}yCG(M+@3$Xm?hmgQm<6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(;$11OQ?}BlZ9Q delta 117 zcmX@gaf5?*IWI340}v#vQApF?$Xm=5S*ssfoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKV-^a1OQtdBh~-_ delta 117 zcmdnSagu{~IWI340}v#vQAo4e$Xm@6S)?CYoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OuVP7J0swhsBmMvY delta 117 zcmey#+r!7ZoR^o20SFS-D5SM*Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OmoRBE0suh6BI^JE delta 117 zcmeBTpUcj>oR^o20SFS-D5Ra-$jiqRnX4aKoLW?@pI@9=lANEb?~EyTqtCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&0m?{ GGXemY04w|e diff --git a/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-311.pyc index b35e48a66b1747ef5994dd5a347c8c597fbb573a..1c002774c30a76ef13914c0aa083e0df30f6d525 100644 GIT binary patch delta 98 zcmaFJc8-mAIWI340}yCG(M(&pk@p;Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&5BIA Fi~x68Dk%T} diff --git a/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-311.pyc index 18d4bb6c993fa9067b5fa5381c6e62d03ed21dea..ccb4af670b95e6c26478365616ceb14cf9fe6fb0 100644 GIT binary patch delta 98 zcmaFHcA1TLIWI340}yCG(M(&tk@q5_Te6E)On81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EY|f<52mqx0Bi{f3 delta 117 zcmcc2_Kb~pIWI340}v#vQAnG)k@q5FWSM?wacWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ%_>a# Fi~xLODmefE diff --git a/osinaweb/billing/migrations/__pycache__/0015_order.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-311.pyc index fec3ccac9a5ef2d38dcc950fd5b3bde1eaaa01ea..62ed8bbdbd2d84e99b3187ef341c9ee7ab91fcf6 100644 GIT binary patch delta 98 zcmZ3=Gl_?HIWI340}yCG(M)@`k@p_6Tab%YOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4E?85Sp5de%CBx3*o delta 117 zcmbQlvy_K-IWI340}v#vQAj(tk@p^RWU78>acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&4w%w F83A0ODz^Xt diff --git a/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-311.pyc index 29cf3c6a0fdcd31b5bc109e10da6232adafb9f9a..977c5323964e73dba57076f652a85db7333d0da6 100644 GIT binary patch delta 99 zcmX@ZzLTAAIWI340}yCG(M)4w+Q=u$SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)kEdQoCYW`16={^m@k G07d{vaw-e} diff --git a/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-311.pyc index 758308bb0d004bb535a4b372a43f7bc779814fc4..1cbb50652b54e1e1de9441bcf0a9ef13d665fe6f 100644 GIT binary patch delta 98 zcmey({(_x%IWI340}yCG(MSU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)kEdQoCYW`16={^mla G07d{*87eOT diff --git a/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-311.pyc index 6f4e59e70c3e10816338b049648bf6315432aa9d..7b05856ecb135e04b394d70b541077d75655687c 100644 GIT binary patch delta 99 zcmX@FyhoXDIWI340}yCG(M&TE*vOa4?N;w%6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A ulb2c!W~XE&=B4LD#LH8YVv;g*ax(MMV{$XoixNvR^Ye;hHlN{UW&;3us3Wxi delta 118 zcmdm^d|sJvIWI340}v#vQAj(?zmYGMJ93hKXmM&$v3`DWW=V2>uD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB>kk!oSe+Obp71S^rFO)%>2A!{mnbM Gnb`n@=_;`R diff --git a/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-311.pyc index cf443ec57fabd775197397945460a7161be17d5c..43a2392a28f23f5a2f2c7072229e0f8781396cff 100644 GIT binary patch delta 98 zcmZ3IWI340}v#vQAm5akynyAGE+aaIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Zer{%ZQDRAEeqOQu<{ai# Fi~t}{Di{C& diff --git a/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-311.pyc index 471edbe77bdfedcb08ba62de401b4a8dac528294..3bd029024d7987adac8bd3715e12cb5ce44700a9 100644 GIT binary patch delta 98 zcmeC?{K3JyoR^o20SL68Xr|R}p delta 117 zcmeyt(ap)boR^o20SFS-D5RxrZW8R=B4NB=cSf|`A{yHU7nhxpOl%ClbM&UpPQLplvt9PpI5BE`3ln# FMgTpWD!Bjv diff --git a/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-311.pyc index e55365d66a74f6aaf720c1b927a56c030d7c2112..6c9bdded74f6557efe6503b7be942c58d7946d19 100644 GIT binary patch delta 98 zcmX@dxto)BIWI340}yCG(M+@0$h(Bet<}XUCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&EJ`h GFaiKKn=0)9 diff --git a/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-311.pyc index 1223f6d1eb738f8c04ca9772b38df832d0a7766e..3207657c3de81e9fd73961e8217b14c378a607dd 100644 GIT binary patch delta 98 zcmX@hwTp{)IWI340}yCG(M${4$Sce2mhWN}6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OH#47N1OP~pBc1>N delta 117 zcmdnRb(V{FIWI340}v#vQAo4g$Scbn*`yy@oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKVsx&1OR(hBh&x@ delta 117 zcmcb``j(YIWI340}yCG(M;R8k#{STTb_$mOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EEX}-x5den}Bj*4B delta 117 zcmZ3(xu27FIWI340}v#vQAnG)k#{RoWTSp)acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ%^b{2 F7y(uZDmwrG diff --git a/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-311.pyc index 6c7263879c16622a48193523b2d11f674f5cf354..f0c1b734583a6e13a7d89721afd1ebe495334b95 100644 GIT binary patch delta 98 zcmeBT|IWs{oR^o20SL68Xr_JM$a|O3tHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OpJC)<1OQ*vBXR%$ delta 117 zcmX@kdW)5JIWI340}v#vQAl&x$eYF(S*jmeoLW?@pI@9=lANEb?~Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&B{z_ Fi~w#6Dh&Vt diff --git a/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-311.pyc index be840df901455ad7eae501748cb4fe8a81d2502f..440ef361cee36f24c63bdb29ed9fe134cd53495b 100644 GIT binary patch delta 98 zcmeyu{*aw_IWI340}yCG(M delta 117 zcmaFJ{)L@)IWI340}v#vQAoSDkyn!`vRFT~IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Zer{%ZQDRAEeqOQu<{G9{ FMgV45Du4h0 diff --git a/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-311.pyc index 29cf906a27db40f6cc8c53a495d2d0c25b001da1..bac0c533d4c8465bb3edf5d4fad59f865a1b542a 100644 GIT binary patch delta 98 zcmey!c8`sBIWI340}yCG(M(&lk@p&-Tc(RuOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EY{O*A2mr8ZBnkik delta 117 zcmcb|_K}TuIWI340}v#vQAnGyk@p&7WQ~4kacWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&6-T6 Fi~x!;Dr5iv diff --git a/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-311.pyc index 585bad9c1e7222f9dcd6f6893107a126c08d1d82..2612511e2bcab97ad4628ca4dc99efaebace4549 100644 GIT binary patch delta 98 zcmX@dv73W;IWI340}yCG(MHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(f0Z1OQu;BiaA} delta 117 zcmdnZagKv`IWI340}v#vQAo4c$Xmt~nWrCGoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OPh|>V1OQ1PBQO8} delta 117 zcmcb_{*;|}IWI340}v#vQAiWm$g9s3S)?CYoLW?@pI@9=lANEb?~DT)99 diff --git a/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-311.pyc index f7872051d2bb9abf30bef0b9795db9fe9489a788..abb69ecca9f0615df8601d62524420495038fa3c 100644 GIT binary patch delta 98 zcmeywcAt%RIWI340}yCG(M;R1k@r5MTbzqkOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4E?8>Ce2mrM+BpCnz delta 117 zcmcc5_KA&mIWI340}v#vQAk_1k@r4hWTAd&acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ%|=YR Fi~x`XDsun; diff --git a/osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-311.pyc index 7fd7bd0c493060bf4445434cbd9b566e37a5ba3d..70804af1f269d1b8790541ff8f40279763a2f575 100644 GIT binary patch delta 98 zcmaFBc9xBIIWI340}yCG(M(&uk@p;Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&5BGq Fi~w?3DjNU* diff --git a/osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-311.pyc index 4848ed5cf0952a07e8534b1fc537c3a3c66e888f..bedb6b8da3f71a50a3875549d5be1d925fdebe62 100644 GIT binary patch delta 98 zcmeyx_MDA(IWI340}yCG(M;R2k@qg6Tc(RuOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4E?961&2mrjOBsKs5 delta 117 zcmaFP_KS^oIWI340}v#vQAk^~k@qfRWQ~4kacWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ%?3>7 Fi~yMkDv$sG diff --git a/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..84bd4a2d74d24f323b8809b3b5af99a769a44615 GIT binary patch literal 1009 zcmZuv&1=*^6rY)7vq{{FF2z!;(o#`_uoMJkMTF8?@vDdxgs?E~W~NJGGFd0PmU`+z z#A9#$5B$LX0UrD#R>)zQt6sdNw5Oh&Nj5E|osT!~_h#nJd%rhdCnjtl+pWLOIz#~c zQJ`#A5As|U3eJ@_QrR_5#=2WQiRFtmV#??(VLdOymN`^Aei-_!E9Mp!Zr{P} zuunPm+56b{=+VjsQHOGIo>OnYxjgM{dLb3M->1>554Ew2hJubJbT$Y>VZ{tfMrfZ3 z)Q_dv&Kbh29m$)ytgQPqB&*JZFmZ0jSlAfLbAymdy@v6-K|54u6(Y1p8KKPcX~I=e zgtSI&D5q zn=jL*JH*kj&VJWfT4z~Rx9mM2#eou;X4H+XC#v%+<*SY%tRjO3>Er|!v`rrw8^tGX zlzj22@-ClITJGwq)DF%2MU@`#ISHYhNk@uIgAmG8pfdzFPmd9p9hM_AYS75QX|Zjm P7q0E8je|3G^BDdE)7TBb literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6d45f8b50b93621a8e808e07e9a555ae7330e133 GIT binary patch literal 863 zcmZuv&ui2`6rM@4*-dCsL-8k-QbY_wS@57p5rn0JXc5#^Lgo%UH}^j9=h z4xMbZ9{O+6YE1*z1w4F^~=)t z)?w@Qq0|29w8u`ns2i4jgdiNNQ0S&(j-INOU7wHIbPZ|ERIkxaX-jFvOw2XaR`%Wi ybkbO#dHX0^1`2;W%G(eM9b*gvv3rQ_oWBcm0hh1cq#8c1fH~wv$~;Z+r0I zv9}()SEcqRWIIBwx^zaligHHok`w&@6DTe-}jQQ^YadZ@$i?|{(=$ushoN= zW?-@oU>{LLF-Kh-;I0;E7-{GQqS_}!b%s;DK6C)+@Z1Y@YHT5|@mp&Kz&>Iqz!U`<#T^{z8e&FTlY-JzMa;B5gQ#)TH~V$miLvZVdGW&*UDt%UO=>&V5`)wM??;(aDal6}mRn2{cB%d3LL10f(K-i97??huA@oeiEx{VE`xyvJtU{Ej9{@>%Eklkj~mKHPmH@|4B> zBFu{^5L*%?{4#!C;z*YAwo<-PkOclq1GvFrbE{gLaJO~ZCh5SUYCO5JqL z;Y&5eQe9=!Go(Fb?$cJ)nW`UC9*Zii%Dn;T%vzte_o=uEuKF8_cVJ2#V+`D|cZ^mp ZKczW`%@SQUd(PLL~5PgdHcP2@6G$>oBdL$mIiO^U`;cKa&fjl<}oq!2F^64CfY?z};!g%0?PQqlt zJ7`?&_)d5z3gN)_EtRhTZE$3L@xWs~-M37kldPH$VG;rz20)336+%7^9AD;2kFq|{ zV4>@=n9EBNq+}V#1Ct)dDLTW z61SrmSQFZ7!%;F!drsJm^7SF>wCDP@|NaE+M&nTfl*|a`N|B{@B$tdhpj;4fw$nf2 z@@g|9K|BOAT0W_UjK`^}tZAc{sfmoO&*ntmoZhKVZ*RbxmI{V>fxui!BQw@z#$B1Q zTANnu$M+}I`q#DZt@CR0N3}VrHvg@ul&jk4g?#wNg2}#B5JrB~9oorc&GgH;uFJG6 zcN5T+zMJ389k60QOb)%wr@qHhb&Rk`+pIE`O2?I^hw2Ls`c zf;7o;Jx)19S+71RS7Yv+dI97p_jmJiFxQJgS3k8Lf4yX;{Ew(9;$QqFFmR|Zwx;O z9eb2Ug6tKV$zm2dF}G-;Dp&N$)50R=wNKX6Se-53m|b3(+3R~Zr}p|6I9fZlJKycj z)b12b&9qJknlot%Rk!uY6FJ4zy3vlKOSzvZ#32s;V;c`yvK zv=By;0gsDbQz@V3+?n|Z_6R2)1>z|{`_xkv!nLR&g{?tGjHorQA)tYFpzkY40PlJo z82=K&_n6Q^N~W-$He8Tcs~g5~nD)hm_4T{AS(XFO!y!*t&>M#DxX`PJFk!?Q1VjD; zYxHg$q}xJEM{(?`s7>l&X^?P?Nvm&#Jcdoz5+@O}bVGJ6FE2vjLwE@++B1ttW3f_x#sczJ2vso<+PjEc~np z(||$br+lZv5Cv&JtK&Po>(52|f4_>4^6%90S)+Ar@IE)NLuDi=UZNSF?$RLEtx{E% zjPaAwCf4PT_QYJ7E?=3RUzs|qyVobq>X)VOokOSn!)Z^PcG=P_`-q@9mZnq<#~44B zJHOcU*>p8w)qK~WTaBX{Ld|4Zrd7F@5S^GC^-S;QE9l~XOo~@%N|jQI?5KN4Zk)YJ XV}TkaIcs+9$+>Gs^5FPCr&ZrSiWt>P literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9f3fe81ec2cc7c97ccbcbbf5486a226cdeecdef0 GIT binary patch literal 861 zcmZuvO>5LZ7@kS8*-dCcV^LHprHB{`rKl$dAMqn@XuO;mz}Y&HK!gd|q615v;Y}e)|VT=$CfN zRhfh7CV)dk5yc#Jae%uC#)ErArj(_G4j7?PpQ&mr-pRPdl-Z;0SIX-! z!Qdi{l6fNYO;u^~NbD&~3^-TLpvPrINnb+7E$&K0)Mb#?w$hFnr`y1yMv6Eg$|VHq z2Alz2Amr^J;<{FQl=YaPOtfN_rCMI)KIVOvZs}7}O9z~-n6tuHuIy=cTIR24s`WYD ztv?Lk$aHVzMJf~4>Sv+MVi6IVgo5oCm?n|v$XR@!HN&|e;lFPdf;9I@qz9MxCZNZ9 z?|o{+kiuw??SL7c?c7GrT5cLk_V8KmBInjecU)VZTw9r3zB=(%5AKY;)h|om>!bS4 z$ZP!c8e^}KS1rdqMqo~~$xYj{hfnoRZnr*6Xxc$Wll#BXeDs6}2}3oz^yI u+CEB`!G(VvWv{{HCdL>DVt<70UVL(U0oyscXb#-*rQ63kaq^#RG50SYy5!RU literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3012ea1d333126e3305140f845de077c8f6517d GIT binary patch literal 841 zcmZuv&ui2`6rM@4*(7X1gIJ3wB32B-Qm`jk1f?j57QtT-0z-CZc1b#!tVy=T+a5f4 z?5$@nRj~*ElnQ%Ta@C8slLQ;U|pHPw6zP zRf9zjzyYF&VvZv0;z)57j1=?)QRM@oD#M}L6deNkw)9+;YA=z~`Yn$gCAXqrl=xW? zi!|4xm@=LYno9XJYG>gAI6w@!m?Br9c!XV5K}-u9QqY>ph#t1<8bmd!9kmV>AOLr@ zj`V*C!Fvqa21-V5K5w`Hv35V;JP@P&^2WyIJ>v6>B_t5LaWG(HOozD{CzK^Y#-d#J z2U)PoUO`!_&wa6zYhuE=qr!M{BqIEXK}_1#FkqZ+J7#W>GEPWt5dwJ=&H#4^c{lO7 z%#|KxVkfmOn2Er#a^aR^0F%5k&imUh@>wER^-ruj|fef3q49m$$HF$UYKGC65X(UKr zgPAUOp(C?fsLCaM`mC^!dHtg`Gp@~7Z_Y2S&F%I5+cSIp%hvbo*zWzXdo#ONv^CQ@ zL10d$DOBCor%&Zht~7nN9W6I2-d)-+wJG(en5@dQGItHonbE5Revn)R7yfIMz5!FH i7-L|Eonv(8{8i{3tQY9K*|%mFZk@=3)Bl{7eg6P+Y23U3 literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/__init__.cpython-311.pyc index 1bb573bb0d9eab061767124cf655a11989c83c57..899f67d6d208052f56b457494852b3ee6914a52c 100644 GIT binary patch delta 93 zcmcb>xR;T8IWI340}yCG(VWO_>K5Q)6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! oW~XE&=B4LD#LH8YVv;g*ax(MMV{$XoixNvR^Ye;hCeAbm0IFOf2><{9 delta 112 zcmdnXc!807IWI340}v#vQJBbW8kwvgTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR zQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6T|YN7y(qCHGe56be`1?C08|zz AbpQYW diff --git a/osinaweb/billing/templates/add_templates/add-order.html b/osinaweb/billing/templates/add_templates/add-order.html index c927ca21..579446ec 100644 --- a/osinaweb/billing/templates/add_templates/add-order.html +++ b/osinaweb/billing/templates/add_templates/add-order.html @@ -11,40 +11,21 @@

- Add Order + Add Order for {{customer.user.first_name}} {{customer.user.last_name}}

-
+ {% csrf_token %}
-
- - -
-
-
- -
- -
@@ -69,8 +50,7 @@
- - + diff --git a/osinaweb/billing/templates/details_templates/order-details.html b/osinaweb/billing/templates/details_templates/order-details.html new file mode 100644 index 00000000..9e38f3d6 --- /dev/null +++ b/osinaweb/billing/templates/details_templates/order-details.html @@ -0,0 +1,88 @@ +{% extends "main.html" %} +{%load static%} +{% block content %} + + + + +
+
+
+
+

Order 234443

+

Salim Elliye

+
+ +

Completed

+
+ +
+

Services

+
+
+
+

Service Name

+
+
+ + + +

Add

+
+
+
+
+ +
+

Products

+
+
+
+

Basic +

+ +
+

$0

+

monthly/restaurant

+
+
+
+ + + +

Add

+
+ +
+ +
+
+

Standard +

+ +
+

$20

+

monthly/restaurant

+
+
+
+ + + +

Add

+
+
+
+
+
+
+ + +{% endblock %} \ No newline at end of file diff --git a/osinaweb/billing/templates/listing_pages/orders.html b/osinaweb/billing/templates/listing_pages/orders.html index 0a993721..857ba323 100644 --- a/osinaweb/billing/templates/listing_pages/orders.html +++ b/osinaweb/billing/templates/listing_pages/orders.html @@ -18,13 +18,6 @@
-
@@ -78,7 +71,7 @@
- +
diff --git a/osinaweb/billing/urls.py b/osinaweb/billing/urls.py index 83109ae9..98fcf974 100644 --- a/osinaweb/billing/urls.py +++ b/osinaweb/billing/urls.py @@ -13,7 +13,5 @@ urlpatterns = [ # DETAILS path('invoice-details//', views.invoice_details, name='invoicedetails'), - - path('fetch-customer-items//', views.fetch_customer_items, name='fetch_customer_items'), - path('fetch-customer-businesses//', views.fetch_customer_businesses, name='fetch_customer_businesses'), + path('order-details//', views.order_details, name='orderdetails'), ] diff --git a/osinaweb/billing/views.py b/osinaweb/billing/views.py index dd31953c..2cac222a 100644 --- a/osinaweb/billing/views.py +++ b/osinaweb/billing/views.py @@ -47,42 +47,15 @@ def invoice_details(request, order_id): return render(request, 'details_templates/invoice-details.html', context) +def order_details(request, order_id): + order = get_object_or_404(Order, id=order_id) - - -# TO FETCH THE ITEMS RELATED TO TH SELECTED CUSTOMER AND THE ITEMS THAT ARE NOT RELATED TO A CUSTOMER -def fetch_customer_items(request, customer_id): - customer = get_object_or_404(CustomerProfile, id=customer_id) - - items_related_to_customer = Item.objects.filter(customer=customer) - - items_without_customer = Item.objects.filter(customer__isnull=True) - - data = { - 'items_related_to_customer': list(items_related_to_customer.values('id', 'title')), - 'items_without_customer': list(items_without_customer.values('id', 'title')), + context = { + 'order' : order, } - return JsonResponse(data) - + return render(request, 'details_templates/order-details.html', context) -def fetch_customer_businesses(request, customer_id): - try: - customer_profile = CustomerProfile.objects.get(id=customer_id) - except CustomerProfile.DoesNotExist: - customer_profile = None - if customer_profile: - businesses = Business.objects.filter(customer=customer_profile) - # Create a list to hold dictionary representations of each business - business_data = [] - for business in businesses: - business_data.append({ - 'id': business.id, - 'name': business.name, - }) - else: - business_data = None - return JsonResponse({'businesses': business_data}) diff --git a/osinaweb/customercore/__pycache__/__init__.cpython-311.pyc b/osinaweb/customercore/__pycache__/__init__.cpython-311.pyc index 53cf900f5373d3fa9d94bd21c39b3c03cb806dcd..9a32e5537503725a0a7e3967f5295fe7435157b0 100644 GIT binary patch delta 87 zcmX@bxSf%EIWI340}yCG(VWO_>fq&K6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! iW~XE&=B4LD#LH8YVv#|1%u9?<$%@HK kEeEqxvJ&&s^C9BpsYx-(rNt%rxv53T`9-NQ6Zbm-034Jcg#Z8m delta 108 zcmaFI*vQ1YoR^o20SFS-D5Tj>eeTv}X`pPO2goL`ixKXHu{0IWYJ8vpQF4A!s{Z5*#&ZDm%O|t| diff --git a/osinaweb/customercore/__pycache__/custom_context.cpython-311.pyc b/osinaweb/customercore/__pycache__/custom_context.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..28730c15b2c0a1b849df038bf9bda7a0a4da4179 GIT binary patch literal 846 zcmah{&1(}u6rb5_nys3q8bQ(E2JFFAte%X-B7#EjQj1m!C3Z=6r*+oNZk(C53MqK# z!9PIo>Zu~Fp8XR{HlrgCw<=`8B111r+a1S|S zw=<4q4~2|P$&on;y`QjVHiRZI_V5m%?EXc%I_Y)tS=N>!PGmAd|EpjtJ!LPq0~^@Q zwgA1`Y7bKk^X3;}RyE*+EgMQa)v^SALE@6nY{E>_3b^n)gvF;v4wDCMZZX;w)c3ei zV6v%rmU6Qdh^NF8)M^Q0$ECYz;u7=MsY~L5-*$*4csvEF0KifP-AyB=AIOsT1?d>M zxWLHsfN;SyiLYg`TyC>ktsX7it2bAC_N)r{32xKp)N7fx)AYz@BHK>O+we#BP10^= z7?#gSs+gAV3G!0RcVETRfuJrGlyG(mipa;}6xeIjKd*=C*?wVWyB8Ja21v=9_>&$P zcMgrlfzkN7^1T@vjeTP^GFC_4e)-(ng{XY(jrK#o6zSIw_1b}6`y#@}PeQ%6udhY= zTBub98Y*54=Wd3_>!Dg7LNT-mv(L1t>r!uHzT?}(n%uXL&2(vR#HGFG;{$&a7AMGUA1poj5 literal 0 HcmV?d00001 diff --git a/osinaweb/customercore/__pycache__/decorators.cpython-311.pyc b/osinaweb/customercore/__pycache__/decorators.cpython-311.pyc index 86a2e7e5bbbb88bf711217e9c6522c837539df43..45bc7ddc83d162eebd3b8d8ba685fb141164c682 100644 GIT binary patch delta 92 zcmX@Zv6F*$IWI340}yCG(M*%u$oreo!NQF4A!s{UpVrjLvOLYgQ- diff --git a/osinaweb/customercore/__pycache__/models.cpython-311.pyc b/osinaweb/customercore/__pycache__/models.cpython-311.pyc index b3ffb484cdb4be234f0f72fb144e157050680a93..f5e5952ada859f2d0b5f6daca735b296c76d23e4 100644 GIT binary patch literal 2869 zcmbtWO-vhC5Z*uk|2u)SO#%cZfD;^XBjQ z*HFmMz;)&C#L`VS!~BH<=W^AV{ojH4nUNWpRhb-{VOiukl}j@mGtS8TkBlr3c9nM~ zZUguHaFh`&lnYSq6HqP-?;#$ni2l!j7Zar=+PNFz9ySu zP5Agn@TV;NX~)8CV4gbzCetGOAszwKomR51UiNXzQwKx)xPQyZ`!2 zoX=Aqyi8AaC9h;jfd(w0>C0;(qyo_iMGsrzXB>?a)B7Fu z&leW*1x1rYd38Y}4=i3@m9*u&Eq_237qaUGJ)a{q3&tb2W9D0z%vp`-Xp_PA@$QO#7-72CXY2?~r5&{JAqUY^s$tm$rRp|= zcB#&;S!u#rC6cDtq-YdKG7+IM9K?~FLV^WAKSP51F+IaWso|lKQPZtkMNiM5>JucL zNX{Y1E6K8zr1T;V{rEA_lF=>%S)T1d?y^I$#}pJGjl8Oc+BWBmP}?sXyRCa|<1_y?~;h zBf+hjAvTDrC#zu0*BL%Ahc zX-OI_$>MZ1aCWob2%N11&KrUA#Sy&iFyJTNABI8DG{SKF3@2_l!w%2u9j>X=yfP2& z6U?yfz8NBAu~8@Z1ZTP?q&4VmU%?k(6qwXxWod~}^zAiU#-}8i4ggPW za|hW(jX6#>=YCpvgYtuhvQ1!nYRqv`>VIi`Y({RhlBtC literal 254 zcmZ3^%ge<81PN;t(ky}WV-N=hn4pZ$LO{lJh7^Vr#vF!R#wbQch7_h?22JLdAO)I? zx7c#?Q&Mw^{WO_wai(M?=B4NBr6d(G10`27d*p$QE$v`T2zDWRoMP-tmEEeZuxW5xyyGoFzjAZC?i zmf4jhi>gi4F7grj5w4}XKwed9H`$?PmsO8_A27rYW~D9TTYuIPz^QcP?n5{h1W%`k6mCQgaGl)!^WQJmy zVPx7RGZM>;BGVz6JF(0dGM$pS8_SF%(x zX1{B*SI>N>Ok`h&&_p7DvgRJVPOwGov1yz*m3G_EP20%3nUZ4`4a=JfT7|@w(9_b2 zMm3w)Y`vNdl}cCMbKFwVurr#jXIwLXWVlm7yHHVNTBWIYnlY{8l9@N0sh~{&LaH>B z?UL^0T{PB<+e#xkm2BOxQEd?}OsJ&L#$uzfRT#Na={7A3lM=GbtTWPu%yVnuJI|C0 znuXDt_&QovLTk9!>(+41tZC;!!vbawN{(w<`vU4y-}EGF=lRs`&#W ze^m0YS8YNQQsq%}#|ocuT+Q{IsTs$$bJ*tmfo8c;)JTbX!5-2Pd8tfcUKN>;DDbX^ zwZvZTdZ&A~VQ{&Mi%R`27fstJAD2w^M%h@gG+H4%!NU&?xR!Lh?1gg~*wUxA=aye=xwzFG0%ys zc+dsyqGqy=c6e|FZP-#Z?CDimt}9VlT15+ZbAmn@OjtwSu(vyV9AFi3QIEI(er6KHcP(TB(UYf z7KJTo>N}gJ{n=MPRtF;u|EG_fkJCFdWd13E4IefrZ1Am*ov+jJFUS*>z>W_)6n1VH zb_i%bXcRPA6U^)9$FEKa%=s`!VUBwYo_TcmBl7rL0;@i(Qds4N&;Cr)xgW@mOThEN zqu~9;>K<+I6Y}{gfi)l2D6DahcMaTQ@})tu^JMv|B-~^C+@tpv$;uvqeINEI>|ZV= Q?zYxEOND>-hd4F=0RU}0*8l(j delta 451 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 diff --git a/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..21e80e554b4600610328ed1a34ca53506ae10803 GIT binary patch literal 3861 zcmb_fJ#ZVx6}~(CgCGS+lwj}=&`%_RmO;dnM2(VY0toPw!c3tK>P5=bVZK{!oT^T+kBnQn+MSOT0jC4HK8t+M3MI;O{#lJp1QZ> zb;cgeSMp23w1B*S5s(jiYJqN`b&nu?2bbGQ0pxior2RkfVOnHC6I+(5SIxAU$4!=Z?VK zZ+&R;JUGlWlJqDVN0LmWkTn4;Db> zThJ7JiFx&=rm+ygRfQk`nU>zhr?HNSqD|z=WuvKE6E|J_BmsGb`C|`=QNv|x0`90; zw#X3ZfBKkDdRU;mXsBgu68`fbaS*J}Xh1+DBiIHDBivAk#i?2y>~Wge(WX7FSIE$1 zc=TcLkt_rFcY`dfut39IcQw)>Hp6*Ld&#Npk|fD{DZV&2=3rN2JBxKxK!Vrd%wJKl zhD;W5Q!v-)AO*a#f)H>YbZ#;%?spTudZOGkEu)SJFNut+OiQ~K9&m$whIxJso%Opm za?^>vnmEAUonlefGuNvr=B=n2W;~&xWawV+f8e|ED$^QqEkC<|Z+lw%!Xy}UyBYY97+o16Vao_kpMOulN#jz61j`-MGOC++z7^JN+zf8qW9oL!P_o!D`6D{j)bX-BPA>;rpfeC<3P8s9A2L)W*4 zuG69GcJz0x*qEKle&eU9?56edoSmB9N=?($v>pAV6&ta~GHVq&ma(ttZ9#YFRbsE|FuHz%k=&tz5fI(p1Q81jw?uT1$ju<+uU&U z4qp`{cfI4d&PeSO;lY8nuRj!iEr8hOqCK*cwd5hP_CJyXJWg^RC%2MUX!433z1oTm z+oPGaM|3o^nSWV)^(oEI()^b+U$K`=K&H9$jyd##1QkfWPfl;b9=^18l@4FpT>i%j zotmao59rkA_LsySHn)aNI?U^+-RI|f3h_OG*yf@=xU;9zhuBlfJ~R2vd3t8@MdhC= zy>XA;cua4|Hu^IlIh*4|f&^?JIkuZp+vnkn`uU`fLw_-;J9rAI|K@J+kHW%%jm_F`*cAI}lp?e6VgYXD-j;u`C&@1kt z8R}@zf^)vQ2VK*E06%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! tW~XE&=B4LD#LH8YVv - - {% for customer_product in customer_products %} - - {% endfor %} - {% for customer_project in customer_projects %} - - {% endfor %} + +
+ + + + + + +