From ea84da3a92782b67a2ee7b6dfbb81796a1259f0a Mon Sep 17 00:00:00 2001 From: nataly Date: Fri, 12 Apr 2024 17:00:22 +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 7748 -> 8549 bytes .../billing/__pycache__/urls.cpython-311.pyc | Bin 718 -> 1609 bytes .../billing/__pycache__/views.cpython-311.pyc | Bin 1585 -> 5368 bytes .../__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 0 -> 1196 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 208 -> 189 bytes .../templates/add_templates/add-order.html | 85 +++++++ .../templates/add_templates/add-product.html | 72 ++++++ .../templates/add_templates/add-service.html | 72 ++++++ .../billing/templates/invoice-details.html | 30 +++ .../templates/listing_pages/invoices.html | 97 ++++++++ .../templates/listing_pages/items.html | 183 +++++++++++++++ .../templates/listing_pages/orders.html | 100 ++++++++ osinaweb/billing/urls.py | 18 ++ osinaweb/billing/views.py | 111 ++++++++- .../__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 .../__pycache__/decorators.cpython-311.pyc | Bin 1100 -> 1081 bytes .../__pycache__/models.cpython-311.pyc | Bin 254 -> 235 bytes .../__pycache__/urls.cpython-311.pyc | Bin 1233 -> 1224 bytes .../__pycache__/views.cpython-311.pyc | Bin 8129 -> 8372 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 213 -> 194 bytes .../listing_pages/customer-invoices.html | 1 - .../templates/listing_pages/products.html | 220 ++++++++---------- osinaweb/customercore/urls.py | 2 +- osinaweb/db.sqlite3 | Bin 999424 -> 999424 bytes osinaweb/input.css | 15 ++ .../__pycache__/__init__.cpython-311.pyc | Bin 199 -> 180 bytes .../__pycache__/admin.cpython-311.pyc | Bin 3509 -> 3490 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 -> 922 bytes .../__pycache__/models.cpython-311.pyc | Bin 22930 -> 22911 bytes .../__pycache__/urls.cpython-311.pyc | Bin 5462 -> 5443 bytes .../__pycache__/views.cpython-311.pyc | Bin 26459 -> 26440 bytes .../add/__pycache__/urls.cpython-311.pyc | Bin 2703 -> 2684 bytes .../add/__pycache__/views.cpython-311.pyc | Bin 25478 -> 25459 bytes .../__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 -> 25390 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 .../__pycache__/__init__.cpython-311.pyc | Bin 210 -> 191 bytes .../osinacore/templates/add-edit-main.html | 74 +++++- .../osinacore/templates/customer_main.html | 2 +- osinaweb/osinacore/templates/main.html | 97 ++++++-- .../__pycache__/__init__.cpython-311.pyc | Bin 198 -> 179 bytes .../__pycache__/settings.cpython-311.pyc | Bin 3358 -> 3339 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 | 88 ++++++- .../static/images/ositcom_logos/full-logo.jpg | Bin 0 -> 68933 bytes osinaweb/static/js/billing/add-order.js | 42 ++++ osinaweb/static/js/billing/items.js | 30 +++ .../static/js/customer_dashboard/products.js | 19 ++ .../static/js/get-updated-user-activity.js | 22 +- osinaweb/tailwind.config.js | 1 + 162 files changed, 1213 insertions(+), 168 deletions(-) create mode 100644 osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-311.pyc create mode 100644 osinaweb/billing/templates/add_templates/add-order.html create mode 100644 osinaweb/billing/templates/add_templates/add-product.html create mode 100644 osinaweb/billing/templates/add_templates/add-service.html create mode 100644 osinaweb/billing/templates/invoice-details.html create mode 100644 osinaweb/billing/templates/listing_pages/invoices.html create mode 100644 osinaweb/billing/templates/listing_pages/items.html create mode 100644 osinaweb/billing/templates/listing_pages/orders.html create mode 100644 osinaweb/static/images/ositcom_logos/full-logo.jpg create mode 100644 osinaweb/static/js/billing/add-order.js create mode 100644 osinaweb/static/js/billing/items.js create mode 100644 osinaweb/static/js/customer_dashboard/products.js diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-311.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-311.pyc index 8498d178f2b31cb5d835d106ee79a99ef0112b5a..5341eae0705b69159a0cb87efc256016524c30a0 100644 GIT binary patch delta 86 zcmX@fxQ&r}IWI340}!Yml$gkEYVYY{6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! hW~XE&=B4LD#LH8YViHqQic*Vo9v delta 105 zcmdnSc#@HOIWI340}wnd6`#m$8Wf`+TAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR tQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1_qr6{$yI4M6rTYqA`IRH@HCEEZ1 diff --git a/osinaweb/addressbook/__pycache__/admin.cpython-311.pyc b/osinaweb/addressbook/__pycache__/admin.cpython-311.pyc index 9a48f802369d7a4249ccdfec8c137dbe42660bf8..2c0c36524769448e669753b08a40fc2e225c3d1b 100644 GIT binary patch delta 90 zcmcc1dWw~IIWI340}!Ymlt}x!k@oMv>NwL0P xVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{lt`%qSWHzr2PDB{mDE``v6RuC?Ws= diff --git a/osinaweb/addressbook/__pycache__/apps.cpython-311.pyc b/osinaweb/addressbook/__pycache__/apps.cpython-311.pyc index 7caee707d1e4c02a04da2d868c492fd24da0813a..4f9f630016f7cf9d1f3931e36bfaf275ca8e7049 100644 GIT binary patch delta 90 zcmX@cvYCZzO|Os-%&2LL2wAW#4R delta 109 zcmdnYa*Ty{IWI340}wnd6;GSBkyny2C_+E9IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC xu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&equ^WQEG8a_L{pADzSjr%F delta 111 zcmew^-X+1eoR^o20SKO!il^OT-N?6=F(^tuv^ce>SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73=JN>OTYaZ-MMw*KZ{jDI-+bag3N diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-311.pyc index 0cf54e788ce727ebabf2932495c0a4755175c31e..de3f1719a5a3ab483873e5fbca12f287fe93d3d0 100644 GIT binary patch delta 102 zcmX@fzKxxCIWI340}!Ymlt}x#kynDrE5gMpCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA xFSQ)ZPRUBlOV5Xhm!~GhB&MVkr4|<_<>zO|e2-N;wS;+5iJ6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A ylb2c!W~XE&=B4LD#LH8YViHqQic*VSU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73=JN>OTYaZ-MMwtjAAdQoCYW`16= K{^pY`RZIX=T`e2{ diff --git a/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-311.pyc index 63e84b3321e48af2b24d967062d0e0e20018ba51..aa56649820faffa536cd190b7113ad2fe2c5f1e7 100644 GIT binary patch delta 102 zcmZ3_J%^ijIWI340}!Ymlt@e3$Xmed72#qP6P{m`tq@R@pOuHr(`AOrRPJ$%TtqL5>rx&Qj3d|^7FG}ax>G55=%1k^NM3O-(tSX2msAQC5`|9 delta 121 zcmbQky`GzQIWI340}wnd6;Jct$Xmc1o2?&OoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqL5>rx&Qj3d|^7FG}ax>G55=%1k^NM3Ow=*wb1OS=XByj)$ delta 121 zcmbQjwVaE0IWI340}wnd6;G4c$Scbno39^QoLW?@pI@9=lANEb?~G+{kCd6kDwyTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1_qr6{$yI4M6rTR%55y(qCHGe56b Ke{&a8CL;hLwk%cv diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-311.pyc index d5b0dd3611e6d1e6934bdff4d769566dd8595863..b8e81f9761dae1dda466f868e5f80e34b60b6d58 100644 GIT binary patch delta 97 zcmcb@c#x5MIWI340}!Yml$gkE>J{Q*6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! sW~XE&=B4LD#LH8YViHqQic*Vh($ delta 116 zcmX@ec!iOBIWI340}wnd6`#m$8k?>kTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR zQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1_qr6{$yI4M6rTR%55y(qCHGe56be`1$8 E03KW_egFUf diff --git a/osinaweb/billing/__pycache__/__init__.cpython-311.pyc b/osinaweb/billing/__pycache__/__init__.cpython-311.pyc index 47b48e1eabb021e3d74ce04e11a10502d84d2d25..fcaca624008f3d55586ef6b564e9e6f93532bf2a 100644 GIT binary patch delta 82 zcmX@gxQUT_IWI340}!Yml$gkEYVGP`6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! dW~XE&=B4LD#LH8YVv;g*ax(MMVKCCOTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR pQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6U4LS=IRLeOBo_bx diff --git a/osinaweb/billing/__pycache__/admin.cpython-311.pyc b/osinaweb/billing/__pycache__/admin.cpython-311.pyc index 6d3f67d606a89dd2e166929a657b2576b238dd0b..426b97b22945534ef269b9e7d616034b9b06a6c7 100644 GIT binary patch delta 86 zcmcb~evF-WIWI340}!Ymlt_!%$Xmx`?c`z=6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`77T;uI1OU2<9*6({ delta 105 zcmX@cev_SdIWI340}wnd6;Jct$Xmzc7pfmxoLW?@pI@9=lANEb?~+R?=-COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA hFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EOwM6E2LPAm9%KLj delta 105 zcmZ3^vWtaxIWI340}wnd6;GSAkynt>FGN4IIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC tu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Z{^Ur;a{x3-C3FA) diff --git a/osinaweb/billing/__pycache__/models.cpython-311.pyc b/osinaweb/billing/__pycache__/models.cpython-311.pyc index 635a7dca188cc293519a88f3acdcbbdd35804037..26944897fb4f553d3ac78cffca01d0ecfbb2d5e9 100644 GIT binary patch delta 1759 zcmaJ=T}&KR6rMZFF1y42!R}Cg7P^M=vmm5eh>Z|Z3MFl#g}Md{0hVEBpbN9R^v=*y z3IdTPYs7~3l7LUv2T{|cX+__((derQ)J?=m8cnPZJ{TeGgPLeOXSRS?^=9sO&pqed zbI!fzn=hMwJnnwaWVg12TU**r820F6 z3;V+wC7&|M)>7&TrY@vC!5ar}>z~!Hhr82ZY27op;TcSO24_#QyS6#>c;vqhNI=ZU@119mod>8;&=7u3vpJSR#k-dc1 z_yr-%(L8Vn5yLU8=n*|Rqf2UtH~6~4MpjH$;u;U;V36j(^1INa#xy;ejE^->R&`KW zp>=pFDp5QNC+nKjWK>eMW)OBfYvH6;1Tf33`x`Ug`&o-GFZJ(ksSC^@i{VPr83>Ab zBbuTc7D-hNi#8q)Stt_15R#bGtjn;P88y6U@Nt2Ldw)5T{(md78ct}>0nBpWi-l>i z@*A<{o>;RX)~3bU@|1Aj>&sMjTYz=L- z%}xq4xo2QIDP&S=(go!(+Z5g=em0TwR4J_jBMl+oDS8ONuxYxak8AW4`y!{T(y))w zoU8$iHk4mmP~ zyo8D{`_9`?+XbTL0045CW7hl!O!rCmUS-(m*0q-05(1r$u@?eh@z*GF!>7C$F)u@(YAH zbV3+pzvQ=*Id;oexYlu?gk(veWZNXb77D7!DEqjejwINFf)|fq3d7l^L}PJDZI3Cc zZ1$YuOBfDW(v`@V6q7TRneiu>Tv#Jq0Xs!F$KEP@hg?}}EOHUsIBH*Ir;E!AucP?J zj+c==CS8gv37vMch2kn<5e*3E+1=uEWRX<{sz{u528zT1G?~{m)0v4D*-W5BSOE)x zsV%eB!0X)y$TM5qlaOj(cwrm$kM@l9rKDktdlD9HOU`Z7KiV_45tdV0!#*sz{udIE B!kYj9 delta 1022 zcmZXTOH30{6oz{Xv~=tYAXI4S10o^?rSZ{(h#?|SG$=I^KvYu4=~Ro;7Vb=WxKId~ zU{GT`>K0uXF=3-Mig9a<3p5&VGclSNU1}h*F>&ENQ;adr;>&s6bIyNf=Ij0!dxiTv z&zacsHC-B;6CMf;=FXl#w<=RLkW%BClu86zQ&Ku1Cp9(DDQcoJhKZ!OJvtyJ&!hrL zdBpJ7UBe!cPX|uN6(ycL6Ua=M!#OVN5t6k-a`b72~lX}u~A%eAm%pCubX!?MC2qzm4KMqwRq`;w0R1Z1dw$dKA&cpc00C*`~%Kh@F^t3Tuw5sQK=uYWs?*I4?+f z7N^~rH=Ak+>4Kl7LDwKgwj%HhJ%=zxhv7h3HJ3ym5r)ySA(Dg>9w+2DACo>$p)YLiEEk_gylYIpN`nWdNf?ko0bGUPAN2 zpDOk-i(~kU&@jwyRU|vfpc!B9et{NtGmF7p#I^REsuNapV`Rl3iBIk&Ug2Evs^5 zm#nI-s7hp)t(sj|>k=v;S|k-(-ycgiBb9&Uf8Ydf;Tw;LsREOp1CeSjqX09JW)UTq zsR1*YF|}N#4$M@>jO8-pz)WY%L@qN4%uL2ixLE6F{~b;5K+3iLoCYHep&;s%st&R4X|WR zJ>E z6z59QlT)n{>glG%@kZo3<@g=dGeC&G^1Eq$O~8HX5121`F<_fpu=RLRCZ0vfa zYaN$qj2b=00MU|ib5;kIiIFR4~IaaE|n z1Hn!6D0BE5^chmom-`RywtsWk!OdsP-KU1f+b%a9T_gK#haN|E{OqxQOn2MKv$aKe znumXUkvDC)RTjO+mSIKse?r`Y-(gXbqyf6=kIn&F_VeZd-S$W40NwFNXWnW{J{p-r z1(m9&5B^*@TMnkTK0NaAb{}sCczamR0_Q)z0)3^AR|32;z%t;AXY1#iuev^N^>Hh} ztysNw_Tv2ai#tAE@8k6VuMg#TjT?WLg2l$Wx{tT|cq_nLG5#O&^)q_zUOe{kMjvkk zcq2K9U;X*r!(i=+|Kh;MRv%jdwxV^Cz*GO_WgyF0xu8MwSO2l<ZW8R z=B4NB=cSf|`A{yHU7nhxpOl%ClbM&UUs{w?tXEL^i^C>2KczG$)vib!=n|mo7>Z{z VOg_glnV*$~pQ(Wx1dBw0!T_2cIvfB1 diff --git a/osinaweb/billing/__pycache__/views.cpython-311.pyc b/osinaweb/billing/__pycache__/views.cpython-311.pyc index 48d7e8e09e6dd0a6c6378009ea468daf2f134322..50acd838078ac03bb2b927dfbaf47db51e53f1c4 100644 GIT binary patch literal 5368 zcmd5=O>7fM7Vfs&e`&{d95DGIi4y`D2ND8=1Sb3^5dJ1J1JMp-VH@Lah=YGJ)orpw z4jawxftApT!$@$*N;wSdAUNb0?P-o2yRDXNwS&}!b?VfT&ofBOt&m{J{Q{J?1$_H(pKQL2uq8BJH`hfbyI-vC;4>Tb9 zfd<8Tpdm2;v_T944T~Y5jbg)PCKi5+%ETOon@AZ^B1Xe)NfEL)XQTwYh%h)X7-J2u zl1xkU*^C5rAJ#=FrNrN|IFvQmULgMSayD~Gl4r9SSxR7!RoqZbJ;>>`TWpko&@xz2L|@#+d8hEI9Md z8C%w}r+S=K7oE>Q*B7?F%U-Le`n^s=F3*umd2YsM@#NV%R00{#v&vShm0@6h-ujyH zTQ!lJhqb(P)y_N*-3u?@ES`NQoRF$;|C}U!Rzh1Tn5iZ`(l%fPoX^_vDz<@W>Lm zn@mVBDxJ+`6vJzA8g5yMD>)fha*2c_%drN62WL1l**P4qNQUQfWwgh{qincuB~uE3 zv@S6nC$}X*mOx~d0B(hw_YBvqB#{-;0AdIprxCPu6cYCmDaijx;PWh+|HWqbJERgH9w5|Qy`=#ccWe-!|^>>D=5Bvj3 z8Oc9?s$=|3Pnwnwt4)0x->>uiD%ZaT3uJ1%4uT0!W$hCnkC`O1;H>sMd2qUUXRRFo z#vK#$O{t`;z-|k(@!OKTH>pTzxqn(or=GI}P3AdAqVO^}Kp^1f&K!Mv5`ZV^w~CB@ z2oIXu5!mo53u}qR?=L% z5^5*rQb-IYA-$+kt-fxPi3~tjH+FBX@X)G9<4@@P36(qX0fqkr62RdDwaR;k|4Ur_ zvhAX*@%R?kxuylD=*T;h>;k9Qjuu=hBRcckh6Cm%-Z}e{qTx+u?qVlD~=vKt%rAUS}f4~UHTLmZeuFgvgpdF3-ez#fB< zhrcTZy9&WBE!eFGyNkiTLa^_9Ned3@!NJ9|WjEt%d~~+#G~wc{z~#_tkH(+U`BN%) z>I1v~vA}PSi=qH%pG|=yl=s3{-z>?Bxr9RZ;%70#yy(+VCZEvXV_pM4sQi@ieJzTeuF6 zR#@R0f?HLh_$CK&=^w!N5$xXt--ZvTqZ5#0z=Hsn$AJLKLmhgkrx@B@2<_HFeR`;` z7#b>shE{S~=%^k#x_Ay@zU9%?^)NrYI;`=dIzOs%qvmngksAocC=K1i+7v`owNa%~ z#g}Javg@Nh1$|zn%-AkwxvJIb1vlb=s1as(ANj#OQpNf2#*5CE+`93cV#j(I`7L8? zu%U=9(Os)|t&|!W+2cp^FdUC-UR$gRcNwXXMc=#f9Eeo4-}#YR^4MeF)zCw8W$fB4 z4f>h>dQ%pf(5B<4tS`IK1Zi1Wu z1~3d4^@1_45vYU`f|+z!i3$WCJY@l!P~s`WkGYOu2K1uQXrq}XGeRbwmW;67NHYxD z7O>l-bUc}|WKt~0!loq+f<|Nlh~fJjlcaSv6~I(K5hseN3Hcn^zd(X^KyAt3a&SEw zbydpv-s|9^Q~!TLwy7n!lYWHSK_mLvPws>gZm&uXpU%JC2sxcPwS} z_I-N$NU5b`sb6pD(_0R_-q!l$LUDV4VSB%}eL&wnpl#cyZ`)UH@S&vw0ZWZwZt@{Z zMN6WVdIc&UXQ>e7Iv~n*Dpl4dq!&Ta1vI z_x8)vS)wFzicEuSswY?p&58SS3PJ&Q0RBq=!@)nJ%w*r4&ceS^vcXq4rxj(E0+Q?k zZkmG8w8jj@QC}MI(Qt*J^QQnKxT5D~_(#|L&U*v|=Tg!!G7VkeUm3XpXxYiKY>63C zH~W>CPPO(|V%pW(Uy0eOTE7z0t=9g^?l8Nz%-E!tV^6S<0KcaJjy*|RY#Q*eqtH@C sTR8R%<*_M@vg;rX>M&}IjF*dsW}dP0x!U#WMW!~g&Q delta 408 zcmZWjJxc>I7*3kIYg*e{Ech`v`2i=i(M1u&#p2jSD|p+riS;D8gCs|B6*nij!Ji5nS4`)aie%y~^0&gPxl+Tv;3s5?Lbg&YVN zKxlb^7X%7W&JlNn8@Pr$)aBl>%{^WeIKaj$UW1@S@e%M#Z?@QnV^6Y}GC6vR3ed^6 z(V_U-B(nej delta 117 zcmaDL@L7O&IWI340}wnd6;Io`k++&PGF?BkIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Zer{%ZQDRAEeqOQu=5wr* Fm;jeaD|i3^ 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 c07e1072b946fb3e9041d61a6d2f3236d0a59516..c86fc14626e78aaf519b5cd4d9b8371f00e18b62 100644 GIT binary patch delta 98 zcmeC-`pL<=oR^o20SMF&N~BHS$a|E@t!rHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(+!S0su^)Bar|A delta 117 zcmeC=o5RPuoR^o20SKO!il@!l$Xm=3S*9OaoLW?@pI@9=lANEb?~m diff --git a/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-311.pyc index 6c3998480036f56033034bcdf75b30d6929bc788..585a65d4f85413fa07c9986ddf689e741d7433f4 100644 GIT binary patch delta 98 zcmey&`hb;pIWI340}!Ymlt@e6$XmtemhNH|6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKVTGQ1ORTaBeDPh delta 117 zcmaFB`k9q?IWI340}wnd6;BJ<$Xmr2S*0IZoLW?@pI@9=lANEb?~GoR^o20SMF&N~G~IZRB%ha!YZsiV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm u$xAHMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&4-wF GGXemLi7S5q 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 2fda5ab223e86549fa41fbb3001d36636a123a66..5d3d0a2b5736a6a28dfc046fff5ca3fd38e1bbc8 100644 GIT binary patch delta 98 zcmcb?ag>91IWI340}!Ymlt{DN$Xm?hmgQm<6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(;$11OQL(BfbCt delta 117 zcmX@gaf5?*IWI340}wnd6;IRN$Xm=5S*ssfoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKV-^a1OQ0NBc1>N delta 117 zcmdnSagu{~IWI340}wnd6;HF;$Xm@6S)?CYoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OuVP7J0svHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OmoRBE0st;>BC`Mh delta 117 zcmeBTpUcj>oR^o20SKO!il?32$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?{ GGXem!Q7l0K 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 c452c292168b476a10bfca03c8b8eaedd4a3231c..23bb2197ffb9f2ffa65977cc508d71b7cd8135dd 100644 GIT binary patch delta 98 zcmaFJc8-mAIWI340}!Ymlt^2-k@p;Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&5BIA Fi~y6WDsBJ( 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 9e138df46e40b515c6ade6f59f96e868c9457b01..e48455fd86bcc3e57ebf2d106d9700a4ac8aa6f1 100644 GIT binary patch delta 98 zcmaFHcA1TLIWI340}!Ymlt^2>k@q5_Te6E)On81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EY|f<52mq3*Bc}iW delta 117 zcmcc2_Kb~pIWI340}wnd6;GSFk@q5FWSM?wacWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ%_>a# Fi~yLmDt-U} diff --git a/osinaweb/billing/migrations/__pycache__/0015_order.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-311.pyc index 11c23f77dd63500597bab83ac6128607472e52c1..7cfcfaef9c75e62176ef1ddf9b610febf2f49f21 100644 GIT binary patch delta 98 zcmZ3=Gl_?HIWI340}!Ymlt_EFk@p_6Tab%YOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4E?85Sp5de9{Br5;_ delta 117 zcmbQlvy_K-IWI340}wnd6;C_2k@p^RWU78>acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&4w%w F83B0mD*ONd 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 88e88c1d8caa2f50fd321fb26a443c655d6c3b2e..90c57d863b27a0487f139110e382fb112b9f7f75 100644 GIT binary patch delta 99 zcmX@ZzLTAAIWI340}!Ymlt^P^+Q=u$SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)kEdQoCYW`16={^m@k G07d|12r5wk 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 a7c5cd4a1252e97f8293f5146bf3e4530d92db02..b0e5d05464b38c2b2f36c14721cb0c901fd13f0e 100644 GIT binary patch delta 98 zcmey({(_x%IWI340}!Ymlt}x(k=KODEy~3zCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#ESU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)kEdQoCYW`16={^mla G07d|CuPSr^ 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 23bc35e4f4dac98086905d5dfa2a3faebf1daed3..21f19f136f9e4ebdfac84503f56f37fc4b9b5783 100644 GIT binary patch delta 99 zcmX@FyhoXDIWI340}!Ymlt?oY*vOa4?N;w%6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A ulb2c!W~XE&=B4LD#LH8YVv;g*ax(MMV{$XoixNvR^Ye;hHlN{UW&;3c9V2}J delta 118 zcmdm^d|sJvIWI340}wnd6;C_NzmYGMJ93hKXmM&$v3`DWW=V2>uD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB>kk!oSe+Obp71S^rFO)%>2A!{mnbM Gnb`oLe=7C> diff --git a/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-311.pyc index 2ded1aa86317cdb3d93a9708aaf9b85483826237..23ce0c80ec88b040cdfd9f5e2499947af46a9e9e 100644 GIT binary patch delta 98 zcmZ3e3 delta 117 zcmbQnwUUc>IWI340}wnd6;FG)kynyAGE+aaIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Zer{%ZQDRAEeqOQu<{ai# Fi~u~KDqR2o 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 bf7486260b2a6c9bfe898539be0454325cd8e69b..a0c53c306656e806e1d221e310d4573b44dc97e4 100644 GIT binary patch delta 98 zcmeC?{K3JyoR^o20SMF&N~G0pZW8R=B4NB=cSf|`A{yHU7nhxpOl%ClbM&UpPQLplvt9PpI5BE`3ln# FMgUpuD*gZf 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 83d02ab5f3a2c1fd590a3b6e9d5f07274f200ad6..01325b476ad910ce97e42bed69297f738a5d44eb 100644 GIT binary patch delta 98 zcmX@dxto)BIWI340}!Ymlt{DK$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 GFaiKm>?<+= 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 8020d6c0a582ed38ee6f6115c049b1f5d5bc7bf8..c5fa939751215b20c17f8cf3865d1e740ef6ce1b 100644 GIT binary patch delta 98 zcmX@hwTp{)IWI340}!Ymlt>HO$Sce2mhWN}6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OH#47N1OPTZBW3^q delta 117 zcmdnRb(V{FIWI340}wnd6;HF=$Scbn*`yy@oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKVsx&1ORCRBb)#L delta 117 zcmcb``j(Y$Xml0S)?CYoLW?@pI@9=lANEb?~?Mj3sNa9(9)`qC5jMb0EASvX%T-a1O-GCadL8($gX1t+i6v% z4h)PPkopY@s2SiJfW!yrkRiI2iOp3rb>iJQPF0n&@8|dD?%jL8d;XHk=?KQnUzh7Y zWQ6{3B_64PaJ&q{9wLZHHfl;`sVSFbiR-eRC?{pKib&!kB1tM)@gB6FK%oX9T9}_)KZKgxdaEZLn5+G6Utf1HvAns4NjwmWf2vyqjJZA9&8`$>ooGa4QJ zY=w|jj%1+5EYqIF#X+T->zj^Ib3Mvtip9GN*sufY;ab}d+$Qx}o?ACz|AMT98~I!0I*cuq&8X0k1!RBb1-H)#&B_M z$Q`pR#_!vP&ClieNi?d%Oo&=7p$Zg@)GQ3$7a9IeP93i`uE#z=~cJ% zu3M^y2-(uA44;dSVxRUAA0kkN-+H@K$wsu32K+}hv?S%w}++=<2O`BB_%}X RVOQ^7m^xR;T8IWI340}!Yml$gkE>K5Q)6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! oW~XE&=B4LD#LH8YVv;g*ax(MMV{$XoixNvR^Ye;hCeAbm0GS~n(EtDd delta 112 zcmdnXc!807IWI340}wnd6`#m$8kwvgTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR zQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6T|YN7y(qCHGe56be`1?C0B;T` Ax&QzG diff --git a/osinaweb/billing/templates/add_templates/add-order.html b/osinaweb/billing/templates/add_templates/add-order.html new file mode 100644 index 00000000..313ee4c8 --- /dev/null +++ b/osinaweb/billing/templates/add_templates/add-order.html @@ -0,0 +1,85 @@ +{% extends "add-edit-main.html" %} +{%load static%} +{% block content %} + + + + + + + +
+
+

+ Add Order +

+ +
+ {% csrf_token %} +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ +
+ +
+
+
+
+
+ + + + + + +{% endblock %} \ No newline at end of file diff --git a/osinaweb/billing/templates/add_templates/add-product.html b/osinaweb/billing/templates/add_templates/add-product.html new file mode 100644 index 00000000..23c71010 --- /dev/null +++ b/osinaweb/billing/templates/add_templates/add-product.html @@ -0,0 +1,72 @@ +{% extends "add-edit-main.html" %} +{%load static%} +{% block content %} + +
+
+

+ Add Product +

+ +
+ {% csrf_token %} +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ +
+ +
+
+
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/osinaweb/billing/templates/add_templates/add-service.html b/osinaweb/billing/templates/add_templates/add-service.html new file mode 100644 index 00000000..8635a7e8 --- /dev/null +++ b/osinaweb/billing/templates/add_templates/add-service.html @@ -0,0 +1,72 @@ +{% extends "add-edit-main.html" %} +{%load static%} +{% block content %} + +
+
+

+ Add Service +

+ +
+ {% csrf_token %} +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ + +
+ +
+ +
+
+
+
+
+ +{% endblock %} \ No newline at end of file diff --git a/osinaweb/billing/templates/invoice-details.html b/osinaweb/billing/templates/invoice-details.html new file mode 100644 index 00000000..5ae80e2f --- /dev/null +++ b/osinaweb/billing/templates/invoice-details.html @@ -0,0 +1,30 @@ +{% load static %} + + + + + + + + + Invoice Details + + + + +
+ + +
+

Bill To: Winabig

+

Customer Details: 036466464

+
+ + +
+ +
+
+ + + \ No newline at end of file diff --git a/osinaweb/billing/templates/listing_pages/invoices.html b/osinaweb/billing/templates/listing_pages/invoices.html new file mode 100644 index 00000000..a628b223 --- /dev/null +++ b/osinaweb/billing/templates/listing_pages/invoices.html @@ -0,0 +1,97 @@ +{% extends "main.html" %} +{%load static%} +{% block content %} + + + + +
+
+

Invoices

+ +
+
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + {% for invoice in invoices %} + + + + + + + + + + + + {% endfor %} + +
+ Invoice Number + + Customer + + Order + + Date Created + + Actions +
+

{{invoice.invoice_number}}

+
+

{{invoice.order.customer}}

+
+

{{invoice.order.id}}

+
+

{{invoice.date_created}}

+
+
+ +
+
+
+
+
+ + +{% endblock %} \ No newline at end of file diff --git a/osinaweb/billing/templates/listing_pages/items.html b/osinaweb/billing/templates/listing_pages/items.html new file mode 100644 index 00000000..981e953c --- /dev/null +++ b/osinaweb/billing/templates/listing_pages/items.html @@ -0,0 +1,183 @@ +{% extends "main.html" %} +{%load static%} +{% block content %} + + +
+
+
+ +
+

Products

+

Services

+
+ + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Title + + Customer + + Type + + Amount + + Actions +
+

Item 1

+
+

Nataly

+
+

Type

+
+

222

+
+ +
+
+ + + + +
+
+ + + + + + + +{% 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 new file mode 100644 index 00000000..d76197d9 --- /dev/null +++ b/osinaweb/billing/templates/listing_pages/orders.html @@ -0,0 +1,100 @@ + +{% extends "main.html" %} +{%load static%} +{% block content %} + +
+
+

Orders

+
+
+
+ + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Order ID + + Customer + + Due Date + + Status + + Actions +
+

1

+
+

Nataly

+
+

10-2-2014

+
+

Paid

+
+
+ + + +
+ +
+
+
+ +
+
+
+
+
+
+ + +{% endblock %} \ No newline at end of file diff --git a/osinaweb/billing/urls.py b/osinaweb/billing/urls.py index 1d9f7d1e..44891bcc 100644 --- a/osinaweb/billing/urls.py +++ b/osinaweb/billing/urls.py @@ -10,4 +10,22 @@ urlpatterns = [ path('check', views.create_charges_for_recurring_services, name='check'), + # LISTING + path('items', views.items, name='items'), + path('orders', views.orders, name='orders'), + path('invoices', views.invoices, name='invoices'), + + + # ADD + path('add-product', views.add_product, name='addproduct'), + path('add-service', views.add_service, name='addservice'), + path('add-order', views.add_order, name='addorder'), + + + path('fetch-customer-items//', views.fetch_customer_items, name='fetch_customer_items'), + path('fetch-invoice-details//', views.fetch_invoice_details, name='fetchinvoicedetails'), + + + path('invoice-details//', views.invoice_details, name='invoicedetails'), + ] diff --git a/osinaweb/billing/views.py b/osinaweb/billing/views.py index 2b68868d..518dcc22 100644 --- a/osinaweb/billing/views.py +++ b/osinaweb/billing/views.py @@ -1,12 +1,9 @@ -from django.shortcuts import render +from django.shortcuts import render, get_object_or_404 from django.utils import timezone from datetime import timedelta from .models import * from django.http import JsonResponse -# Create your views here. - -# Create your tests here. def create_charges_for_recurring_services(request): today = timezone.now().date() @@ -26,4 +23,108 @@ def create_charges_for_recurring_services(request): amount=service.amount, due_date=new_due_date ) - return JsonResponse({'status': 'success'}) \ No newline at end of file + return JsonResponse({'status': 'success'}) + +# LISTING +def items (request, *args, **kwargs): + context = { + + } + return render(request, 'listing_pages/items.html', context) + + +def orders (request, *args, **kwargs): + context = { + + } + return render(request, 'listing_pages/orders.html', context) + + +def invoices (request, *args, **kwargs): + invoices = Invoice.objects.all().order_by('-id') + + context = { + 'invoices': invoices, + } + + return render(request, 'listing_pages/invoices.html', context) + + + + +# ADD +def add_product (request, *args, **kwargs): + context = { + + } + return render(request, 'add_templates/add-product.html', context) + + +def add_service (request, *args, **kwargs): + context = { + + } + return render(request, 'add_templates/add-service.html', context) + + +def add_order (request, *args, **kwargs): + customers = CustomerProfile.objects.all().order_by('-id') + + context = { + 'customers': customers, + } + + return render(request, 'add_templates/add-order.html', context) + + + +# 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')), + } + + return JsonResponse(data) + + + + +def fetch_invoice_details(request, invoice_id): + invoice = get_object_or_404(Invoice, id=invoice_id) + order = invoice.order + order_items = OrderItem.objects.filter(order=order) + + order_total = order.get_cart_total + + data = { + 'invoice_number': invoice.invoice_number, + 'order_id': order.order_id, + 'order_total' : order_total, + 'date_created': invoice.date_created, + 'customer_first_name': order.customer.user.first_name, + 'customer_last_name': order.customer.user.last_name, + 'customer_email': order.customer.user.email, + 'order_items': list(order_items.values()), # Convert QuerySet to list of dictionaries + } + + return JsonResponse(data) + + + +def invoice_details (request, invoice_id): + invoice = get_object_or_404(Invoice, id=invoice_id) + + context = { + 'invoice' : invoice, + } + + return render(request, 'invoice-details.html', context) + + diff --git a/osinaweb/customercore/__pycache__/__init__.cpython-311.pyc b/osinaweb/customercore/__pycache__/__init__.cpython-311.pyc index dfc13ddb0da634c8d4122bb95a8efe061829aaa1..ee0c689f665ae18904c50150245142b07d75643c 100644 GIT binary patch delta 87 zcmX@bxSf%EIWI340}!Yml$gkE>fq&K6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! iW~XE&=B4LD#LH8YVv#|1%u9?<$%@HK kEeEqxvJ&&s^C9BpsYx-(rNt%rxv53T`9-NQ6Zbm-01P=GO#lD@ delta 108 zcmaFI*vQ1YoR^o20SKO!il^C6eeTv}X`pPO2goL`ixKXHu{0LCLHU;qFB diff --git a/osinaweb/customercore/__pycache__/apps.cpython-311.pyc b/osinaweb/customercore/__pycache__/apps.cpython-311.pyc index facad0ab601dfa661db095361b5b601e81c5d976..5293bac72ddbccdc02cf1dd7340ade81f49c8616 100644 GIT binary patch delta 91 zcmX@fvWQF4A!s{Z5*#&ZA=NGJIK diff --git a/osinaweb/customercore/__pycache__/decorators.cpython-311.pyc b/osinaweb/customercore/__pycache__/decorators.cpython-311.pyc index 755ef7d65b93af57bf759aad9d842bc3eb90bd22..cf25e39bb23cebfde2da19522bbd82c2204b41f6 100644 GIT binary patch delta 92 zcmX@Zv6F*$IWI340}!Ymlt`1?$oreo!NQF4A!s{UpVrjLvOT}>#5 diff --git a/osinaweb/customercore/__pycache__/models.cpython-311.pyc b/osinaweb/customercore/__pycache__/models.cpython-311.pyc index f9ad7a8442e06d6fa65565ec3614f908cceef3ad..46c9c4b86b593eab13378a61b5518f4a79bd4e52 100644 GIT binary patch delta 89 zcmeyz_?nS-IWI340}!Ymlt{Cg$Q$k8;bIjNo?n!$5Kxq#m6}{q9Ft$1nU@%!k`YlyIWI340}wnd6;HFA$QvCTtsh#PT2!o`Uz}NzoS&=jlAm0fo0?ZrtnZgt wl9*EolE_QcP032kOV8KOODzZUpKR2}~Ilm}Xf8q*f0QChY%>V!Z diff --git a/osinaweb/customercore/__pycache__/urls.cpython-311.pyc b/osinaweb/customercore/__pycache__/urls.cpython-311.pyc index 808ab60f712239fa773364c3001634f49aaa6a4f..9ff4c1d00ea6fa3275e0c744615768b2aabba4e1 100644 GIT binary patch delta 144 zcmcb}d4iK~IWI340}xzRmQ0gi-pE(O$R(6qT3nK!n_8s1xts9>V~m@NRZMt(QMN)r zQGQlxa!GMaesN}AVth(gOkQd^n4OZ9n3tXp5id_oih-GsoL`h0Q(BZ$tXEL^i^C>2 fKczG$)vibyXdxpI7jsNL#B4mdmql_iFUt`Ct3fdm delta 148 zcmX@Xd6AQEIWI340}v?O6i@rkw2`ldk&$!r6vh*b!IAo*#i>Qb`uW9~CCT}@`Y!p& zrManjCB^!Fi6x0Sl^}_{MBS9E#Ju!;{k+t2FdxbVv&&PH^pi`AOY(D5i<0w;QuQa# mVU}iOpS*+FShz!aLh2PU-3ume7g*dcvbbMiai9F3`6K|lCpBXL diff --git a/osinaweb/customercore/__pycache__/views.cpython-311.pyc b/osinaweb/customercore/__pycache__/views.cpython-311.pyc index 9ff2c7695a5feb854288c7c5c444bd0809c554d9..46870cce2cd59843000deffb35787ac0d0bfaa1a 100644 GIT binary patch delta 1333 zcmZuwUuauZ7{BNKOZw*~P1-bR(xyr0RxY(GRi>j9+pczYo2}cjIcqb!H21VkmgL6o z-mtBt*!ds~`yd=pUxYr@Ne3eF!3R+XKKLTGQcy1p=HtMJ%s(I^==pBUK-dT8cYo(Q z=lkw=&i6ZaCqA9>eW+=z0=L1tk(D#upZNYElP^3!mcC@d)x=pa^E7K)Y17J;GD}82 zU82`qZsaqiRkPv0Mwipsie;Nc3Rx3qx^_j3k!RlGN#7HyLLRfbmM2ZNA=z@13qoFM z@@<)s_Rt%WLGFkM0894SFp=AD*lvsf-r zn;N?4c$?)ps%2;Fish!<7afkMu*bEVa#a%PoUBaMCRE6I0RR~@-xQE>dt;4+vi zxdL^RmoV1xn9J_vI4bwr6aXvGRcPlQ&=7nGVT2w8KL<tJB08AGgVy~mImmwXygPXq_qip@Zpn@(XVc?8Ms6u%n7UwLKHX0Fx<07GuRhLTBSC)CAvrK<%{fk z@B*1*-v(15_fC&ulw0crvITambAp^>mCj>Ifjcs_k2|B1@=MjTt+I11UF?eDuRZLh zWX|yKa3StK5@Sj*I;x(0fCss@&T&Jt@$dhc5vXc8Vg&DW{$G?llGU{?&&Y<)=(2V8 zMI;$|Y#94JG9-uQVVoW6StAQJ%`VyxEC%UoaeCKHgi2o%XZEzjV1ID;B_^$@iH=O5-cJtad70k zWtJKpdIg=YBE*>$eR{_60yT2L-#omAUQ{b&I5?7JgYIvL+d%IELe^cXK*6mQ+#{{A zpQ8z~!o=87a+Qt7Mq6+4UGMW@ea8y10_kEu#rFOE+ur@Keh}98I`kiVC)wA%NngEB zXdm2bJM!lraiKlL9`r7g5%yvqkVW=oUxGZv?)MFj;gbQBHlV0oF*Z(!T?hQvM*;+q zqiX;1ju%a%QlQVlEjAVZJlaA|le&QTP!hzR0}`o=u5W;a`)?)VuVo#-)$I8 ziI~j7WZa#Zjd9^dj8S7uXEBRe=+0NKA~G&3I0M#Dyn0U(U}x_uSvV z4?Y_8-}3ny6_n7+$aF0H!2dtfPNydpmF%GsTI zF(XP(Q&F z&(>PV+3aYw-Da-H^U|_i(*;9v0o&Z2O;H>qVuTLR+$m=lntip)?nBJijplyJL=f=N zbDhQE4{tl`g`3`_GljuS?XmYNbM8iSvUaBFS2fjxrmc>fWu9`_E=y)*#j-sc3&xn! z6gn58xAq~Bao|)V!2|3HRD-A35Ihgg?zPnlo{$~bD47!`u9n;GS)Rp0%WjzAQpB;1 z=%ilGV>BP++fK5h@K2i-9;Vb*LN8&2FbT=fD9gZ9Xpi$e2F}&4g`y44m8$!O3;KPV zYp){H>{8XU#1!QY>Y8YZuAm00?qcgk>>?TqK1rvvE_zGVS73VU-Qbb~t5MfPQ@Rzo zWy4dHEs97l`1LkP%UYMJ|C^5Ru)Q(--HG9C`*t-nF7|>yI?EZyt_)-I>MlNopsOEM0hV|}a$Jstgxi#X~pRBIWgIt&(uryVQN?i-nv$iVZ+ zz;esLYFKIcX*n>sx=D#2WNK*E06%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! tW~XE&=B4LD#LH8YVv - {% endblock %} \ No newline at end of file diff --git a/osinaweb/customercore/templates/listing_pages/products.html b/osinaweb/customercore/templates/listing_pages/products.html index 495108a7..8b316428 100644 --- a/osinaweb/customercore/templates/listing_pages/products.html +++ b/osinaweb/customercore/templates/listing_pages/products.html @@ -3,19 +3,10 @@ {% block content %} - - - -
+ class="w-full bg-secondosiblue shadow-md rounded-md px-5 py-5 flex flex-wrap items-center gap-8 text-fifthosiblue text-base xl:text-xl uppercase">

Solutions

Cloud Hosting

@@ -24,7 +15,7 @@
-
+
-

Shared Basic

+

Shared + Basic

-
-

80%

-

$2.40/month

+
+

80%

+

$2.40/month

Regular Price: $12.00/month

-
- -
-

Shared Plus -

- -
-

80%

-

$3.50/month

-

Regular Price: $17.50/month

-
+
+

Shared + Plus +

+ +
+

80%

+

$3.50/month

+

Regular Price: $17.50/month

-

Shared Power

+

Shared + Power

-
-

80%

-

$4.80/month

+
+

80%

+

$4.80/month

Regular Price: $24.00/month

@@ -175,7 +167,7 @@
-

Cloud VPS Hosting

+

Cloud VPS Hosting

-
+
-

OSICLOUD 1

+

+ OSICLOUD 1

-
-

30%

-

$46.16/month

+
+

30%

+

$46.16/month

Regular Price: $65.95/month

-
- -
-

OSICLOUD 2

+
+

+ OSICLOUD 2

-
-

30%

-

$53.86/month

-

Regular Price: $76.95/month

-
+
+

30%

+

$53.86/month +

+

Regular Price: $76.95/month

-

OSICLOUD 3

+

+ OSICLOUD 3

-
-

30%

-

$69.26/month

+
+

30%

+

$69.26/month

Regular Price: $98.95/month

-

OSICLOUD 4

+

+ OSICLOUD 4

-
-

30%

-

$107.76/month

+
+

30%

+

$107.76/month +

Regular Price: $153.95/month

@@ -236,7 +231,7 @@
-

Dedicated CPU Servers

+

Dedicated CPU Servers

-
+
-

DEDICATED 1

+

+ DEDICATED 1

-
-

30%

-

$103.06/month

+
+

30%

+

$103.06/month +

Regular Price: $143.95/month

-
- -
-

DEDICATED 2 -

- -
-

30%

-

$127.16/month

-

Regular Price: $184.95/month

-
+
+

+ DEDICATED 2 +

+ +
+

30%

+

+ $127.16/month

+

Regular Price: $184.95/month

-

DEDICATED 3

+

+ DEDICATED 3

-
-

30%

-

$173.63/month

+
+

30%

+

$173.63/month +

Regular Price: $252.95/month

-

DEDICATED 4

+

+ DEDICATED 4

-
-

30%

-

$265.76/month

+
+

30%

+

$265.76/month +

Regular Price: $374.95/month

@@ -298,26 +298,8 @@
- + + + {% endblock %} \ No newline at end of file diff --git a/osinaweb/customercore/urls.py b/osinaweb/customercore/urls.py index 6329673c..1942a491 100644 --- a/osinaweb/customercore/urls.py +++ b/osinaweb/customercore/urls.py @@ -5,7 +5,7 @@ from . import views urlpatterns = [ # LISTING - path('invoices/', views.customer_invoices, name='customerinvoices'), + path('customer-invoices/', views.customer_invoices, name='customerinvoices'), path('products/', views.all_products, name='products'), path('orders/', views.customer_orders, name='orders'), diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 73087dbbad558c0b637cb646846d1f2ef8dd8fdb..dbd97d24601400a836584201113bf374983c94cf 100644 GIT binary patch delta 3609 zcmai0dvFv*8lRq-o!!};nNA3h2O(LI4QR|V@7dW9$mY3$Y+g%32nTsTHm}{h33r-g zsS9eIisXtp)H<|Ixhsp4Xe{RL^q}yp)8Y@LN~I8$hgVlrom4;%;Yv}jH!JNDb(E^>TRzN_qVk6gCJXpS?GlIL?&1OLcPP`P;)CW^T@;N z09ZEjm#h(BO^44e@PD2}Z`B5}sU;pm22hFnw!NYrPIJ}C%tMD6>;qfbQk)_T; z0I)6H4!_3cpl?lkEimNARk7!ph24itZBf*qT; zbDec_&+NIU_vkDO7LB3PZ@`e^orOo>9#{`G2)WDLan9hvTrro<-elirf6tDwTiCU% zmASx}%+pLevw=x;Ty?zbIOrI0lsi`2f3TmiziR)beY;(@GxR^`H|c$Ji1yJ*wrjTc zYzJ*4wlZ6W^*ifF*2C7_);gtUhz7z#K>RX(4BwCU;zcNLZh%wZ5O@^S05_np^UwH}60YbbL$GiO zOOQYc%8x>#d3a6JT+xkpLW1TMB_w8|!b`4b$z71_6+Lc`sPn4siu&(@c&{wDRbJ#3 z#T6~S6XHEyQFZfzM^|`PwCFBK^D4ZX=QULnT+zb2AUP&=nxbhQk1JYm7bJQGk6RKH zSwiIVZ$q+I(Y-ucOOtgTL3y_!$txj-9=ERY3a`4NzB?hL-?D@l3PLOzx%WUQ8k#1E zvXBwoV4NVhC5urAr3KOV@RE$;wEj*bUWpM@6;<+x8PS}dj6|=bdlk{GiMk{pqjk59 z&=*AZ@{-%b%X};r*>^!w3=()n6=he{`xAsBD+saR>VoLeq>QK@TPn$%Cb;(jkrB-@ z8X>pDe4F9^j^oi~F}uaa7Y;5SVJR^z$=pYC55}f0n(G?zG^e6o+kP|YZUatk zGz#`|UUPgecMZp}PmLW9*`3C|DekS6o}O?=Pn#_E?&@!h>{L4SK9nJ?1D%c9ur@jz z>csY#kzaGE3~qY_De?ge`UVE@p~&En*g4eHDfRPxoxG=SSm@%1T8EWkO&>v*4H*Rv zai)%x;|vm0u9dMk$PdWJNS%bl8RTaNF{Vx~qcIpyX9C(MsoJ)muWW2-X>D2Qb^iR3 zN4C3eZ_9})Aapj0?$!iN*Y(wtDaa5478!~nasNzo4Ha2MT2VTgOk)Z9{1T$4JXWlh z47T<-!%dxIt<8hZHInFg@Sc^$`&O1zw<@5#Q2dig$e%FpPtxc7#eB`XlJt9Bt-a5c zfD%lQWkFCjPbS88G3QGZ@8NLoo&>KXBN>w=MczKS6xn5gZL!^#2TKBlW!28$W?xx> zud2XUaSkjqP>I7XLrS^u^>(6rtOzk-&~=Z-%VyUEbcv+y)3fS$wPzuB@$LFGlnfd6;*|S zlIlPb@|j|MxEAt@ZPZDO`IV#9zMf9BUgJJyU#Cu@ggQb!9Cb}ZS58_mpd!>-u^I2X=M}k)cqF-Y*173qAel=Cla;I|Z?RFjyZfYTwwC zAK*)dM82SX~zriC>8y42Xf4q{NO5NeC$;PGUO`qS$0f+0=qWg@o1z^Ad^z zWnGlGzQ`*|{*tox^vKZ8ggx9EX&CO@vnLU94t6JE!B8k18wmJ!?QA^S(cRj=E49q3 zmmMynDN3Inw&<^T?!kq)nfzV!8#}E60t)A{!&6BnEV0+l#cc7us+Zps6aCfA~#*ey&nzmvSYp^=& z9CiAYz z5kC=sZ%|lxGVf9M3T%M?;5+tuwK30bW61{rwf+%iyXeD0R6S;3ZwuIb7ijpSZK!~B z^s8^Cna7mBVIiaLGrT{eFeTXt_TN^E$ikOu@qH!)DJ)#my70s`ZCkD|b5J|Cpn<|; zQj!WWFLK6ZzlA2%QMFkuSC*7FloQHRic?YKf64DkyT!kVuZjD_N|6yR2|3~CLa(qz zSjB(Izs!&DW!z`nG43??U%rX|llUWPz4$=ZEgxxEgO$U;*Iq8ABJhD9Z+L*#OVV z&;+;@t>+c!WyOjt%72>iQ5h;sMV4L`lB)_F2Zkflid~Bg5$@1n3nwKvW(!xq|4Fb8 zpVr`JQT;U~Qfq*p%!qIoAfIZm6tHSVc1@nF1lIa&cAv{p?XGp#d2RR>gtG-kC&Ii* zOCn(m!j0J~{8tthk$Db&NYlrg@g-!$^csRu@EqYxMrhcy8a^QWYWPqDH;9FR8#MXP zdT6OPL+V!){D=0o`n=LF?~vAtr-TgO$+=jKSfcO_LlRq1h$aUU@O6nPh6`9o!78Im z-hpJ{Sy)^EwqR}wZpVQs=p)Zg!Fx0fXng2#*@{o<@V!Ut`bXoQ;qD$!vaj}tE0wH` zIY!3EhI@L)#+_+z-w^c^lKLfFs~Y$8K1YJ5An`H|?y%8sFm7PqvgGhhIBhmweS$)X z{4$((Ae=zR3u1T{q3tzpo7e7f+dciGqbXla&F&r5jg6|qX|vfJ{@&4nvAB%x8Q3@$b;)DfoA7-k?6EN!bm@`Q_n&Bd4I1T-u5%=>G%%CK7T0 diff --git a/osinaweb/input.css b/osinaweb/input.css index b8027e9e..2d36a1b7 100644 --- a/osinaweb/input.css +++ b/osinaweb/input.css @@ -226,4 +226,19 @@ /* CUSTOMER DASHBOARD PAYMENT */ #paymentContent iframe { min-height: fit-content !important; +} + + +/* CUSTOMER DASHBOARD PRODUCTS PAGE */ +.selectedProductCategory { + color: white; + font-weight: bolder; +} + + + +/* IN BILLING ITEMS */ +.selectedItemType { + color: white; + font-weight: bolder; } \ No newline at end of file diff --git a/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc index 91d0d094e9abc683177f338c6e7f806f7f1cd0b2..166645a7b2add212ca480773a863c2e47f0e9a10 100644 GIT binary patch delta 84 zcmX@kxP_5>IWI340}yB&l$gkEYU}P|6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! aW~XE&=B4LD#LH8YAdKYvqSTm)6U+f`dmZio delta 103 zcmdnOc$|@YIWI340}wnd6`#m$8W5!)TAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR nQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI9IVy!s<0}>?z diff --git a/osinaweb/osinacore/__pycache__/admin.cpython-311.pyc b/osinaweb/osinacore/__pycache__/admin.cpython-311.pyc index 1a63ee5d9fb699afd8c0dc66c00a19ea14592a12..39d76076912f035bcdc74f2974ae399084bad905 100644 GIT binary patch delta 89 zcmdlgy-1pOIWI340}yB<`=F$Q#CL>*8V+6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R@hiS(!Kh5IrA8 delta 108 zcmZ1^y;YibIWI340}wnd6;Jcs$Q#BQ5Uw9uoLW?@pI@9=lANEb?~COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA fFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWFp_7|#I!-Y_3! delta 107 zcmZ3>a)5<*IWI340}wnd6;GSCkyn&4AWT2BIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC ru_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6src*b)8im@hi diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc index 4e7e6d9adc4d2bdc605a618f8cd9beb8e390d019..f3c083946709fd9381fbffa6c14058d20295480d 100644 GIT binary patch delta 90 zcmdmCy3~|!IWI340}yB<`-**~oXA+1A&^DkeO?C|e<*C_gJTxuiHIzc@25F+L?L gCNH%d%udNl%uCOQh?l1(K^V#TMX52HHCg(_08Qo~9smFU delta 109 zcmZ2#y2F%jIWI340}wnd6;JymypiuTb3lTAXmM&$v3`DWW=V2>uD(lta%paAUP-aO tUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-&0;M5VgN-&C$azl diff --git a/osinaweb/osinacore/__pycache__/decorators.cpython-311.pyc b/osinaweb/osinacore/__pycache__/decorators.cpython-311.pyc index f6e6e037a032454447f68ef407a7fcf3c262c724..e4c6d2a54060ee912ac2234057e7d9311fd1f6fe 100644 GIT binary patch delta 89 zcmdnZv4VqlIWI340}yB<|;>$orSk*3-o*COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA gFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWF?Qm>x0$02RU?;Q#;t delta 108 zcmZ3%v73W;IWI340}wnd6;ET@$orQuAVxp5IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC su_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6rCcczDo0L{}T=>Px# diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc index 036921eb51b0f63366a97be68791a8f0a9ef7de3..6491adf0c1cb2b4599a4ba1ac1eb3738def91019 100644 GIT binary patch delta 89 zcmZ3>K8u}qIWI340}yB<>HO$a|g9*2TptCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA fFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWF>Pm?{|o5nLZl delta 108 zcmbQmzLuSLIWI340}wnd6;E^D$a|eJAY4DRIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC su_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6rCMW#wd0Lif?R{#J2 diff --git a/osinaweb/osinacore/__pycache__/models.cpython-311.pyc b/osinaweb/osinacore/__pycache__/models.cpython-311.pyc index 893a7db664955738f6c05ba892ae0b3ae482b022..3bb5fd90e0f1812cebf6e1e1b51197fc170ae176 100644 GIT binary patch delta 92 zcmbQVneqQ7M!w~|yj%=Gpm9(lP1bB99|x)r>YB`vll9ia3o(~Z(Pfda_lJkpFV>YL;>VyCQbQBsCF)S_bj{Nl`#HR$a{$2*4f1>COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA fFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWF@71d$a{!CAWT2BIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC su_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6rC9szS!0Prd%W&i*H diff --git a/osinaweb/osinacore/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/__pycache__/views.cpython-311.pyc index 0412cbfc9a257ff99568a106865f217613af1172..56bb59cbe41b95ead75c9d674ffb3a61ca7f0334 100644 GIT binary patch delta 92 zcmcb8j`74fM!w~|yj%=Gpm9(l?XCMpJ{~q(7ZN~9g$$a|XI(cQ%=COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA jFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWFKuDKVRMIFgwF*MK36 delta 112 zcmew((l5%poR^o20SKO!il;5!$a|VSBuYQDIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC wu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27oN{aqwNseSD0JH!oQ~&?~ diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-311.pyc index bb24212294e8f1e1d9bbd22d998fee97c54b4061..7128939f54b42102de80297863367510d28730ab 100644 GIT binary patch delta 96 zcmZoW&iMHlBj0jfUM>b8&^RcOcFbcVpEaAKhl^EAcz#i~LO@Y|R%&udaZG-3W?o`^ nN>)r>YB`vll9ia3o(~Z(Pfda_lJkpFV-izRVm8lZdl>@&OSdEJ delta 115 zcmex-jIr%FBj0jfUM>b8cv>o+=H#}K&zdbHT0gWnwWwG>zc{lbIX_q5B|o_|H#M)M zSl=(PBr&HFB$1b>o0657m!7Ymms$?yL%Cpfd1?|wQF4A!s(xZhivH#{>8<+oR^o20SGh>N~EpW$h(!%(a*&yCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA jFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWFKKnK7Hin97*}!6qS2 delta 112 zcmeyx)yvJhoR^o20SKO!il@!l$h(y>BvC)KIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC wu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27oL8ks@W~Opx0H3-jDgXcg diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-311.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-311.pyc index 368a9f9ea1f35e71e95cea425011c54a18d98802..c1b606a4796b29bed9c8070ed16ef2d60bc538ac 100644 GIT binary patch delta 91 zcmZ3_JcpTgIWI340}yB<`N~k@t?HyNgv!cz#i~LO@Y|R%&udaZG-3W?o`^N>)r> iYB`vll9ia3o(~Z(Pfda_lJkpFV-gE8VHr(`AOrRPJ$%TtpejO6^H)R@GA%$Us+Sg$hy0GQ+{SgjcW|JEV0 delta 116 zcmdnRbC!p1IWI340}wnd6;J!eypeA$OL(k)XmM&$v3`DWW=V2>uD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-l+>Kml2rZ8|5>aV0ZhFr AhX4Qo diff --git a/osinaweb/osinacore/delete/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/delete/__pycache__/views.cpython-311.pyc index e87003b552791d8934e21c5f594bafdc77bc0e10..0f3fb2aea4a847d4d667bfa1159d5bce931c320c 100644 GIT binary patch delta 96 zcmaE-ds~-xIWI340}yB<|mWkynb@#oNUyCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA mFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWB<3IjJS7F`Mg{3xokP=OXd| delta 115 zcmcbu`%ag4IWI340}wnd6;D&!$ScJh9;Y8#oLW?@pI@9=lANEb?~HN$h(W($-~7eCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA kFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWGW3nI$osWjHLE0ND*8TmS$7 delta 113 zcmX>ka#e(PIWI340}wnd6;HF=$h(U@G+IBjIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC xu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27wN@j`vW=;-ECIGbVC@BB{ diff --git a/osinaweb/osinacore/edit/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/edit/__pycache__/views.cpython-311.pyc index 69861b1ea18d3428fc8eee349bb1cef8133bd967..2ed867bb079b7403bd3d8ec13f89bac15dcf7ce8 100644 GIT binary patch delta 97 zcmX?jjB(vDM!w~|yj%=Gpm9(lt=(lK-((IaPZz70@cg1|g@B^`tkmR^;+Xv6%)G?- ol&qM%)N(L8B`Yy6Js%=oo|*(N~GQ1$lJ~75$0kQ6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9ZL#*RlWrw@)Qk delta 119 zcmeB`T_DT5oR^o20SKO!il;5!$lJ{sov9yMoLW?@pI@9=lANEb?~at?F|z^y)vzQ~ delta 119 zcmbOyw^5FFIWI340}wnd6;G?$$a{=4dX|1@acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFa0IWI340}yB<>HO$Xm_q5$s|W6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9YxwuP_1thaM!& delta 119 zcmZ3&y`7tPIWI340}wnd6;HF=$Xm@Eou(gJoLW?@pI@9=lANEb?~W9rX)^)xN~GQ2$ji&(5$s|W6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Zdux=a9p3?sAv delta 119 zcmeC@UBt_~oR^o20SKO!il-gf$ji$Tou(gJoLW?@pI@9=lANEb?~N~9gz$orAeBi+R+COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`FZqOc(*+s3gGv delta 119 zcmeyx*2~VjoR^o20SKO!il=Sa$or8ox=KH^IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoT^CKE;g D_Yy0Y diff --git a/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-311.pyc index e672c207643daaa205edc88a996d2368e34077d3..1a52fc1167bab5db5e24794b5e44ea6ecfe1c08a 100644 GIT binary patch delta 100 zcmey%_KJ;nIWI340}yB<|mLk@pd!N4kquOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>Wv+88ZR^{B0!j delta 119 zcmaFG_Lq%!IWI340}wnd6;E5Xk@pc}bd`Q+acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9a8sIT-<_jU-P1 delta 119 zcmcb>`k0k>IWI340}wnd6;Jco$Xmo1U8EmcoLW?@pI@9=lANEb?~}mYGZd Dj}|L8 diff --git a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc index 971c31da2dde29c68688fb0570897063d476a6eb..e8a491618ce19fccb1b80b0369c9f5b3cfab8ff4 100644 GIT binary patch delta 100 zcmZ3@HG_+HIWI340}yB<_EGkynPl=H-k4 DmVhfn diff --git a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-311.pyc index d8ab8f2802428cbf970c3b36b09c9180373f8653..5089e74b57c0ad53d414282f25539b85dd0b5ef5 100644 GIT binary patch delta 100 zcmbQq-NwzkoR^o20SGh>N~Gy-QgZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO2|^BG0} DR4FSD diff --git a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-311.pyc index 86fccf1e1e3baaabdaa677e47671de5a204798ba..0b3213adc6bf3112ee9cda2f1b5672728c463737 100644 GIT binary patch delta 100 zcmcb|cAAZMIWI340}yB<`Pqk@q;GN2-feOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>atE=`#WV(ljJq delta 119 zcmX@jc8`sBIWI340}wnd6;JEl$a|bIxN~A??ZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO3X^9@D- DZ{{mo diff --git a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-311.pyc index 9ce2d0b651abb7f3f4f83715c68173d2197ee810..3a683ccf327ea69c99ffd0b3d2710dc0d2e31619 100644 GIT binary patch delta 100 zcmbQr*2KoUoR^o20SGh>N~D!+ZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiSmlqY5Jc DgIy~J diff --git a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-311.pyc index 9a5126a9a7ff08b57f8db2f4fe291959851fa093..2ac22d5ddca4d198f3c10ed92a2f74dc5e7cdb5e 100644 GIT binary patch delta 100 zcmbQh@t2)HT$g9ufQRiY66P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9b9fDj5Nb-6S&r delta 119 zcmey%K7oUGIWI340}wnd6;E^6$g9s3JyAcjIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs>3rbX25P9xO- delta 119 zcmbQvzKWf9IWI340}wnd6;HdpkynT*I#)lmIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs?CCIdzQ Dj1MZS diff --git a/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-311.pyc index 7a6e328b6b9b78cea5091cd73bf1ddae0ce811a2..55bf6dfd924799218a622badd3c8bf416b2db50f 100644 GIT binary patch delta 100 zcmaFHewm$jIWI340}yB<?q&$jigzQQ=}06P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9U_jMT`K0R3qg8 delta 119 zcmcc2{*0Y>IWI340}wnd6;G4e$jieN-K`&5oLW?@pI@9=lANEb?~N~As7$h)7#BiO|%COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`Ly{qnQBGGbD`w delta 119 zcmaFQ*Tm1eoR^o20SKO!il-gh$h)5N~G=B$h(`(qs+xBCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA rFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`Jdy?=u4c)YT;w delta 119 zcmaDa+9bxioR^o20SKO!il>!rv diff --git a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-311.pyc index f58bf990dbad81ed7ba77f572f2779b002dff69c..0ef74c51dfdd1980ca9c19d3663ba2bd52d78f3f 100644 GIT binary patch delta 100 zcmbQv-onnioR^o20SGh>N~E3J$oqrQBg@4qCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`E;Z%ozc_mLzfj delta 119 zcmZo+pU%#^oR^o20SKO!il^<_$oqpax>i55IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoUXCUZsr D%x5b| diff --git a/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-311.pyc index 736f941ffe08d592afe27a2aea0b5624dae47d6c..781692250f1d26d32b8efae5aadd484e6d6863d9 100644 GIT binary patch delta 101 zcmeC?_`%M%oR^o20SGh>N~CczZRB%c@`!h_iV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm r$xAHJ+{ov^6kVhrTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dH#5B`u_QA;uULQcG^Qj* E0MT(Ppa1{> diff --git a/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-311.pyc index 925b598f9c55a6afd0ff635bda6325e8df6b9065..df59cc7acc9009aa468c7c27b6865bc1b5fd5214 100644 GIT binary patch delta 100 zcmaFJc8-mAIWI340}yB<^2#k@pg#N3@GoOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>VkcsWSoq*r6nI delta 119 zcmX@d_K=NtIWI340}wnd6;GSCk@pf~be?`_acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaxU~z diff --git a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc index 9f1f5fb617b0bcdb513f92434f20a96082b50193..537420620242ac62dfea083dfdf7c2508c3c6874 100644 GIT binary patch delta 100 zcmdnWvxtXxIWI340}yB<^2!k#{SzN2rTcOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>ZjONH75atN~G0og0IwcZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiSmd(;`Ly DxOyw_ diff --git a/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-311.pyc index 02b320fe42b47ca18b9a56e1127c0c4faae045c9..8199a6fc00b95b7ce9a7647bb8938d57d3235166 100644 GIT binary patch delta 100 zcmdnRv7CcHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9WC+$`}E3AtV?8 delta 119 zcmZ3^v5SLuIWI340}wnd6;G4e$Q#2HU7{aaoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9X+>1sMUd4B9 diff --git a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-311.pyc index 6ada9f32fc9dbfb4252e7e83acdd00687595e898..50de412d4b277b97e6ce9700ace887b7224a931a 100644 GIT binary patch delta 100 zcmcc5c7~02IWI340}yB<`Pmk@pOvN3x4mOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>X*GX)^)<)K4U3 delta 119 zcmX@ZcAt%RIWI340}wnd6;JEg$a{t{x=cT`IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoU7CT&Il D=20s< diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc index 2375749d60d2add24154f7ceed7167cf4f78aef0..2235281474acfbbb5402815a9411e22050d50d7a 100644 GIT binary patch delta 100 zcmcb|ewv+kIWI340}yB<`1@$ZO2x5#(YO6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Z}9oEZUjTqCvs delta 119 zcmX@jevh4ZIWI340}wnd6;ET`$ZO0LovI&NoLW?@pI@9=lANEb?~TNx88ZR^+b$%2 delta 119 zcmcb__LPlxIWI340}wnd6;GSEk@pm1bd`Q+acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9a|a?=S)YnG_`p delta 119 zcmZ3_eTbWPIWI340}wnd6;BJ<$Xmx8ovt5RoLW?@pI@9=lANEb?~W9sKW790)*U4w delta 119 zcmeyzIgyKZIWI340}wnd6;Es1$a{z>dWwE%acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFa)6%0JGyH;{X5v delta 120 zcmdnSb&`v3IWI340}wnd6;FH3ypiueQ*^6-XmM&$v3`DWW=V2>uD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-+|2Z%#FEVXykh;$q0A2% E0UpdOsQ>@~ diff --git a/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-311.pyc index 767b61fb88d9caf42c62fe755ed33b2ce50e3b95..41f66ae36666b75d9f6fe51149ceb1cab684dd25 100644 GIT binary patch delta 100 zcmZo=|HQ_-oR^o20SGh>N~9g$$orPjBiY3&COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`Gk~3>X2{^CX@C delta 119 zcmeyw*2>PioR^o20SKO!il=Sd$orNtx=cT`IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoT!CIdzQ D>s%{z diff --git a/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-311.pyc index 153aa3a855d80ebf051cd01c60cee258781b2716..6bfa577dd3338bc7e54da3d79a338640cbe1bbc8 100644 GIT binary patch delta 100 zcmcb}xsQ`~IWI340}yB<{a_k@pOfM}>=3On81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>X*G&t(Jv<#r_y delta 119 zcmdnTd6AQMIWI340}wnd6;Io{k@pN!bhmzJacWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaN~Be7ZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiSmQqZlIq DwizpH diff --git a/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-311.pyc index b1e2f329b3c893d54943bab1ca3d332c91f6803b..74faa2f8736b233c5713a0c91e13fb4b3f4ab817 100644 GIT binary patch delta 100 zcmZ3?F@b}3IWI340}yB<>fX$m_@Ck>z3)6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9bXmav1?w?IX7U delta 119 zcmbQhv6zE*IWI340}wnd6;ET{$m_=xU8^5joLW?@pI@9=lANEb?~IWI340}yB<@$F$Q!}rQQ%?~6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9T>6niv6kUL-L9 delta 119 zcmZ3_afpL=IWI340}wnd6;Bh`$Q!{F-K-y4oLW?@pI@9=lANEb?~N~9gy$oq!TC&k4oCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA zFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF$M-E29p&TMKPioR^o20SKO!il=SZ$oqydx?DfBIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoU9CPPL5 D>hUXc diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-311.pyc index e5b689ffc609fbcccb2e4c5bf9f79a41ccd157a0..43a3defccef6795a063f34a7b4d148cd7eb51c63 100644 GIT binary patch delta 100 zcmcc3eS({JIWI340}yB<|0o$lJ;65#?eP6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9U!VUoipzvG65l delta 119 zcmX@XeVdziIWI340}wnd6;BJ^$lJ*rovR;OoLW?@pI@9=lANEb?~GIWI340}yB<}B{$lJ%{QQ~416P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9bjqzB2*<(wHUK delta 119 zcmcb``IeJ+IWI340}wnd6;Dgp$lJ#h-L4;6oLW?@pI@9=lANEb?~N~9TYZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO2?lP@Cx DaFQyt diff --git a/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-311.pyc index 2706416d6e809bbc3db12681d21cc7e2efa509a8..05d9e117b2796b016393292d97e46bd04b89d069 100644 GIT binary patch delta 100 zcmey!dXJTNIWI340}yB<_!)$Xm?lk>g?&6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9a8t#TWs$3nYjD delta 119 zcmcb|`jM4)IWI340}wnd6;Jcs$Xm=9U9TTnoLW?@pI@9=lANEb?~N~DQwZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO34QywD# DLslwl diff --git a/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-311.pyc index 7932d60bdc891d229f9b73b197f61276738927f6..a4d0a73e0a016bdd981969e5b52a6eb395c1ca5f 100644 GIT binary patch delta 101 zcmbQu(ZRvDoR^o20SGh>N~G~JZRB%g@`!h_iV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm r$xAHLrZ7eT Dk{T+@ diff --git a/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-311.pyc index 5caeabf1a3bfb6cce2ca431c610f681c2ea4f557..bf9cbf184aae8e69d7e9450c7bdbaa061dd10406 100644 GIT binary patch delta 100 zcmcb{ahQX5IWI340}yB<?q$$eY3Bk?Ud=6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9UcM+86Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9aMHsu=-n-Xs73 delta 127 zcmZ3?v5kXwIWI340}wnd6;I>d$Q#TQ-=H5_oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9ViJpBVv?<|LQ^ delta 119 zcmcb^^`47&IWI340}wnd6;Bi0$ScAeJyk!nIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs>v=Ff}( Dkv=PC diff --git a/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-311.pyc index 292f0292f19fc0c1c01957c1782007805b6fde18..010920d41ec0177f1c49e5f63e1f92385ee1b465 100644 GIT binary patch delta 100 zcmdnYv4DejIWI340}yB<|Os$eYCEk?LX<6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Zk{G8qAI&?E`~ delta 119 zcmZ3$v6+K+IWI340}wnd6;Bi2$eY9zU7;UZoLW?@pI@9=lANEb?~N~EzfZRE3N@`!e^iV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm r$xAHH+{kCm6rHCZTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dH#5B`u_QA;uULQcM5Y8r E0LGdtfB*mh diff --git a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-311.pyc index 936471732e6dd863dcd33d1a6533ed09c4c5bce0..3c4e0d167c54f2973b043be27ae822bf0ccc9ba3 100644 GIT binary patch delta 100 zcmbQo)y>7boR^o20SGh>N~FEp$jip;5#wSN6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9X_28yEqBp(HQ> delta 119 zcmeC?n#aYvoR^o20SKO!il<%Q$jinYov$BSoLW?@pI@9=lANEb?~*rYc4N Dv41Ny diff --git a/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-311.pyc index 2c1aaaddf411d26a1301fd52fa5843ff770f4a2c..d22abd1e508cef72f4325413730bf1748564a33b 100644 GIT binary patch delta 100 zcmey&{(zl#IWI340}yB<?q&$ZN&qk?3L-6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Ylr0vQ37O(Y`# delta 119 zcmaFB{+XS3IWI340}wnd6;G4j$ZN$EU7{aaoLW?@pI@9=lANEb?~k@q5_N4ASqOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>VkdnKA+Z=s+Z_ delta 119 zcmcc3_KuBrIWI340}wnd6;GSFk@q5Fbe(=^acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaN~C?-$lJu^(e7du6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Z-4HZuYMwzefy delta 119 zcmeC;oXg3(oR^o20SKO!il<%M$lJseJxf2dIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs@kOq&@2 DzTYe$ diff --git a/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-311.pyc index ca982df828eaef29e0fc54cb6fffc5a1dd5d3f58..4412c12bc0518564b4b022705cb793c9e7f49038 100644 GIT binary patch delta 115 zcmcb}zK@-EIWI340}yB<?Sv$ji+XTHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CK7y|=Si}<3{-2AfC$@+{Eo2M~Z GGXen1_9%w{ delta 119 zcmdnTevzGbIWI340}wnd6;F%Z$ji+X-Ju^^oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9awSDi{HG%_JrO delta 119 zcmZ3@v5$jyIWI340}wnd6;Bh}$Q#ELU7;UZoLW?@pI@9=lANEb?~a6|88QL@>7XRA delta 119 zcmcc3_KuBrIWI340}wnd6;GSHk@qTNbd`Q+acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9b!(MT`K4nTPGd}jmzuVp05 delta 119 zcmbQjvz&)_IWI340}wnd6;GSEk@p01bdG*#acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaT-?=`aESyX+(n delta 119 zcmdnRc9xBIIWI340}wnd6;G?%$h(sN~BHM$h(QzBizL*COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA rFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`K1Welr39l8q#1 delta 119 zcmZqTnaabvoR^o20SKO!ilSU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+G5=2pQeo?A^Zf1H>Vo7FxUa|h>3Z@uF E0Oe3CrvLx| diff --git a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc index b6115eb3cd55e76ead53acef061a06819c1701ae..ec4e2e020d58f3d1d2470e76494d0f6c34c91288 100644 GIT binary patch delta 95 zcmcb_xSx@GIWI340}yB&l$gkE>Jj8(6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! lW~XE&=B4LD#LH8YAdKYvqSTn&%=DtflFam*XBEA3s delta 114 zcmdnbc!`mFIWI340}wnd6`#m$8l9>iTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR yQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dH#5B`u_QA;uULO#hdBVo`6;FV diff --git a/osinaweb/osinacore/templates/add-edit-main.html b/osinaweb/osinacore/templates/add-edit-main.html index f21b2bcd..2433a634 100644 --- a/osinaweb/osinacore/templates/add-edit-main.html +++ b/osinaweb/osinacore/templates/add-edit-main.html @@ -161,8 +161,9 @@ {% if user.is_superuser %} -
-
+ {% endif %} +