From 2ab9337c0cc53aa62705bc4589eeece701de2dcd Mon Sep 17 00:00:00 2001 From: nataly Date: Thu, 18 Apr 2024 11:40:50 +0300 Subject: [PATCH] New changes. --- .../__pycache__/__init__.cpython-311.pyc | Bin 182 -> 201 bytes .../__pycache__/admin.cpython-311.pyc | Bin 714 -> 733 bytes .../__pycache__/apps.cpython-311.pyc | Bin 563 -> 582 bytes .../__pycache__/models.cpython-311.pyc | Bin 3063 -> 3082 bytes .../__pycache__/0001_initial.cpython-311.pyc | Bin 950 -> 969 bytes .../0002_country_addressbook.cpython-311.pyc | Bin 1859 -> 1878 bytes .../__pycache__/0003_contact.cpython-311.pyc | Bin 1436 -> 1455 bytes .../0004_socialmedia.cpython-311.pyc | Bin 1300 -> 1319 bytes ...05_socialmedia_addressbook.cpython-311.pyc | Bin 1011 -> 1030 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 193 -> 212 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 178 -> 197 bytes .../billing/__pycache__/admin.cpython-311.pyc | Bin 966 -> 985 bytes .../billing/__pycache__/apps.cpython-311.pyc | Bin 551 -> 570 bytes .../__pycache__/models.cpython-311.pyc | Bin 8583 -> 9884 bytes .../billing/__pycache__/urls.cpython-311.pyc | Bin 1041 -> 1060 bytes .../billing/__pycache__/views.cpython-311.pyc | Bin 3842 -> 4040 bytes .../add/__pycache__/urls.cpython-311.pyc | Bin 593 -> 612 bytes .../add/__pycache__/views.cpython-311.pyc | Bin 4967 -> 5196 bytes osinaweb/billing/add/urls.py | 1 - osinaweb/billing/add/views.py | 6 +- .../__pycache__/0001_initial.cpython-311.pyc | Bin 2144 -> 2163 bytes ...vice_cancelled_at_and_more.cpython-311.pyc | Bin 1273 -> 1292 bytes ...003_payment_servicepayment.cpython-311.pyc | Bin 1801 -> 1820 bytes ...rename_payment_paymenttype.cpython-311.pyc | Bin 736 -> 755 bytes ...05_service_recurring_cycle.cpython-311.pyc | Bin 1026 -> 1045 bytes ...ervice_created_at_and_more.cpython-311.pyc | Bin 1149 -> 1168 bytes ...er_service_recurring_cycle.cpython-311.pyc | Bin 1093 -> 1112 bytes .../0008_alter_service_type.cpython-311.pyc | Bin 1078 -> 1097 bytes ...cepayment_service_and_more.cpython-311.pyc | Bin 1785 -> 1804 bytes .../0010_charge_amount.cpython-311.pyc | Bin 906 -> 925 bytes .../__pycache__/0011_invoice.cpython-311.pyc | Bin 1299 -> 1318 bytes ...nt_charge_receipt_and_more.cpython-311.pyc | Bin 1508 -> 1527 bytes ...alter_invoice_date_created.cpython-311.pyc | Bin 846 -> 865 bytes ...014_servicepayment_comment.cpython-311.pyc | Bin 851 -> 870 bytes .../__pycache__/0015_order.cpython-311.pyc | Bin 1554 -> 1573 bytes .../0016_alter_order_status.cpython-311.pyc | Bin 953 -> 972 bytes .../0017_service_order.cpython-311.pyc | Bin 1000 -> 1019 bytes .../0018_alter_order_status.cpython-311.pyc | Bin 961 -> 980 bytes ..._service_customer_and_more.cpython-311.pyc | Bin 4540 -> 4559 bytes .../0020_orderitem.cpython-311.pyc | Bin 1302 -> 1321 bytes ...m_recurring_cycle_and_more.cpython-311.pyc | Bin 1144 -> 1163 bytes ...e_item_created_at_and_more.cpython-311.pyc | Bin 1211 -> 1230 bytes ...em_project_alter_item_type.cpython-311.pyc | Bin 1338 -> 1357 bytes .../0024_remove_item_active.cpython-311.pyc | Bin 730 -> 749 bytes ...item_project_item_customer.cpython-311.pyc | Bin 1196 -> 1215 bytes ...tem_type_remove_order_paid.cpython-311.pyc | Bin 887 -> 906 bytes .../0027_item_type.cpython-311.pyc | Bin 912 -> 931 bytes ...0028_remove_order_due_date.cpython-311.pyc | Bin 711 -> 730 bytes .../0029_invoice_pdf.cpython-311.pyc | Bin 841 -> 860 bytes .../0030_alter_invoice_order.cpython-311.pyc | Bin 993 -> 1012 bytes ...ter_invoice_invoice_number.cpython-311.pyc | Bin 862 -> 881 bytes .../0032_order_business.cpython-311.pyc | Bin 0 -> 1102 bytes .../0033_alter_order_status.cpython-311.pyc | Bin 0 -> 997 bytes .../0034_alter_invoice_pdf.cpython-311.pyc | Bin 0 -> 882 bytes .../0035_alter_invoice_pdf.cpython-311.pyc | Bin 0 -> 864 bytes ...ter_invoice_invoice_number.cpython-311.pyc | Bin 0 -> 890 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 189 -> 208 bytes osinaweb/billing/views.py | 20 +- .../__pycache__/__init__.cpython-311.pyc | Bin 183 -> 202 bytes .../__pycache__/admin.cpython-311.pyc | Bin 238 -> 257 bytes .../__pycache__/apps.cpython-311.pyc | Bin 566 -> 585 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 1081 -> 1100 bytes .../__pycache__/models.cpython-311.pyc | Bin 235 -> 254 bytes .../__pycache__/urls.cpython-311.pyc | Bin 1480 -> 1499 bytes .../__pycache__/views.cpython-311.pyc | Bin 8870 -> 8889 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 194 -> 213 bytes osinaweb/db.sqlite3 | Bin 1044480 -> 1048576 bytes osinaweb/input.css | 2 +- .../__pycache__/__init__.cpython-311.pyc | Bin 180 -> 199 bytes .../__pycache__/admin.cpython-311.pyc | Bin 3490 -> 3509 bytes .../__pycache__/apps.cpython-311.pyc | Bin 557 -> 576 bytes .../custom_context.cpython-311.pyc | Bin 6821 -> 6840 bytes .../__pycache__/decorators.cpython-311.pyc | Bin 1064 -> 1083 bytes .../__pycache__/forms.cpython-311.pyc | Bin 922 -> 941 bytes .../__pycache__/models.cpython-311.pyc | Bin 24121 -> 24136 bytes .../__pycache__/urls.cpython-311.pyc | Bin 5737 -> 5756 bytes .../__pycache__/views.cpython-311.pyc | Bin 27094 -> 27217 bytes .../add/__pycache__/urls.cpython-311.pyc | Bin 2802 -> 2821 bytes .../add/__pycache__/views.cpython-311.pyc | Bin 26396 -> 26415 bytes .../__pycache__/serializers.cpython-311.pyc | Bin 1402 -> 1421 bytes .../api/__pycache__/urls.cpython-311.pyc | Bin 412 -> 431 bytes .../api/__pycache__/views.cpython-311.pyc | Bin 2132 -> 2151 bytes .../delete/__pycache__/urls.cpython-311.pyc | Bin 1594 -> 1613 bytes .../delete/__pycache__/views.cpython-311.pyc | Bin 5851 -> 5870 bytes .../edit/__pycache__/urls.cpython-311.pyc | Bin 2626 -> 2645 bytes .../edit/__pycache__/views.cpython-311.pyc | Bin 25390 -> 25409 bytes ...tomerprofile_business_business_customer.py | 23 ++ .../__pycache__/0001_initial.cpython-311.pyc | Bin 3725 -> 3744 bytes ...ions_staffprofile_and_more.cpython-311.pyc | Bin 3870 -> 3889 bytes .../0003_milestone.cpython-311.pyc | Bin 1502 -> 1521 bytes .../__pycache__/0004_epic.cpython-311.pyc | Bin 1444 -> 1463 bytes .../0005_staffprofile_image.cpython-311.pyc | Bin 832 -> 851 bytes .../__pycache__/0006_note.cpython-311.pyc | Bin 1679 -> 1698 bytes ...ct_id_alter_project_status.cpython-311.pyc | Bin 1131 -> 1150 bytes ...8_alter_project_project_id.cpython-311.pyc | Bin 890 -> 909 bytes ...9_alter_project_project_id.cpython-311.pyc | Bin 874 -> 893 bytes .../0010_remove_note_date.cpython-311.pyc | Bin 720 -> 739 bytes ...r_alter_note_text_and_more.cpython-311.pyc | Bin 1820 -> 1839 bytes .../0012_projectrequirement.cpython-311.pyc | Bin 1304 -> 1323 bytes .../0013_projectfile.cpython-311.pyc | Bin 1414 -> 1433 bytes ...014_alter_projectfile_file.cpython-311.pyc | Bin 843 -> 862 bytes .../0015_projectcredentials.cpython-311.pyc | Bin 1423 -> 1442 bytes ...dentials_projectcredential.cpython-311.pyc | Bin 770 -> 789 bytes ...e_alter_project_start_date.cpython-311.pyc | Bin 1021 -> 1040 bytes .../0018_epic_status.cpython-311.pyc | Bin 919 -> 938 bytes ...date_alter_epic_start_date.cpython-311.pyc | Bin 979 -> 998 bytes .../__pycache__/0020_task.cpython-311.pyc | Bin 1903 -> 1922 bytes ...rprofile_business_and_more.cpython-311.pyc | Bin 2799 -> 2818 bytes ...ustomerprofile_customer_id.cpython-311.pyc | Bin 900 -> 919 bytes .../0023_task_assigned_to.cpython-311.pyc | Bin 1016 -> 1035 bytes .../0024_task_task_id.cpython-311.pyc | Bin 846 -> 865 bytes .../__pycache__/0025_status.cpython-311.pyc | Bin 1570 -> 1589 bytes ...e_status_user_status_staff.cpython-311.pyc | Bin 1148 -> 1167 bytes .../0027_alter_status_staff.cpython-311.pyc | Bin 1063 -> 1082 bytes ...8_remove_projecttype_color.cpython-311.pyc | Bin 730 -> 749 bytes .../0029_alter_reference_date.cpython-311.pyc | Bin 844 -> 863 bytes .../__pycache__/0030_tag.cpython-311.pyc | Bin 971 -> 990 bytes ...1_alter_staffprofile_image.cpython-311.pyc | Bin 850 -> 869 bytes .../__pycache__/0032_point.cpython-311.pyc | Bin 1455 -> 1474 bytes ...nt_date_workingon_and_more.cpython-311.pyc | Bin 1278 -> 1297 bytes ...nt_date_completed_and_more.cpython-311.pyc | Bin 1334 -> 1353 bytes .../0035_business_business_id.cpython-311.pyc | Bin 882 -> 901 bytes ...lter_staffprofile_position.cpython-311.pyc | Bin 1214 -> 1233 bytes ...move_staffprofile_position.cpython-311.pyc | Bin 762 -> 781 bytes ...taffprofile_staff_position.cpython-311.pyc | Bin 1040 -> 1059 bytes ...taffprofile_staff_position.cpython-311.pyc | Bin 1071 -> 1090 bytes ...0040_staffprofile_staff_id.cpython-311.pyc | Bin 882 -> 901 bytes .../0041_dailyreport.cpython-311.pyc | Bin 1480 -> 1499 bytes ...omerprofile_email_and_more.cpython-311.pyc | Bin 1242 -> 1261 bytes .../0043_businesstype.cpython-311.pyc | Bin 1007 -> 1026 bytes ...ove_business_business_type.cpython-311.pyc | Bin 734 -> 753 bytes .../0045_business_type.cpython-311.pyc | Bin 1036 -> 1055 bytes .../0046_task_requirement.cpython-311.pyc | Bin 1032 -> 1051 bytes .../0047_task_status_date.cpython-311.pyc | Bin 944 -> 963 bytes ...r_customerprofile_business.cpython-311.pyc | Bin 1091 -> 1110 bytes ...r_customerprofile_business.cpython-311.pyc | Bin 1059 -> 1078 bytes ...by_projectrequirement_date.cpython-311.pyc | Bin 1372 -> 1391 bytes ...051_alter_task_requirement.cpython-311.pyc | Bin 1056 -> 1075 bytes .../0052_note_project.cpython-311.pyc | Bin 1009 -> 1028 bytes .../0053_pointactivity.cpython-311.pyc | Bin 1291 -> 1310 bytes ...nt_date_completed_and_more.cpython-311.pyc | Bin 983 -> 1002 bytes .../0055_alter_point_status.cpython-311.pyc | Bin 992 -> 1011 bytes ...ter_pointactivity_end_time.cpython-311.pyc | Bin 859 -> 878 bytes ...otal_time_minutes_and_more.cpython-311.pyc | Bin 1162 -> 1181 bytes ..._total_time_hours_and_more.cpython-311.pyc | Bin 958 -> 977 bytes ...059_alter_task_requirement.cpython-311.pyc | Bin 1067 -> 1086 bytes ...0_pointactivity_total_time.cpython-311.pyc | Bin 859 -> 878 bytes ...date_alter_task_start_date.cpython-311.pyc | Bin 982 -> 1001 bytes .../0062_connection.cpython-311.pyc | Bin 1556 -> 1575 bytes ...0063_alter_connection_date.cpython-311.pyc | Bin 826 -> 845 bytes .../__pycache__/0064_reaction.cpython-311.pyc | Bin 1538 -> 1557 bytes ...ter_customerprofile_status.cpython-311.pyc | Bin 980 -> 999 bytes ...business_business_customer.cpython-311.pyc | Bin 0 -> 1204 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 191 -> 210 bytes osinaweb/osinacore/models.py | 58 ++-- .../details_templates/customer-details.html | 8 +- .../details_templates/project-details.html | 178 +++++------- .../details_templates/task-details.html | 249 ++++++++--------- .../templates/epic-fetched-tasks.html | 240 ++-------------- osinaweb/osinacore/templates/index.html | 7 + .../listing_pages/daily-reports.html | 6 +- .../templates/project-open-tasks.html | 257 +++--------------- osinaweb/osinacore/views.py | 4 +- .../__pycache__/__init__.cpython-311.pyc | Bin 179 -> 198 bytes .../__pycache__/settings.cpython-311.pyc | Bin 3339 -> 3358 bytes .../osinaweb/__pycache__/urls.cpython-311.pyc | Bin 1576 -> 1595 bytes .../osinaweb/__pycache__/wsgi.cpython-311.pyc | Bin 703 -> 722 bytes osinaweb/static/dist/output.css | 47 ++-- osinaweb/static/js/billing/add-order.js | 7 +- osinaweb/static/js/fetch-epic-tasks.js | 4 +- 170 files changed, 378 insertions(+), 739 deletions(-) create mode 100644 osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-311.pyc create mode 100644 osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-311.pyc create mode 100644 osinaweb/osinacore/migrations/0066_remove_customerprofile_business_business_customer.py create mode 100644 osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-311.pyc diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-311.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-311.pyc index ca0f76949332a3f96b4a14ed688d25186e0230cd..a6f00b0dedf4c6de081af0ac969fb19e0da9c4c7 100644 GIT binary patch delta 105 zcmdnSc#@HOIWI340}v#vQJBbW8Wf`+TAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR tQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1_qr6{$yI4M6rTYqA`IRH1uC6)jH delta 86 zcmX@fxQ&r}IWI340}$-um7BMv>NwL0P xVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{lt`%qSWHzr2PDB{mDE``v5X=C*1%5 delta 90 zcmcc1dWw~IIWI340}$-ul}r1&k@o6R diff --git a/osinaweb/addressbook/__pycache__/apps.cpython-311.pyc b/osinaweb/addressbook/__pycache__/apps.cpython-311.pyc index b27bc94db1d7691bcef6576a44e7922108eb75ff..5ca891e4ec2ad0a065f06d782d1e99a615078a02 100644 GIT binary patch delta 109 zcmdnYa*Ty{IWI340}v#vQAnG$kyny2C_+E9IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC xu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&equ^WQEG8zO|Os-%&2LK%HATSU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73=JN>OTYaZ-MMw*KZ{jDI-+S;8q4 delta 92 zcmeB@_%6=3oR^o20SI>S%B69$ZRA_aXz%V~6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A nlb2c!W~XE&=B4LD#LH8YViHqQic*Va_L{pADzQ5_&# diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-311.pyc index 384ff4d8452791d9257bdf4beaaa6e5b159b9ab6..0341be68ff3f93d629d1969843b6353343ffaaf6 100644 GIT binary patch delta 121 zcmdnSev+McIWI340}v#vQAm5SkynB#Hd{ZmIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&equ^WQEG8zO|DgV diff --git a/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-311.pyc index 1c32728a4dd8cdc7acad4c4d28c7e7f6b9306bca..2628b70d7ab7076777650070921cba5d4dd89045 100644 GIT binary patch delta 122 zcmX@ica4v4IWI340}v#vQAqp7vXQTlCAM5Yv^ce>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-(tSX2mr*1C364( diff --git a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-311.pyc index 42fa612f445c6ce292ab62f192eaf0794dde2158..666161fafbf0602e824e55bd80309a61a60a2b76 100644 GIT binary patch delta 121 zcmbQjwVaE0IWI340}v#vQAm^6$Scbno39^QoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqL5>rx&Qj3d|^7FG}ax>G55=%1k^NM3Ow=*wb1OSm8Bvt?b diff --git a/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-311.pyc index 099ea0962ae0318cbde7fd04eece0eedbb0b2353..064ea3ec827fd1b7e6f243c3bf575c26156f328b 100644 GIT binary patch delta 122 zcmey&-p0YVoR^o20SFS-D5QO0+{kCd6kDwyTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1_qr6{$yI4M6rTR%55y(qCHGe56b Ke{&a8CL;g@3@i}< delta 103 zcmZqU_{`3?oR^o20SI>S%B3+gZR9gz^2%_riV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm y$xAH?CFY diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-311.pyc index 6ff3a29e7130d488b501e01b8889f23a6f4c5d5a..66ca948ba52a88ef9e0262a77b0ed932ef7d64b8 100644 GIT binary patch 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 delta 97 zcmcb@c#x5MIWI340}$-um7BJ{Q*6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! sW~XE&=B4LD#LH8YViHqQic*VKCCOTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR pQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6U4LS=IRKq~Bhml> delta 82 zcmX@gxQUT_IWI340}$-um7BHr(`AOrRPJ$%TtqLk}`90GV{`77T;uI1OT&t9&G>s diff --git a/osinaweb/billing/__pycache__/apps.cpython-311.pyc b/osinaweb/billing/__pycache__/apps.cpython-311.pyc index f0513fab6661e2bc5cc38ac529e81fafa70a5957..da47cf9ebd55d221fdb3510efb44a9e323783efb 100644 GIT binary patch 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~ delta 86 zcmdnRvYdr?IWI340}$-ul}nqkkynt>+R?=-COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA hFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EOwM6E2LO=U9!UTI diff --git a/osinaweb/billing/__pycache__/models.cpython-311.pyc b/osinaweb/billing/__pycache__/models.cpython-311.pyc index 282d2023895505c536da1ee84ecbefd0dd0def90..46b6436415eafcbd7390c41894e8678ffbde2980 100644 GIT binary patch delta 2467 zcma)8Urbw77{90OZEs84+pX(Hxlk&zxOPK^V+Q98ZbLSuAaiUBh<2s-q9vtm&b=@p z<&QcuOlD-B7A*g6mfMUj&0ptg5PFdOY<&}LogcOBH>~TR@?o3q*Cd90r0*<5XJ0$`C$4 zNesR!@h`jLQBTXNtdNgV|{tZ(epXuKOkiRo;KT@@n(7 zwk+S0<6Bg|W&FSr@6QWL=Z<_7xlx}z`fQf(&hgzU-#x$8`7uJf$PfI9&>mQMJFLv& z)Id@U8ZcZP-cLa`Q1JV42{0PTq^lG)&R=p(8q9Iv>>-WrhVnx&jR8RXL2KUpFffh~ z;@;`)q*K{S!Cx5Td50b3d$$`k&HwJ+i^h_mzX1RO(yUEUMQV;q2@&@LZ59WlNL0aQ z(C7vZkEPfE#`NkUv7uN(!VwTP0ze%27(kSQj3_*wUs4Yf0B&2(QYf4$`NZ=j3xe3` zbsqK_otz}I$V;woG}%PMtTCT*65p^yhJ;;xBkT%%gV_DIR z@uZ@$ayk)LuwHt4)p2)M9oX5SIB08+fLF~A&Mml@8w^QPdNe(7B1Oy<4OsZq7^p`5To6?V++ zo!d9JPZb&_!Z(Ggsm4X2Zb7KK(VZ3Qazd9XbS(<81tB(;6$f&{pehV53Yi5VlM_Z& zVRRzA#0$%e$?@3D>fps~YUqi@P|HH7<;K2Ts9g=UXAeH3h7K);Iu}Bn*{v#@`&mQ%(<`DUstl8aLyA}Jz;XOv}1>?Og~MAWiDZnpv1ZQ=C6tR)LU6t_b^0upRR0 zrj5i^?m-z+UEaC_Sem^_ipBe*iG1URj|zrj)T|=y=8<$XF5)0C^(DH=O!-#Z6wm;J zt^V*jtq^ zq6;Kmxn+Brk{a8Z5~W1`!=Zm)>Om7)eZJQ8SoA0^kWVWs&=vA+N=;9i*MJ(c(c_`j_PL*x(t>3;!0pnpFA delta 1263 zcmZWn?N3`(7{BNC{n8g0z2hacqqJ3;vC$=<6P(~+oio66REf2*UV0BuR(kRDb_}A9 zI1EHt96bB9m>50`Vq2zk1J#{X@fj=?RTpZU2C2voxz0(^@fCP%`Rlx2y)KM!O;I`H9rSo+ln= zQJysHMP1QLMfN^A&UvQIQ>HJn1b5jLc-JeF37GH(n(y(z%VnYVtB5wQw4A88VcpwW ze(Eg~@)lgLUm*kVZ++9r3%t50a%gX7bx3uN!&0Lu6>oV!B^@u z9G42$v|N_5KHiaxiL9CbvsMn=4%BRxf$xI7FxK4LhRlEAP?v@0zQ%oD$DXr;dAL6o z^TC5~YvfCA8=lJrn$$Q{FW$prYyrU>P6?uc*Wr(l@5~a$5I*5w5nF33=Jay(_Q(5j z^g-iqJ$v%tGkI`d9)!DrBorb(vIL=Emh?e9+y_sB-9&{ygFV)7IRiWk$qICN54#VEoIR6<*1m5XVCosJb#kY+Do`YX5>j<(!E^H#0gaLg-l_YK>qrqaCmN~({^oT0gJb7-a*Q-;ZL42f_J=EL~M`SzTq zmh$u+b{7sKn_V(FQxRT;wZ!_!0mcuHl5uz#J=J9=;fnAotWB-w4={dslspD?uWkGX DyL>`Q diff --git a/osinaweb/billing/__pycache__/urls.cpython-311.pyc b/osinaweb/billing/__pycache__/urls.cpython-311.pyc index f538a96afa0cc191661ee07c2fc7425b046dbaa0..b21a33dd956912e1936a0a33d6994a3f017a01fe 100644 GIT binary patch delta 106 zcmbQpv4n$nIWI340}v#vQAn%b$h(KhFGN4IIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC uu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Z{$>_tUPb_7l_aqM delta 87 zcmZ3&F_D9JIWI340}#xdA)hvRBkvw2YeyHWnDG3fY=wZL{H)aElH!>B;>^6n_>`=e iywq|qJ0&YIFFhY3UY?p1la!g0lbM$uvss*(mk|K!+a5#! diff --git a/osinaweb/billing/__pycache__/views.cpython-311.pyc b/osinaweb/billing/__pycache__/views.cpython-311.pyc index 5f7e1749ec693d9c4e424f8f3fa97cc672723e0f..0c78176151cab2f4b51e0ab1cd45fed8d334efcd 100644 GIT binary patch delta 647 zcmZpYJ0Z`voR^o20SLCuD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB>kk!oSe+Obp6d@%x-LqD<{WtZs67h zT2y2JA`B->a2YU~Pxj>6&CLcBU(Leno0PMMXM5LX)XT9Z20`$xF;ly~UMO3iNntadB#~CRY)o z(PTaz>H1q7PEgSzQIJx$#Dap6QMe%{HzoUqgu)!&53I~ed>EKnH$?}@9l delta 517 zcmX>h-z3MkoR^o20SHnS%BS&gZR9)4WbNc)6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A zlb2c!W~XE&=B4LD#LH8YVv;g*ax(MMV>W9tyRk89PA=fwz^wx`wMZXC7);jYGGH{D z9K*F+fCVVP48)&r0g34hoRb4tbti{#yVuLrFlB)x!JtSSnODnP!<@wmlLNBZVC)p8 zIZU-Ic}yt`wJat4Fj1gym}^)v8J96KFsue*2nc4-WbrFf19CK(iqwJBEtb5*+|*kf zNu@yVv8NUnYjPABPHy0l_AasnN`uuDS%6raAWf`A;vlvOkhmp~Tv}X`pPO0~Ur>~v zmYI_Z)^Up$Y!uL>_>{zw#A1+>Co}V^aoGVGu0UKof3h)ewEG1aohve?9~ih;WgiGD zUlG>n;P}ACAS^va`-X_j6yFc5ERtLw7=T0vZwK!O9tKI-4&JBS;xnWc#9ojvzQ}EI zh1=u;i^*gjzQu}WKx2zQ=C5QZk_EA)fy6Hko80`A(wtPgBDcvG`0hyoEfZoyC&20f Di_Cqg diff --git a/osinaweb/billing/add/__pycache__/urls.cpython-311.pyc b/osinaweb/billing/add/__pycache__/urls.cpython-311.pyc index 4efb8f29c46f82ada56adfa7b84fbee9b834ee67..da33833168718030f3e6f6ec61a05038cb2407f2 100644 GIT binary patch delta 125 zcmcb}@`QzNIWI340}wE;RY?28u#qo~F(^Vmv^ce>SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)9xivHxyj1&0S_?a5G KL9j>|XdeJ!$SJP? delta 106 zcmaFDa*>5^IWI340}yQKlTTx1+{l;4Xz%J`6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A xlb2c!W~XE&=B4LD#LH8YVv;g*ax(MMV-izRVkRGBoWRG*&(y#Tftg&=A}7Ey|emWstkNit)Zn#`1$8;WqV zR3o_ZY+QC@q?kgbOaFq1f{R)ZbmcaRD_7o06GFfP-+6xLI~VTH{D*@2Mo}chOxZd9 zu&BIKUq=^L%;muL1Jer}Qumr>*{ipjwo3x@R+Us6kHdjmJ!`F3-8Ij2?ae_wEC>0f zT{CM=qv5z~X4SIHz2DIVp1U1^>+v?e^ODQKd#uA#ef7=|o~ie+^FZd-;8)qt-!nW8c~J1G?>N5@h#h)Oh0(jy6kwzTjBcvISg zo;azG(TjT|JEmIFr1TQ9WEydBTOqkIiy|vdl}V)~R8-)cmdP9lwHEsjI|zJ(trR2v z85aBtp__vhZ2?b1S1XD_X-I>Q+BK|#nmBo09<8oAmOsZf4%EPI*mYuCs}8Z7fqyY< z@?joQF2OS?3mXYpnrHnR48e1Fl6VF4@@#frPW4elOn);9J4bdOeKJa)jnWsR)TwkT z-;HCP3Z(UXYCoCj^GHAS3q^J5Pv|zaOmq1Lwr8T>t<8 delta 448 zcmX@3@m!5>IWI340}!n5lTSOsvypEpi@lqRRZMt(QMN)rQGQlxa!GMaesN}AVth(g zOkQd^n4OZ9n3tXp5id_oib=}M$;r%1k4a2PiP_A`>ch_XYO*wAHOmCXBBjk2c^DZP zIVN9Z6Pdi5U3l^#4sC@R)*7}o?8}%K7*+!@1k`fWu)8qCM%Qwdh)v$er!CC6hGiKe zPz4Y}Rd7vS&nG_l28XCn4Mz=Ei4;tNfnfn3(0nDPH5`)z`GpzfCl_)^=>;>SaMdtp zGS+gJC?ZtWFr;wTa4%y98Vtk`5X_*-GkGn)EMJj0P(YKZNE=8M8BKo9@53lK*+f8d za=L&WBhTbz0xCLu#i=>KKuJxB&n!vJEiN(!D!s)HV#jBu6q$fDssf2(9w0H9OHh`} z4#@BXi3ChG6r3^nzo4q{2UZ3_)sGC!f?QufL/', views.add_invoice_pdf, name='addinvoice'), - ] diff --git a/osinaweb/billing/add/views.py b/osinaweb/billing/add/views.py index f40b15e6..b9e2a183 100644 --- a/osinaweb/billing/add/views.py +++ b/osinaweb/billing/add/views.py @@ -8,7 +8,6 @@ import os from weasyprint import HTML, CSS - def add_product (request, *args, **kwargs): item_types = ProjectType.objects.all().order_by('name') if request.method == 'POST': @@ -174,3 +173,8 @@ def add_invoice_pdf(request, order_id): response['Content-Disposition'] = 'attachment; filename="my_pdf.pdf"' return response +
 + + + + diff --git a/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-311.pyc index 91c05b86a0165d60a300c184540ccad5cf4f4f38..a3635b9132bbf2dd4c010eafe8e19fa94d6fc78c 100644 GIT binary patch delta 117 zcmaDL@L7O&IWI340}v#vQApdmk++&PGF?BkIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Zer{%ZQDRAEeqOQu=5wr* Fm;ieCD>DE9 delta 98 zcmew?@IZifIWI340}$-ul}o$1k++)FEyTqtCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#E_5*B$xmI 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 a0fd61284af58d55625eb48f91bafa6b5b2353ff..afaa850ca8c38f08d9889bc75346262c1565ee91 100644 GIT binary patch delta 117 zcmey#*~7)VoR^o20SFS-D5RBbS%B4-;$a|E@tS%BAhz$Xm?fmh55`6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(+!S0sur&BX$4) 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 30c2220262789c83fb948d22fda0849309a0da13..f607baa18b4b7e6dc82fc0c314c87defab9c797e 100644 GIT binary patch delta 117 zcmaFB`k9q?IWI340}v#vQAi8f$Xmr2S*0IZoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKVTGQ1OR4YBbNXG diff --git a/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-311.pyc index b9e452879c24d4e11f619fc96e481cbd13261632..8f7115bdf855a983c02e7aaa273f319127aaa422 100644 GIT binary patch delta 118 zcmZqTn99MooR^o20SFS-D5U*n+{ow36j`nxTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6T|YN7y(qCHGe56bfAdVH GOhy1M&nhJV delta 99 zcmbQr(Zs>GoR^o20SI>S%BAr!ZRB%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; delta 98 zcmbQh`Im!tIWI340}$-ul}mfKkvE^ot<%LSCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#E91IWI340}$-ul}oeR$Xm?hmgQm<6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3O-(;$11OP{%BclKS diff --git a/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-311.pyc index 1e2078ab95e3c9ba649fb487bf69af324f9a0687..d78e04d8c99e1d85d8df72a5b472a575717a0e54 100644 GIT binary patch delta 117 zcmdnSagu{~IWI340}v#vQAo4e$Xm@6S)?CYoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKV-^a1OPyLBZB|{ diff --git a/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-311.pyc index e3ae75abc4ea68c9698d257c45a3063c0229cf18..3cdcbfdb4505adaf526df4b42d811405d4319411 100644 GIT binary patch delta 117 zcmey#+r!7ZoR^o20SFS-D5SM*S%B8K^$m_!5*6Csu6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OuVP7J0svmaBdY)a diff --git a/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-311.pyc index 130730ff870af21cefa13276cfa5b65c793f4d37..dbe2530a6b7b20be23b81d0cc081ad216c65ffdb 100644 GIT binary patch delta 117 zcmeBTpUcj>oR^o20SFS-D5Ra-$jiqRnX4aKoLW?@pI@9=lANEb?~S%B9`j$jis%7Ug0U6P{m`tq@R@pOuHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OmoRBE0stlEyTqtCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&0m?{ GGXemY04w|e delta 98 zcmey){e+u$IWI340}$-ul}o$4k#`ZZTa}AdOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4E%)#=W5dfidBwYXi 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 9a461b4c4d5450e5aee7afee0d0320b507ad08b2..b35e48a66b1747ef5994dd5a347c8c597fbb573a 100644 GIT binary patch delta 117 zcmX@d_K=NtIWI340}v#vQAnGMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&5BIA Fi~x68Dk%T} delta 98 zcmaFJc8-mAIWI340}$-ul}lT>k@p;Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ%_>a# Fi~xLODmefE delta 98 zcmaFHcA1TLIWI340}$-ul}lT_k@q5_Te6E)On81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EY|f<52mp#(Ba8q5 diff --git a/osinaweb/billing/migrations/__pycache__/0015_order.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-311.pyc index 8c3ad44c3ca4bf1852e17cadf99dfe52fcdbe92a..fec3ccac9a5ef2d38dcc950fd5b3bde1eaaa01ea 100644 GIT binary patch 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 delta 98 zcmZ3=Gl_?HIWI340}$-ul}mfJk@p_6Tab%YOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4E?85Sp5dd*_BoF`q 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 0aa3b3f36578109c4076e5dd7aebe3793b85ed84..29cf3c6a0fdcd31b5bc109e10da6232adafb9f9a 100644 GIT binary patch delta 118 zcmdnVeukZIIWI340}v#vQAqp3xRFnkDY8gEv^ce>SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)kEdQoCYW`16={^m@k G07d{vaw-e} delta 99 zcmX@ZzLTAAIWI340}$-ul}lq|+Q=u$SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+Gl73QVPEKZCx_)kEdQoCYW`16={^mla G07d{*87eOT delta 99 zcmcb@evqASIWI340}$-ul}qDf+Q=u%6e5EF 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 ba00d1b13e6493591c90dc7c4c67bce82c8b3eb1..6f4e59e70c3e10816338b049648bf6315432aa9d 100644 GIT binary patch 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 delta 99 zcmX@FyhoXDIWI340}$-ul}j@c*vOa4?N;w%6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|A ulb2c!W~XE&=B4LD#LH8YVv;g*ax(MMV{$XoixNvR^Ye;hHlN{UW&;3Tvm;^v diff --git a/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-311.pyc index d0d5753ad1e25d1a21eb32caa6f24a0ec5058fd1..cf443ec57fabd775197397945460a7161be17d5c 100644 GIT binary patch delta 117 zcmbQnwUUc>IWI340}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& delta 98 zcmZ3ZW8R=B4NB=cSf|`A{yHU7nhxpOl%ClbM&UpPQLplvt9PpI5BE`3ln# FMgTpWD!Bjv delta 98 zcmeC?{K3JyoR^o20SI>S%B9tAMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&EJ`h GFaiKKn=0)9 delta 98 zcmX@dxto)BIWI340}$-ul}oeO$h(Bet<}XUCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OH#47N1OP4XBTE1P diff --git a/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-311.pyc index bbaabaa6f98f6fbccb3be70187b46fe1e7481f55..a43b381a671039146ed729bcf011c3415bd34fb5 100644 GIT binary patch delta 117 zcmcb``j(YHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OKVsx&1OQ;PBY^+_ diff --git a/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-311.pyc index 2c60d21aee31bc3c5418021903bd9e7f5840800d..5ac4d01a4939fbd97ca7a3b05b676061068a5cc5 100644 GIT binary patch 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 delta 98 zcmdnbxrUQ>IWI340}$-ul}p>Wk#{STTb_$mOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EEX}-x5dds%Ba{FD 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 b66bde46ca4c9e3e01a2bd39d937db5f9928341b..6c7263879c16622a48193523b2d11f674f5cf354 100644 GIT binary patch delta 117 zcmey)*2T`doR^o20SFS-D5Txp$a|MDvPVC(IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&eo|&mPG(-Zer{%ZQDRAEeqOQuW&S%B6kY$a|O3tHr(`AOrRPJ$%TtqLk}`90GV{`7ax>G55=%1k^NM3OpJC)<1OP=dBOd?& diff --git a/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-311.pyc index bc044e586118233cff299c9e6847f341f5fcaa4a..c0d3a5e3be14652bc0ed50a130079cbd2b82bf6d 100644 GIT binary patch delta 117 zcmX@fc8863IWI340}v#vQAnGMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&B{z_ Fi~w#6Dh&Vt delta 98 zcmcb^c9M;EIWI340}$-ul}lT>k@o_lTZD^MOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EY{sO<2mpSFBVYgk 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 97a12bbe72a77270afb0e1c5d41eca885c62b033..be840df901455ad7eae501748cb4fe8a81d2502f 100644 GIT binary patch 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 delta 98 zcmeyu{*aw_IWI340}$-ul}r1$kyn$+Ey2YqCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA tFSQ)ZPRUBlOV5Xhm!~GhBxUC0Wag#EMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtk{iMvCoXos*{oKs-qQsKS{JdiQ&6-T6 Fi~x!;Dr5iv delta 98 zcmey!c8`sBIWI340}$-ul}lT-k@p&-Tc(RuOn81#wn9KrepYI7NpVbmab{j(d`ebK tUTQg*osyN9m!1z1FHcR1Ny^O0$;?ZS$<0hJN-W9D&nu4EY{O*A2mqDHBewtm diff --git a/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..585bad9c1e7222f9dcd6f6893107a126c08d1d82 GIT binary patch literal 1102 zcmZuwzi-qq6n30TE(tve4kQFc(5e;U1}+5zssutR>Jd1Ajn=8%|!C*iyAqC!TYcR;W1f=lATF=kI-XzSL?Kg7#)_YJDCf z^jkV*)5gZ(A{aY}BB}%^R2(J54pyX(1J$Wu^b}F`Bcc_i^vZA0u8Poi=%eOn6tAF$ z_D8x6EUeJ)#%}6IJP~>rQ5Gca&N#Lh3RYkpeg@b<3^@u#4yFplUF@hBvC8RQRHeXz z>Ah;1f@)M_M$at$o_=DLnNjatIY;%q>TU)2LLap~<6r(=#hIWcRA347MM)j%Fr&oh zZYPSFn4X(^aG$tA%3{*Vk~9ig+>fJmKVT$D-84%ezUuiw;PbAGzISIF?eq7M-(jR2 zc@}ys7FrZj7z{6iJy?>geyE@9)+{F*6`^^7%ioF$&w>C5aRO?xlnIJsjT z3_>Jo>plx;yHOJcDdq_g79kLq0aYR<2zi&efsBzv7xrK z6NUC-)X74|)5LDOsT*v{1@7J+CAK-+DEzTo*c;5V$GY05_sRx^?~+18QmWPLZ^rT_ z6d*54k^yX;Jh_g{heKmN*VIe;)^a|9%xj;lfiXF}e0_Lfa#)|)zB#DRe4YKV`t#+l zSA*8tp!Ist>gEXkivqe$t3XdYfLv7+1&UJ|`{>r$cZjC; a%Qx3+ik_phux$;_&mPEyqyMZH9R32aA}vDz literal 0 HcmV?d00001 diff --git a/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-311.pyc b/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..55c56f9c067b9a38ed614f04612e23e6b7d3f2a6 GIT binary patch literal 997 zcmZuvF>ll`6tstO@aKvU7RLaJJdgy4jPV7Mjt&h9lQ$2shrN|`z^ zFm~(C07CSKFfw$gyfSr5)lQvwc5+3f#L4IPy=VJn7hK!#^ zZJaEFv4<$4n4=7LaOQLzj2!d~QRfq)F2e(Nyy+`gKh9alrQU1QY8;tx%h6Gm_9ZFO zTqx~lIb~e+#yia%*5srM#vWp*gDL7b6!&q*brACgV^NTr8jn8+>OH8BsP_fa2KD!Y zi!%0`7df2Pq#+24bog?t2;>Fbl=D>d^~~bp(&HqTl*yz!QmJ4{>4xRnR|P3Xs?~rE z;cA`@IV%{IS3m}M{B@FYpc54hSBdB`ZakBf$7|<;$*UC!UNJ!-p}Yp%I*)#uh^vF% zW}fz#(g9@~WW)=o9r=)OCi=xD#3Nh1M39VW&thXEWt_HKp>8JDpCmd;5?D9l4D5*{ zc|RiDtTl|XA>?MFmogh7@#ocljA6uz?^C$?ItSQP~XsHzYmL+eUqtdNkRA|c2EG$;e+lDk9>XFK)TRAtJ* zz}T(-pn%B0PYF_n=vF2+SLxJ=caB|D6`%F|eeb=y_xZE@b$QuFaJ?U|_f9cFzZEI3 zN&)7(08S7^6mt~dHV(A5hLMJzA*y{wRA+dgmzz!j{kUXpof@xDz4Awu>zcF!zaNvt zk3u2MAfk+mZn;xEt%A(o0XRVnwJ}9)jp9CT>l$LlpcDn8smhpxYOx1V16E~hUX?Je zUgdC7jn+VvC9RjG8jx1)_?-J;U#@L$@9cPlCoJ}&m_if@Nm3!Je)uu+yG-gs+I#(J z#SciI3Ae}!x30@dhm-JwG{Tf~X{AFR5$YuoRP6k1y^sV9$|_cRKI60rI%-~?_dIEP z9`vQ00bcUFgOqU9s~BZN7E%^=eI{aMu(Y2ljeF{p*iZ>;&*v=X(vF6#F#0>1D~B!) z+&6;7!i|KVbfds+MBOxCVItfnNeDkug^+C00SWt&8?wWk7c|F*tm76gx&J<-3w}K= z{3^Wgz@V++QEbB8JSZUELKt1H%tV%(>DsC}dXd@4y8p$V*6z*L)@L_v&YX?ohf`+bG72z<)~)ekk&%=7VYFtumr4 literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..7fd7bd0c493060bf4445434cbd9b566e37a5ba3d GIT binary patch literal 864 zcmZuvzi-n(6n}6P<6|| zz}N-#Kj4SRz@NaMP^1jetxRmL(y0^g9H*!Xch>Xw-FtWM^LPHTylexGccb;)PXyq% zBJ)ux!E_73F)(06KuA0iYMw?wgC;QT12CPFo<8678PWF(=IP9M0rkosm9A^j4ufvu zXF(jL(hOt9McSF~RBx*!)3*qYfrCdFcp4*J;^`W2qc<0Yt(jUed)0CeFau|0WL}mq zs$S-JQjOJ6lqId_b2TWf+75&WqOM%s+`RvQ`Xb{A4WjpP(BZVtc4f6BQb+buLS2`Y zw(z4pX+#4dq&4V^*k?40F=H1WMUNvQ8Yj z+i_zC}@2FMy_is=I~i=gLUhpJ+7@yuB}h5u1=hdqdQ|~5Qa-C*s)sKT6?mg}mlsJ)5kytXxS`%$un6n}R} lUt`F1LI~<3^%J_c9NA~#2?NgOF`%kv$`xl1H+lQpV$Uu~NOQoJ?N=*hLIAF-1*{;x2CL8e>5Cun5l`(ted<~)oEm31+ z&Py1T=Q-?Dp%oBiN$YW;2Bei+KIgvZ%Cl>0H*XP-CoCeqcpLg{M*6fP%Q=y!imVs} zEfzi9r=Xy!%TkMb;x*jSdq+4E-DFc5V!%0+?Ch>Ycmac)ilvUvIBkH63d!<>NShGo z8*m1Afsi)?kE>qADC;vpnP~egj+DL9zN-}8SGz=pN?7+cy&0Ew*k`%T-_TU~bM)SQ z7PBaJ!`M&SVc>3r?Lojq61xpA@%XkX2=4~%d7>M-f^B6yry1U2EjRbb{reeRaO?Iz zZq55s>u*OUNXUW$@e2sU95gN=2_;`Ov`!Imi1l) zbW~ZN8Gk2Q1`0m{il0MBb&N6S!__@>{p6FH3)oE2$*^OOPhUMyg~R_;vvdCdx#8|} 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 1cac3086c1a3baaa5fcf0c2a98cba7494308ddd0..1bb573bb0d9eab061767124cf655a11989c83c57 100644 GIT binary patch delta 112 zcmdnXc!807IWI340}v#vQJBbW8kwvgTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR zQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk1twCnqy6T|YN7y(qCHGe56be`1?C08|zz AbpQYW delta 93 zcmcb>xR;T8IWI340}$-um7BK5Q)6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! oW~XE&=B4LD#LH8YVv;g*ax(MMV{$XoixNvR^Ye;hCeAbm0FhZCwg3PC diff --git a/osinaweb/billing/views.py b/osinaweb/billing/views.py index 72ae5377..38056455 100644 --- a/osinaweb/billing/views.py +++ b/osinaweb/billing/views.py @@ -72,16 +72,16 @@ def fetch_customer_businesses(request, customer_id): except CustomerProfile.DoesNotExist: customer_profile = None - if customer_profile and customer_profile.business: - # Retrieve the associated business - business = customer_profile.business - # Create a dictionary representation of the business - business_data = { - 'id': business.id, - 'name': business.name, - # Include other fields if needed - } + 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({'business': business_data}) + return JsonResponse({'businesses': business_data}) diff --git a/osinaweb/customercore/__pycache__/__init__.cpython-311.pyc b/osinaweb/customercore/__pycache__/__init__.cpython-311.pyc index c83ce649705a78e4c636b183074fe8a6b74b49e2..53cf900f5373d3fa9d94bd21c39b3c03cb806dcd 100644 GIT binary patch delta 106 zcmdnac#4sGIWI340}v#vQJBbW8XT)1TAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR uQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk6%?xFkO}wJ15iC{=%AgE;_Ua3&=H delta 87 zcmX@bxSf%EIWI340}$-um7Bfq&K6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! iW~XE&=B4LD#LH8YVveeTv}X`pPO2goL`ixKXHu{0IWYJ8vpS%B49?#|1%u9?<$%@HK kEeEqxvJ&&s^C9BpsYx-(rNt%rxv53T`9-NQ6Zbm-00iA2G5`Po diff --git a/osinaweb/customercore/__pycache__/apps.cpython-311.pyc b/osinaweb/customercore/__pycache__/apps.cpython-311.pyc index 0a8aa9c66440385d3a02f2a8e4debb2310504174..4500d1aef7b4ab23b8b916bce6b7b1d489db45df 100644 GIT binary patch delta 110 zcmdnSa*~C2IWI340}v#vQAnG!kyn~AI8r~fIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC yu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n-&esXDXNq%l>QF4A!s{Z5*#&ZDm%O|t| delta 91 zcmX@fvWQF4A!s{UpVrjLvOLYgQ- delta 92 zcmX@Zv6F*$IWI340}$-ul}nS`$oreo!NYlyIWI340}v#vQAo3#$QvCTtsh#PT2!o`Uz}NzoS&=jlAm0fo0?ZrtnZgt wl9*EolE_QcP032kOV8KOODzZUpKR2}~Ilm}Xf8q*f0NWuahyVZp delta 89 zcmeyz_?nS-IWI340}$-ul}odk$Q$k8;bIjNo?n!$5Kxq#m6}{q9Ft$1nU@%!k`QF4A!s{ZD3mOw@TL0>1t delta 92 zcmcc3eS({JIWI340}%8alutXckynew!Og`gCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA nFSQ)ZPRUBlOV5Xhm!~GhB$pPK_+IWI340}v#vQAlIo$g9H?9Hk#xoLW?@pI@9=lANEb?~9* diff --git a/osinaweb/customercore/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/customercore/migrations/__pycache__/__init__.cpython-311.pyc index 23e9f9b881c02d1680ead9c23fc23ad817321914..fd4b5170ab7a4b2565c043caf79c87c4c2b18cbb 100644 GIT binary patch delta 117 zcmX@ac$JZRIWI340}v#vQJBbW8keCTTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR zQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc8Nk6%?xFkO}wJ15iC{;fK*E06%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! tW~XE&=B4LD#LH8YVvBS@@pe znDiZCGn{JJEo{S9nRFWTc>$^%L_=HsezeypWCF|Zv3V;%Q{~aaA-bc zwT^fDrO`77Tqi8lc>>N6?~C&U%21>qx|rGZYFz!^-<^X%zAKy(!bWLa%M#V zujeEAFm1*gg5W+taJAHgUk-!cd>`Nsr;sC3nl5X0I$yU@B=TJ*U3!kI0P+C+P9lB4 zg3XZpmzBLoXcF&XK_+iP3qt`w&!8zDSoH7)!NN;PbbJEW;3b^4m^=k%CVN>n(i8zU zY08<@TW#`ZO|n{_tX>)Pk%KC^*y1-+Dhk#^GxT}bEC z*>pNB(Hu>n-S4n5if2572id`c-0_1t@Qnc;(xy;Oz@Nc#WE|l$kadKo@thGp7rt7n zN`xg-mz4_upGB19#^RxKWrBoSLgSdL3*EC({@IGO@cU8eR_wv zHG7CXSOfH6nxjb8K!;cHcpb9Mp}IVZLhQ!-Hw!H;DvymKZbT?0*{DXA$7a>_n;62f ztz>d<%d*qyZx2OcU8pWg$U>*1ET7ldndpc`LhTbaj|V_iy|QX^c~sdU?>Ku%z-JGM zj!dc&e1fce38%&k=^{~Xk+#LRidFWgzn`S63Qrub~71dgTZ~aryn$eY-DPQ0eq{hc$s(}x`nS1 zHzp!lcr1L4e>5hp6OiqfAOjn}67S}L!PrA=RDBkxR=wDsPA2FCw|K! zwaSGOX(Q;@xt;7kb@`-?t)uS2Lc4q+L3Lp@7hF z=E#ETfm$SH3qBDL+nWYzIP;=KQnHtQ?uLg$xw;NlYrKa(?AWk~RQB>&2(E;5TZeUce9^ zm}?!AW9FmkO;U4t|IC3+oViv3{pHQkV5oaC!v2O%Es=*33I9Y`{mnstV^DRu8pFZ= z?S}SRG~qd6piBS1BlaDpvrSJ?<<0Fc9oUE#T7)%dQ2^+W`&~K@RbCR)&{>P1;6lH2 zQ3fT58Il%~)GoASNGiiShol>%W>#IHetKa6RY|(su5PD0vPF)zw%FCE($n72(bCf9 zc0|>lmg23g#GYg?WLBUR|7lq2640sSx_6@Pq4T3$|H=RYTqKCXKe@3oX z+IxXkW@_+7h~j%_8sD)%Xv~*BCqy6-!Y)Hd{~~YZZn1w5k1_Aiz0^8V29k7zK*OdJ ziB~)NAzitx+u=|LX7r0p<@S|$ngUOXHf;(FqqRxNwvy)=ja&+R z-?wr}z-xC`#T%C|i?3gv2*;vMCGpDYNbIFV%gPOrcv*GTvLeUYC6T2iE4G%FKdt52 zRF*V4LvSK)F)X5mI>D)#`Pe`e3^by@`h>K!XRaQq(`hdlXqZHvP^pSXDHsT#qZQDM zM=D@2L75HPwY&w3NW*rGv(k{cVW)>DO!=S|@FgB~RiGo#y3Ly0JSg`f$U>U{D`xS} zro^Q29-Ccux>X0h`bStmvp|cUbVXzQOq#2i22-XzFM=u4HY5YMv^~^b9dWHwlx-^m zO{>?gYN&2(jXJ9%ON*n+oDFJub9+x)MJ#SlJY(8q03FH0A!!;3j}Y)QJOUrUFEll8 z!#Oz?9g#z1@*vZtC?2QFZZB!>7W3)E~I-b6xXl!4O NFK69?)NRQ-vdu`-iLz|JG<=c!@J(L;4}{)IL+D$kS4*8_!&Fv zUB`}Tj8U9GY!yLku)>9u$XlQeDs6yRLf?q zu0CWvgTJS?TAx-AF^7+94h4sVNN+;mZ@H^{M@X&DFQ)!E2 z-^H(kiLQMe^$m#wO|{+iUG2u$geMom_lE!Fy%kmRw?q1buC5$2ZvA;hR@h;Lqk&K~ z81(u>p-_2b?0llwQJ|0sQyrKmOXMn>GP_Xgv`V{>|YQ zFg7s~9xp@@K-OwkwNjP0dXxeAiu{H}m(EK?;w3SLBCMzm{)X2oE7#$3;G{hefJgIb z#c{qAy6Kxw@p-go7uI#hzK-sumPc%U$!-{M@E+=W5!u<526z>+?alDqGw`>sWpgQP zQ}T;#a=v}f9u>I5Sr*%O!fS|3|A@I5vlH$shd2+&JXvI_kGo6?c?fr}7R=|KLdCSj zkp*BnTOePV&ORppU@I!PKanCckMh$fvR4Y!ve`7 zAd4i$)Fk?hF;f zb@=S8fL`IxA;6@R80S}^t!NXv4MmWFN{|~BAREF+LV*98{`7elq|BfDcMP~5^YTl-HyQaWK&0L)BgR52k6v`vW;FlElWSt z-NFuk(C707{XT!t<1;*l*=~VoC=?Bay@oFm35Lx~z~d|T`27IvG%&C^Ep{h_az5DL zY;I|3zAtg0eP2h5V|xev!^^T$HwpYvUnuGid&B;4Fw7QSmPst*|G2JHA9pC0*Y+xX z#I?VvyQ#6*6rQ>4z+MRNObgtYh$k~S_kgYp=+>un6%}Zp6<7k&DJfg*6s8bE+1!}= zAGH>=stR-H>VhJJfMl<#;vPxRcbPShmgTD-pz5PJBEtph)s6gSsh3K1Y9Hyftg=L< zMd>5yb?JoEJC-&6nMilFs2Uw?QLp6&J^qlxFftZ=UVpeeTviT_u@kLoTbOr>lT=En z8_l9);^5?{$|gs(&`Q1%&QWPxI{|;mo*UN+AbqlwIJ1@yHE15HFBtWgJ7R41O>G4( z&|ouAUFv1nj2-+L`K0A(>Gu*Z)(Ev^3v*0qpC}f$WG^n}9)6H@zN^_GbN*BNl;?Xi zM5P&xvgc;Bd)47soqh^^p}FBHCg`||=VXrU%)u|oP-n@gq;qUVA)fV>D4Z9dpGc32 zUs~LpSFGU|NQrgA`nV=((#_+~#H!&9b#7J_!;e{zCULLOFW%GMqFbi5*IDgfH4kKu z@5X&l;N14zA(~a7=A|dydRl!y-bc61C_21OKfa*l(hHv|yJ&n5K8bdG8(FG+Lw*O+ ztqK4usl^}pU zgTa8m{b2mZ9ec|n0dOos_=`I1U~i1#JMKakl9t14a29Wc@@eJ9O=sq?i_Xqr zk#Se>bqP*VxQO2pO$(y+AbV#KhXjp0YYwbtK$^)kX*OG9C!x)RoWRSIY%!?Cjauup=0ZckYjS4%Kgt zAL#VoolFKc-|W->ZG6qtn5zy@se*V+{naYJ=4d^AwUXFbs**Hz@wwJ%v+*;@m#l31 zZL$Wb=}|`>!i)F;ZQd-psG%dENTUC~UpQ>;+!B4TCbM%%^m>iZyE^DiHZ~stP6^~V zxg+(4VcZmCgkd)wsu7xOfi%VxlfIz2u9L6HMU(skQXujiga?Z<;eb06x?Gvi?ffr& C3@p3= diff --git a/osinaweb/input.css b/osinaweb/input.css index e235678d..571db178 100644 --- a/osinaweb/input.css +++ b/osinaweb/input.css @@ -70,7 +70,7 @@ /* GIVE THIS CLASS TO THE SELECTED EPIC IN PROJECT DETAILS PAGE */ .selectedEpic { - color: white !important; + color: #374a7a !important; font-weight: bold !important; } diff --git a/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc index 87f21b53571423eb11fbc71de5cf63c5b232869b..a2079bc085df71a0bd7a6ddb4457532192cb65c9 100644 GIT binary patch delta 103 zcmdnOc$|@YIWI340}v#vQJBbW8W5!)TAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR nQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI9IVy!s<>Ubo+ delta 84 zcmX@kxP_5>IWI340}$-um7B*8V+6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R@hiS(!Kh2$dfy diff --git a/osinaweb/osinacore/__pycache__/apps.cpython-311.pyc b/osinaweb/osinacore/__pycache__/apps.cpython-311.pyc index 89cb6f4285035af127d0d05745a2a190e369a2c7..d935013966778b6ccf580cfa7426a07781d2bc26 100644 GIT binary patch delta 107 zcmZ3>a)5<*IWI340}v#vQAnG%kyn&4AWT2BIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC ru_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6src*b)8aS|pk delta 88 zcmX@WvX+H+IWI340}$-ul}nqmkyn(_*4f1>COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA fFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWFp_7|#I!)}$Xv diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc index e5b1119a6f6db841b9f6f141140f69559ddfbfc5..eae6da6f0f80a61e081a804a495c123a861416f6 100644 GIT binary patch delta 109 zcmZ2#y2F%jIWI340}v#vQAqnGypiuTb3lTAXmM&$v3`DWW=V2>uD(lta%paAUP-aO tUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-&0;M5VgM@~Cv5-# delta 90 zcmdmCy3~|!IWI340}$-ul}oD<*~oXA+1A&^DkeO?C|e<*C_gJTxuiHIzc@25F+L?L gCNH%d%udNl%uCOQh?l1(K^V#TMX52HHCg(_07fDp0ssI2 diff --git a/osinaweb/osinacore/__pycache__/decorators.cpython-311.pyc b/osinaweb/osinacore/__pycache__/decorators.cpython-311.pyc index f0fb41b731b9726381468088c01a4fe536afddfc..bb84a5965c76d9ffcf9b93f75bec578ed473e254 100644 GIT binary patch delta 108 zcmZ3%v73W;IWI340}v#vQAlIj$orQuAVxp5IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC su_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6rCcczDo0JHBVqyPW_ delta 89 zcmdnZv4VqlIWI340}$-ul}qE_$orSk*3-o*COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA gFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWF?Qm>x0$01g@-#Q*>R diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc index 27aef0775ef700da74856f127cc7325f07f87acb..8031af19110693693224ffb190d6afe0d9c86fbf 100644 GIT binary patch delta 108 zcmbQmzLuSLIWI340}v#vQAl&&$a|eJAY4DRIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC su_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL6rCMW#wd0I$s^5&!@I delta 89 zcmZ3>K8u}qIWI340}$-ul}iiS$a|g9*2TptCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA fFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWF>Pm?{|o3A7(E diff --git a/osinaweb/osinacore/__pycache__/models.cpython-311.pyc b/osinaweb/osinacore/__pycache__/models.cpython-311.pyc index 9aa9d6ca80f517bf168b788acf39f0f3721bd8f8..37eb830317451bf75bea744e36a436102b094504 100644 GIT binary patch delta 3104 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 KW~HEigZ97wC?XaB diff --git a/osinaweb/osinacore/__pycache__/urls.cpython-311.pyc b/osinaweb/osinacore/__pycache__/urls.cpython-311.pyc index f7ebbe8e19e289c2465ec7e954a5f3cff073afeb..3b3811593e049958970cd7b1224d339203859ff2 100644 GIT binary patch delta 109 zcmaE<^GAnoIWI340}v#vQAoSOw~=qLKtPy&XmM&$v3`DWW=V2>uD(lta%paAUP-aO tUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-&F=)NSph^VC{h3b delta 90 zcmeyP^HPUzIWI340}w3UDW9guzmadTfUUEORZMt(QMN)rQGQlxa!GMaesN}AVth(g hOkQd^n4OZ9n3tXp5id_of-sWvi&A4YGYVF-0swYLAWHxM diff --git a/osinaweb/osinacore/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/__pycache__/views.cpython-311.pyc index 0ddfebef0c46e510093f82310cdc302095132e81..146762b6f75c56e0187e31afe2a4d7f3eb3ea697 100644 GIT binary patch delta 383 zcmcb1nepNkM!w~|yj%=Gz;#j~&E0(?-*?u4aQ)EY)S_bj{Nl`#bEx)Kk3fnS928Pu@3<0&wHB2?kDeQBY zYFSG7VWJESH4G^nH7v`Rfog#m0)iPdIVTHvOS1U@`9gN&c@f2 z(NWr%-;)10f)(SI{bk_5XrH>3Rr1|ac~nSn{{3Zv);CXk52WaG@m0Dty$cmMzZ delta 327 zcmcb3h4I>DM!w~|yj%=GP_a`!t=e-V-*;A97ZQK4nSo(75JNyPgC_grcyGzcP2Pq=>_weG z(IPnz;R+%ICKq^0PJZm|%9uS_(?>&oMfi@e3xX;a1zoNPx?C6Zy(H*+BK4wR$Q8km z2Colnn|pocFfu;htmVhT%J^Zke()xCMzhV2qFypG3T-|U^OcF$nTdg+7-W6}!w0s> t2676U-^EX0V)WfypCrL9&dF&1fdNQ-WM*IzyTT~?fe9ocGkIO+VgTZ=W@`Wd diff --git a/osinaweb/osinacore/add/__pycache__/urls.cpython-311.pyc b/osinaweb/osinacore/add/__pycache__/urls.cpython-311.pyc index fdc840e86d1f600ac62b2242db9d85ad09c3bb9b..26823c274d7e16037fc51901195b2b13f333bc17 100644 GIT binary patch delta 113 zcmew)+A7AkoR^o20SFS-D5U*o+sLQE5fY^zTAW%`te;<;S(2QetM8JZT$-DjS5mC+ xmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dF(pNRb2&#f699tSC^Y~8 delta 94 zcmZn_`y|S@oR^o20SI>S%B3l=Z{*Y9aCCREiV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm k$xAHxDYEiL%esN|=a(=G9OMY@`Zfagh zvA$noNn%bVNFpy$Hzg}EFFjvBFSQ)ZhjPK}^3)`VqU8LdRQ<%16#dN`*m4p8=w~U7 delta 96 zcmZ2~j&aU8M!w~|yj%=Gu!~nNZK3x@zC<=h4;QPL@cg1|g@B^`tkmR^;+Xv6%)G?- nl&qM%)N(L8B`Yy6Js%=oo|*(BvC)KIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC wu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27oL8ks@W~Opx0EEIP{>8<+oR^o20SI>S%B8K?$h(!%(a*&yCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA jFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWFKKnK7Hin97*}xeg&R diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-311.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-311.pyc index 4f5176750427a907de482f87c6b65750b33c026e..609bb21a0b02e50d9f37645ad3cd0a64eafe9e90 100644 GIT binary patch delta 110 zcmbQkyq=kNIWI340}v#vQAnFOk@rqWlzwP&YEiL%esN|=a(=G9OMY@`ZfaghvA$no uNn%bVNFpy$Hzg}EFFjvBFSQ)ZhjPK}^3)`VqU8LdRQ<$)O#R7Pj70!3%O{Kg delta 91 zcmZ3_JcpTgIWI340}$-ul}np3k@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$hy0FcZfX#fBK diff --git a/osinaweb/osinacore/delete/__pycache__/urls.cpython-311.pyc b/osinaweb/osinacore/delete/__pycache__/urls.cpython-311.pyc index 0cd1d7041c5c8b67d335a8b26579016efcb6cb2d..b77d10ef987fcaca1c7b668addadc1fd7c629af3 100644 GIT binary patch delta 116 zcmdnRbC!p1IWI340}v#vQAqp8ypeA$OL(k)XmM&$v3`DWW=V2>uD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-l+>Kml2rZ8|5>aV0Wh&D ALI3~& delta 97 zcmX@hvx|psIWI340}$-ul}qDi*~qt+#l_3TDkeO?C|e<*C_gJTxuiHIzc@25F+L?L nCNH%d%udNl%uCOQh?l1(K^V#TMX50{SgjcW_f8>} diff --git a/osinaweb/osinacore/delete/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/delete/__pycache__/views.cpython-311.pyc index 3741d6b23ca58b4392955e1c463469f2503cd7b0..22133a94f9275d25ffe7cc9d51554467eda8dbc2 100644 GIT binary patch delta 115 zcmcbu`%ag4IWI340}v#vQAktU$ScJh9;Y8#oLW?@pI@9=lANEb?~akynb@#oNUyCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA mFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWB<3IjJS7F`Mg{3xokHdm`2V diff --git a/osinaweb/osinacore/edit/__pycache__/urls.cpython-311.pyc b/osinaweb/osinacore/edit/__pycache__/urls.cpython-311.pyc index 2d7aec9add5c44ebbb41b9d0dba14f6d21e30ec5..0cb0be88d60d5196ef49e3d68c6f768136d326a6 100644 GIT binary patch delta 113 zcmX>ka#e(PIWI340}v#vQAo4g$h(U@G+IBjIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC xu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27wN@j`vW=;-ECIFeSC*%MC delta 94 zcmcaAa!7=CIWI340}$-ul}iiR$h(W($-~7eCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA kFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWGW3nI$osWjHLE0MOYXKmY&$ diff --git a/osinaweb/osinacore/edit/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/edit/__pycache__/views.cpython-311.pyc index c9160f05296019a759d41848d4dc388588fc7419..06a4ee26ca2929360d0848494af92c21dc5d60c4 100644 GIT binary patch delta 116 zcmZ2?jPc+xM!w~|yj%=Gkg!G}E!b%z-(-%^82!-V)S_bj{Nl`#S%B9`j$lJ~75$0kQ6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9ZL#*RlWru5%?j diff --git a/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-311.pyc index 8142885f82127f67d6f5d5f4a5be71500eea549f..709c7142664521c4b898b9168d00446f70128934 100644 GIT binary patch delta 119 zcmbOyw^5FFIWI340}v#vQAn%W$a{=4dX|1@acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaYk@pyat?F|z^y%+w?} diff --git a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-311.pyc index 47565474e4878961b57e751e52fe66d0d7746712..716a2643d3538e54efb3fa932cc5aa0fb0692834 100644 GIT binary patch delta 119 zcmcb|{gIn@IWI340}v#vQAo?($h)37I$J-qIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoTjmRpPf D#G@;7 delta 100 zcmey!eUF=WIWI340}$-ul}l^e$h)4|Bf`ZhCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA rFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`LC%ZZQG?%90IWI340}$-ul}iiS$Xm_q5$s|W6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9YxwuP_1tenKR% diff --git a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-311.pyc index 21b24bbe8728af0ae7769a0f65a042dd89f5a045..6c07f0f992d7e2cd0e62fbc0f2086e691cb8b634 100644 GIT binary patch delta 119 zcmX@WcA1TLIWI340}v#vQAlgq$a{b>xW9rX)^)S%B9`k$ji&(5$s|W6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Zdux=a9gFe8`% diff --git a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-311.pyc index e852ae774accf533d06a5bb856f72b388c7c7dda..41ae35161175c28275b2df583e4c02ad43929eac 100644 GIT binary patch delta 119 zcmaFO@sERdIWI340}v#vQAq3G$lJmc-Kig1oLW?@pI@9=lANEb?~S%B3CK$orAeBi+R+COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`FZqOc(*z%p|1% 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 c190c67dd8bfaa556308701922211f479821a17d..e030cb793d98860b5208d8a581c05add14c864f5 100644 GIT binary patch delta 119 zcmaFG_Lq%!IWI340}v#vQAk_1k@pc}bd`Q+acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaPk@pd!N4kquOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>Wv+88ZR^^N}Ri diff --git a/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-311.pyc index f75c6fe3fb492f7c76b64b9277c8fe9746a338ab..54f1172b5a6ea65d2ac061965d9b4d74527b3068 100644 GIT binary patch delta 119 zcmcb>`k0k>IWI340}v#vQAqRI$Xmo1U8EmcoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9a8sIT-<+u_QA9 diff --git a/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-311.pyc index a3fdd39458c976e7883223819a530bcb3c522397..e8290c10115104452d736e9b6945e797e01c3142 100644 GIT binary patch delta 119 zcmbQkx1Nu8IWI340}v#vQAlgt$g9T^Jyk!nIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs>}mYGZd Dayu&W delta 100 zcmZ3_H;0dRIWI340}$-ul}lT;kynq!qshf8COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA rFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`K8c%wz%pidH08 diff --git a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc index 2ea0a8bfdc936edf4072352527e7735bd29f991c..5a0359fa3775c88e692b2692598b9c479f7b04f0 100644 GIT binary patch delta 119 zcmbQiwVI1}IWI340}v#vQAoS7kynN}xl=H-k4 Dd8I1< delta 100 zcmZ3@HG_+HIWI340}$-ul}mfKkynPZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO2|^BG0} DH%=S%BAUUatE=`#WV$yg*p diff --git a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-311.pyc index de376349a442724e13c6939e12239a3e9e10bd5a..285a7ee26bc8a672f0fda64b6c77b6b4e7c704e7 100644 GIT binary patch delta 119 zcmeC@Uc}A2oR^o20SFS-D5N=UZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO3X^9@D- DQwu8= delta 100 zcmZ3)-OtUtoR^o20SI>S%B4kZZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiSmlqY5Jc DW`Zih delta 100 zcmbQr*2KoUoR^o20SI>S%B7WT3rbHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9b9fDj5NT0VEdy diff --git a/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-311.pyc index f17e3cbb75140e15b22f23e3993ef5a42abf6258..64faf76f753d7b405c719d71696c6be74ecb6308 100644 GIT binary patch delta 119 zcmbQvzKWf9IWI340}v#vQAoSJkynT*I#)lmIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs?CCIdzQ DZ!{`q delta 100 zcmZ3*KAoL+IWI340}$-ul}mfOkynVxBg(}pCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`KKH3>X1{awE9_ 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 215e9392f3ac9f0eb6551cdab3a224897c7b8d37..6a31926abb32e0cd6877468bcad7a59ae295fe28 100644 GIT binary patch delta 119 zcmcc2{*0Y>IWI340}v#vQAm^8$jieN-K`&5oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9U_jMT`J?cq7RG diff --git a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-311.pyc index 45eb756fed17aab7904a5cb24af35147e4c3e5d3..a3b86f2416dd656e609104c2c21a7c5fd3840909 100644 GIT binary patch delta 119 zcmaFQ*Tm1eoR^o20SFS-D5M?R$h)5S%B4Np$h)7#BiO|%COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`Ly{qnQB7S0r%& diff --git a/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-311.pyc index 7d675dcaf86d2786885f3d90312ea8d13a58e261..4823051f414a9142bab134fd1a4cfb2bd6d90e96 100644 GIT binary patch delta 119 zcmaDa+9bxioR^o20SFS-D5RBbS%BAht$h(`(qs+xBCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA rFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`Jdy?=u4c%lRbv 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 a7776043e7c0ab052f20fe5f8f6fc442ad2e2141..40d32f1d64ea1b0425e95a50245618a548a27db5 100644 GIT binary patch delta 119 zcmZo+pU%#^oR^o20SFS-D5UM#$oqpax>i55IJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoUXCUZsr DuZ$}L delta 100 zcmbQv-onnioR^o20SI>S%B7v#$oqrQBg@4qCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`E;Z%ozc+x+GQr 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 33bb5e14f23d90974372646027ed25d38bf0a27c..a6c4cb12f08fb8e86c90dfbf4fb9dad962909b82 100644 GIT binary patch delta 120 zcmeyt-p#?coR^o20SFS-D5QO3+{ov^6kVhrTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dH#5B`u_QA;uULQcG^Qj* E0JKpnTL1t6 delta 101 zcmeC?_`%M%oR^o20SI>S%B68KZRB%c@`!h_iV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm r$xAHMv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaVkcsWSoq&&4EH diff --git a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc index e0ce0de1a7185d0fe555a0915068fc2b7cb3adc9..534572dc56ef3e7521262b56ec68142bcbc9d8d6 100644 GIT binary patch delta 119 zcmZ3)vz3Q;IWI340}v#vQAlgs$h(y}IzvCSIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoT*76~Q* Dm-;GR delta 100 zcmdnWvxtXxIWI340}$-ul}lT&k#{SzN2rTcOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>ZjONH75ar1B%V diff --git a/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-311.pyc index 10bd52d460f3ca8c924d74fd8ae301ce623d9e5a..7a108599fb6df38512c6aad83c1f8269ffa5b207 100644 GIT binary patch delta 119 zcmeyv(a*`doR^o20SFS-D5RxtZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiSmd(;`Ly Do1ZJI delta 100 zcmeC@{KLV!oR^o20SI>S%B9t9f?UL^wn 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 14a36539358e9cfefdb00ca8e91094cee5f2ae88..af2f51d08c7d28b9e1a504754c71c102153b0c6d 100644 GIT binary patch delta 119 zcmZ3^v5SLuIWI340}v#vQAm^8$Q#2HU7{aaoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9WC+$`}D_MI-zG diff --git a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-311.pyc index ad8d13798399d4c8323e6de89ec0e5cb5b4cdb44..d999af847299af9bbef6e038e2f743a56a844116 100644 GIT binary patch delta 119 zcmcb``j(YHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9X+>1sMUUGbCLA 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 517a96517285ad49e5c6c568b1cf2ae92852e276..2aa1ccc375ed3228644fee7b2b423368cbedea93 100644 GIT binary patch delta 119 zcmX@ZcAt%RIWI340}v#vQAq3A$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$#yFC delta 100 zcmcc5c7~02IWI340}$-ul}nqqk@pOvN3x4mOn81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>X*GX)^)<%X1`2 diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc index 836ba906d892636545ae65f7a2375dce6084c8d1..4518a204afd324176fd707d3b08558a411a66965 100644 GIT binary patch delta 119 zcmX@jevh4ZIWI340}v#vQAlIm$ZO0LovI&NoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Z}9oEZUafFqg! diff --git a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-311.pyc index d1b7d045312a073071f252ea17f3af93d54384ed..363d6bb5d835334c682b017a4be2ee24277af7ec 100644 GIT binary patch delta 119 zcmcb__LPlxIWI340}v#vQAnG(k@pm1bd`Q+acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaTNx88ZR^(o!U1 diff --git a/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-311.pyc index 2b34ec4ec0c27bef088688f8698a729fb314bc5a..a2554ee1f9698389f889a9ffc625c9516bba6308 100644 GIT binary patch delta 119 zcmZ3_eTbWPIWI340}v#vQAi8f$Xmx8ovt5RoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9a|a?=S)YkT@jo diff --git a/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-311.pyc index a5c7d098e905a43aa5015059f46271a83927563f..21b2a71e5a435ad4bea7728c613874022708a3d4 100644 GIT binary patch delta 119 zcmeyzIgyKZIWI340}v#vQAlgs$a{z>dWwE%acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaW9sKW790%|Rsv diff --git a/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-311.pyc index 819b4a24fc46620b8afa885088ece902c40d6ddd..21c761c394dfa48da8537f64dc3fba0d2e41bc74 100644 GIT binary patch delta 120 zcmdnSb&`v3IWI340}v#vQAm5uypiueQ*^6-XmM&$v3`DWW=V2>uD(lta%paAUP-aO zUt&pOP9;bpFHtuoD={xUUq3Ik9L$Gu!R+$XB#5Hq{GwF-+|2Z%#FEVXykh;$q0A2% E0RgNmWB>pF delta 101 zcmX@fwT+8!IWI340}$-ul}qDc*~s^w$)m`{DkeO?C|e<*C_gJTxuiHIzc@25F+L?L sCNH%d%udNl%uCOQh?l1(K^V#TMX52lndwD|C7Jno#W9;Rm>)6%0IKUG#{d8T 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 4201d8377961760abf4bd72c5827cb396c2cbf89..0fd78c2e0465ac4bd828f1bb83c18a91df540c19 100644 GIT binary patch delta 119 zcmeyw*2>PioR^o20SFS-D5P!N$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&Veg0 delta 100 zcmZo=|HQ_-oR^o20SI>S%B3CN$orPjBiY3&COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`Gk~3>X2<7bJoJ 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 04b606880c623f8cf0b43a564e8bc02276e367bb..7bf5f905ed2bfb94bb6990e89ecbe0c49778a952 100644 GIT binary patch delta 119 zcmdnTd6AQMIWI340}v#vQApdnk@pN!bhmzJacWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFa=3On81#wn9KrepYI7NpVbmab{j(d`ebK rUTQg*osyN9m!1z1FHcQ^Fp~3&Qe$#6(~A;IGV}9_V>X*G&t(Jv+?pix diff --git a/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-311.pyc index f0e0190b6be8a5363dfdfb3a5296a28cc6962446..7e49b2db3346d93e990da2f3d0015fa7d93a90a6 100644 GIT binary patch delta 119 zcmeyx+RMhfoR^o20SFS-D5Pa>ZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiSmQqZlIq DnLaBf delta 100 zcmeBW`^Cz;oR^o20SI>S%B59pz3)6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9bXmav1?o5hI%b diff --git a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-311.pyc index 275a292021442c683ed45772a1de20e8f95e405c..52cc72992ef3bfd5abb6650c50ea5ce6ed0fa22e 100644 GIT binary patch delta 119 zcmZ3_afpL=IWI340}v#vQAiWm$Q!{F-K-y4oLW?@pI@9=lANEb?~IWI340}$-ul}l6J$Q!}rQQ%?~6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9T>6niv6bf+Q6H diff --git a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-311.pyc index 519df920cbb7798f89ebcbd746107199821ce003..aaeee6fbce336c6558d0010b7eb831dce03589d4 100644 GIT binary patch delta 119 zcmeyw*2>PioR^o20SFS-D5P!J$oqydx?DfBIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHoU9CPPL5 D&K4^! delta 108 zcmZo=|HQ_-oR^o20SI>S%B3CJ$oq!TC&k4oCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA zFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF$M-E29p&TMKHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9U!VUoipzsT3tk diff --git a/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-311.pyc index dbf50812bcb13a2061b45e896b9ef230f252cedd..1d24c6854c84319136c4c873811c239904aed28b 100644 GIT binary patch delta 119 zcmcb``IeJ+IWI340}v#vQAkVJ$lJ#h-L4;6oLW?@pI@9=lANEb?~GIWI340}$-ul}qd0$lJ%{QQ~416P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9bjqzB2*<$-E`J diff --git a/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-311.pyc index c95c94b44e5739b7c8193b4d2e35d2a8c4b3c032..1b6d23545567aa10b00cdeb7e616c9efb22bcafa 100644 GIT binary patch delta 119 zcmaFQ-o(MXoR^o20SFS-D5S}6ZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO2?lP@Cx DQ@1K_ delta 100 zcmZqTc+bweoR^o20SI>S%B2}^g?&6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9a8t#TWstFC=UL diff --git a/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-311.pyc index 2ac173ec7ea08b8f0b4d6a26951ae3838462d1dc..d30e08cc4e7626f879c1e4d81def3103f9e0f70c 100644 GIT binary patch delta 119 zcmeC-n9sqxoR^o20SFS-D5NoNZW8R=B4NB=cSf|`A{yHU7nf*QIwotl&YVbnO>Awl9``ZtiO34QywD# DCVMI- delta 100 zcmbQw(Zj*JoR^o20SI>S%B6{HS%BAr#ZRB%g@`!h_iV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm r$xAHLrZ7eT Dbw4VG delta 100 zcmX@izJZ;0IWI340}$-ul}kIlk(ZUpBi_X-COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`ILl!WaREOC#C< 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 d5116d5b8b80520d95f1834ac73ddba744a2889b..234606136e82a8ede3280560108f4108aa22ae0c 100644 GIT binary patch delta 119 zcmX@iagBp_IWI340}v#vQAm^D$eY0w-Jl;@oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9UcM+86Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9aMHsu=-f0wd%A diff --git a/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-311.pyc index 6024939f9aa71e1cd6e9332c8430e0ed4a8179cf..34dedb263effce0ea96b75241b20c10c31a40a66 100644 GIT binary patch delta 119 zcmcb^^`47&IWI340}v#vQAiWr$ScAeJyk!nIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs>v=Ff}( DbYm+a delta 100 zcmaFQb%%?0IWI340}$-ul}pp#$ScC^(d1$k6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9ViJpBVv)3M700 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 9ddce418e45933391fec08a1009dc4d2081b7784..b331cf610f84a946554a72b6dcb72002e6f53881 100644 GIT binary patch delta 119 zcmZ3$v6+K+IWI340}v#vQAiWt$eY9zU7;UZoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Zk{G8qA9^ds&7 diff --git a/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-311.pyc index e1231abd6e37b6a5a36e9185abbfdb4dc9624956..cd27bfdd335f75252c22feaf5363e37abb5290b2 100644 GIT binary patch delta 120 zcmey!-onARoR^o20SFS-D5QO1+{kCm6rHCZTAW%`te;<;S(2QetM8JZT$-DjS5mC+ zmspaRQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dH#5B`u_QA;uULQcM5Y8r E0I7N_I{*Lx delta 101 zcmZqS_{h$;oR^o20SI>S%B8V0ZRE3N@`!e^iV4pz%2o&{%FjwoE-8-5FV4(Mj8Dmm r$xAH7boR^o20SI>S%B8*A$jip;5#wSN6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9X_28yEq2#UvB} diff --git a/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-311.pyc index 543e443489206306562d58a7eed2a7a56f6411b8..d137e3abc8f1d4cb77dd7f78ddb725644b32dec9 100644 GIT binary patch delta 119 zcmcc4{)(M*rYc4N Dl%y)~ delta 100 zcmaFGex03nIWI340}$-ul}p>ak(YzXqu9kNCOp3=TOpt*KPxr4q&OzOI5RIXJ|!zA qFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`EmRsu%&J^(0OJ 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 8d746dbd95f2be3e71826d7f1687171c128abdfc..e03fc088932d9ddc7be7002ec243cf93d1728ac0 100644 GIT binary patch delta 119 zcmaFB{+XS3IWI340}v#vQAm^D$ZN$EU7{aaoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Ylr0vQ2}aU=%- diff --git a/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-311.pyc index d3fb5440607922c1f7e0973d53ffa0d78460fb20..958629e89b758d2208056a173e692f54350a46f7 100644 GIT binary patch delta 119 zcmcc3_KuBrIWI340}v#vQAnG)k@q5Fbe(=^acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaVkdnKA+Z-()0^ diff --git a/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-311.pyc index 2abc46fd05769a43d6447ba9c1c25a108561ac67..03b394f777dc79bae5ec04dc3f2cb9e405440bac 100644 GIT binary patch delta 119 zcmeC;oXg3(oR^o20SFS-D5PE6$lJseJxf2dIJKx)KfgG$Bso7<-z7h}G&eP`q*&iC zu_Q645+sqAsGE|Nn3tZfpO;z==0mw)c6n+NL{V~nQL27!W_nR#NoIatvHs@kOq&@2 Dq6913 delta 100 zcmbQs*~Q7boR^o20SI>S%B6kU$lJu^(e7du6P{m`tq@R@pOuHr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9Z-4HZuYMt=c6x 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 3dda5d2a81b4d8a451051d5f07e1891db3d23afe..9952ca84d152d2791a83e6e3e7b24adefbe8ba0d 100644 GIT binary patch delta 119 zcmdnTevzGbIWI340}v#vQAms3$ji+X-Ju^^oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CK7y|=Si}<3{-2AfC$@+{Eo2M~Z GGXem?b|`BA diff --git a/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-311.pyc index 3b67c64f390ca0ad2a5078e67b398aab865eb613..40a83ec3fed7373b6707240794f5381f8962ea22 100644 GIT binary patch delta 119 zcmZ3@v5$jyIWI340}v#vQAiWp$Q#ELU7;UZoLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9awSDi{H7@gxcW diff --git a/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-311.pyc index 4902f37816cd6bcbf6d98726242ac3810df77f81..b9ea6a09614bd61c936cc533ee8280fc06e8d694 100644 GIT binary patch delta 119 zcmcc3_KuBrIWI340}v#vQAnG+k@qTNbd`Q+acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaa6|88QL@;KU@9 diff --git a/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-311.pyc index 7a685756f589668d011c270c6ef3e1fc12daa013..bfcdbbb188b3e2b5ba2518149ed94c40ccfb29f6 100644 GIT binary patch delta 119 zcmcb{{*s+{IWI340}v#vQAm^B$ji?Z-K`&5oLW?@pI@9=lANEb?~Hr(`AOrRPJ$%TtpejO6^H)R^4N^rFO)%>2CKn9b!(MT`J`za!WH diff --git a/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-311.pyc index a7886d37ab6513c181a5a3bab0be1e627136cb9c..0d50e352dfffe434622cc54c2c5b2ddb7366f398 100644 GIT binary patch delta 119 zcmbQjvz&)_IWI340}v#vQAnG(k@p01bdG*#acWVqetvOgNpgO!zDs^`X>Mv>NwL0P zVo737B}gJKQ8y(kF)uw|KQFZ$%!hKp?DEtkh@#~DqE!9d%=DtflFaTPGd}jmzrimo4 diff --git a/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-311.pyc index c24f30a1d4ef8c508b08fd82e6c30bba736c405c..03855f82b99f62d32c71ed981c2042a718d5cfd8 100644 GIT binary patch delta 119 zcmdnRc9xBIIWI340}v#vQAn%X$h(sT-?=`aESvk)Wm diff --git a/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-311.pyc index 80f8c821dd7fcd0af266b1ff23d94e441831ff69..92f0c24f384be3eaf1d489105bceb0eecdf89c50 100644 GIT binary patch delta 119 zcmZqTnaabvoR^o20SFS-D5OS%B4-&$h(QzBizL*COp3=TOpt*KPxr4q&OzOI5RIXJ|!zA rFSQ)ZPRUBlOV5Xhm!~E{7|HoXsWG{k=|zbpnfZCeF`K1Welr39iLoS0 diff --git a/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-311.pyc index 5fffb863ce08646aee7467e7e4593e511831e095..30603413a1aaab8905007f6ac92bd4d20959930d 100644 GIT binary patch delta 120 zcmcb@{+yj}IWI340}v#vQAqp4xRFnZDY{NSv^ce>SU&srxGNQm#CYPm6(^Fub-D%4(3C-V0L+G5=2pQeo?A^Zf1H>Vo7FxUa|h>3Z@uF E0LU;aVgLXD delta 101 zcmaFPeubTHIWI340}$-ul}qDe+Q_HG2pPL-MZ;(V5%oPH8dX~98FZ*3bObA*N`~MqRLJ}m zVgYl@Yc`k@H3L87x)%`YhMTqFUirxlg|lzK93YA+3PBZ2l!j7KF{0YVO#~D5SUZI1 zk6CLD$mg-3M*f`X{Kdgj~&A;<&;L13$ zAj2FtpQWimo@Nj>eWw;M%IBAsmhah)8&PK0I$;!el(kt zRi3FgsY^BsSGZxzdu*Fqwhis+K#VpYv+Xw>#}#)AiO@Fn3H57D8Zyyoo_kKc;4NJj zZn&{Rh~${48n@P=2+fB7gm$@3T8`fcI3`tY$Y5X)cy@JVYjtI<%&nkJhr{s|oxx#r z{;9MRQWlmV&8QZ5rL~~e@u(k#rA;St+^#VA&fUas$)~$g9*UCRrPXAUXh!K`{7TT4 zWt+*sFZCrYzdd5o>K5BwCgw|m7@qJWz~1PIb!6U;ReVF=dm3BFoc&<+jNARG#s0OK zIHQ`@DFPS>hz(@k66Try)I6B`lMDNIdXo!Z^53_Ay!iRDSKjHBU-ioM7$H~L!0@^L z2%kzENQ|?Za0oCE5a+B(eebb&*jyT8LFZ;tk0Pncb|rn89x02-e^^W#!fvK#*{tBC zt9jtgjR(n0JY;zg6vAXXJcfy9-<30l1T_R-u)`o{W%qQ~em>|4Ew{HZVu{$rIf F`~llYN2&k- literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc index 60678bdb565119d224ac7cf31e3571f18ce0a303..d4ff1e3620228f9a45aed2ba6c3600ef80927b8b 100644 GIT binary patch delta 114 zcmdnbc!`mFIWI340}v#vQJBbW8l9>iTAW%`te;<;S(2QetM8JZT$-DjS5mC+mspaR yQwfsDOVmxtO3X{o*Uw8W2lJs^FuOc838E-DzbI8dH#5B`u_QA;uULO#hdBVNcPU{2 delta 95 zcmcb_xSx@GIWI340}$-um7BJj8(6%(Fcl&ug@l%JKFTv8m9U!0kj7@v|Alb2c! lW~XE&=B4LD#LH8YAdKYvqSTn&%=DtflFamiUBBB5Q diff --git a/osinaweb/osinacore/models.py b/osinaweb/osinacore/models.py index 71012844..27eb71cf 100644 --- a/osinaweb/osinacore/models.py +++ b/osinaweb/osinacore/models.py @@ -34,6 +34,34 @@ class BusinessType(models.Model): return self.name + + +class CustomerProfile(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE, blank=True) + mobile_number = models.CharField(max_length=50, blank=True) + personal_website = models.URLField(null=True, blank=True) + STATUS_CHOICES = ( + ('Active', 'Active'), + ('Suspended', 'Suspended'), + ('Terminated', 'Terminated'), + ) + status = models.CharField(max_length=200, choices=STATUS_CHOICES, default='Active', blank=True) + reference = models.ForeignKey(Reference, on_delete=models.CASCADE, null=True, blank=True) + customer_id = models.CharField(max_length=20, null=True, blank=True) + def __str__(self): + return self.user.username + def save(self, *args, **kwargs): + if not self.customer_id: + # Get the last two digits of the current year + current_year = str(datetime.now().year)[-2:] + # Find the maximum project ID in the database and increment it + max_id = CustomerProfile.objects.aggregate(models.Max('customer_id'))['customer_id__max'] + new_id = str(int(max_id[-4:]) + 1).zfill(4) if max_id else '0001' # If no existing records, start with '0001' + self.customer_id = current_year + new_id # Add 'p' prefix + super(CustomerProfile, self).save(*args, **kwargs) + + + class Business(models.Model): name = models.CharField(max_length=50) email = models.EmailField(unique=True) @@ -42,6 +70,7 @@ class Business(models.Model): commercial_registration = models.CharField(max_length=50) phone_number = models.CharField(max_length=50) website = models.URLField(null=True) + customer = models.ForeignKey(CustomerProfile, on_delete=models.CASCADE, null=True, blank=True) type = models.ForeignKey(BusinessType, on_delete=models.CASCADE, null=True, blank=True) logo = models.ImageField() business_id = models.CharField(max_length=20, null=True, blank=True) @@ -61,35 +90,6 @@ class Business(models.Model): self.business_id = 'B' + current_year + new_id # Add 'p' prefix super(Business, self).save(*args, **kwargs) - - - - -class CustomerProfile(models.Model): - user = models.OneToOneField(User, on_delete=models.CASCADE, blank=True) - mobile_number = models.CharField(max_length=50, blank=True) - personal_website = models.URLField(null=True, blank=True) - STATUS_CHOICES = ( - ('Active', 'Active'), - ('Suspended', 'Suspended'), - ('Terminated', 'Terminated'), - ) - status = models.CharField(max_length=200, choices=STATUS_CHOICES, default='Active', blank=True) - reference = models.ForeignKey(Reference, on_delete=models.CASCADE, null=True, blank=True) - business = models.ForeignKey(Business, on_delete=models.CASCADE, null=True, blank=True) - customer_id = models.CharField(max_length=20, null=True, blank=True) - def __str__(self): - return self.user.username - def save(self, *args, **kwargs): - if not self.customer_id: - # Get the last two digits of the current year - current_year = str(datetime.now().year)[-2:] - # Find the maximum project ID in the database and increment it - max_id = CustomerProfile.objects.aggregate(models.Max('customer_id'))['customer_id__max'] - new_id = str(int(max_id[-4:]) + 1).zfill(4) if max_id else '0001' # If no existing records, start with '0001' - self.customer_id = current_year + new_id # Add 'p' prefix - super(CustomerProfile, self).save(*args, **kwargs) - diff --git a/osinaweb/osinacore/templates/details_templates/customer-details.html b/osinaweb/osinacore/templates/details_templates/customer-details.html index fe1dedb3..bf2863a8 100644 --- a/osinaweb/osinacore/templates/details_templates/customer-details.html +++ b/osinaweb/osinacore/templates/details_templates/customer-details.html @@ -93,14 +93,14 @@
-
+
-

Businesses

+

Businesses

@@ -132,7 +132,7 @@ - {% for business in customer.businesses.all %} + {% for business in customer.business_set.all %}

{{ business.name }}

diff --git a/osinaweb/osinacore/templates/details_templates/project-details.html b/osinaweb/osinacore/templates/details_templates/project-details.html index 0c772f81..7affaddb 100644 --- a/osinaweb/osinacore/templates/details_templates/project-details.html +++ b/osinaweb/osinacore/templates/details_templates/project-details.html @@ -77,13 +77,13 @@ Project
-
+

Client: {{project.customer.user.first_name}} @@ -155,17 +155,36 @@

+ +
+

Tags:

+
+ + + + + +
+
+ +
+ class=" bg-gray-200 rounded-t-md flex justify-between items-center text-white text-xl font-bold h-[50px]">
-

User Stories

+

User Stories

@@ -250,13 +269,13 @@
+ class=" bg-gray-200 rounded-t-md flex justify-between items-center text-white text-xl font-bold h-[50px]">
-

Credentials

+

Credentials

@@ -318,13 +337,13 @@
+ class=" bg-gray-200 rounded-t-md flex justify-between items-center text-white text-xl font-bold h-[50px]">
-

Related files

+

Related files

@@ -382,118 +401,53 @@
-
-
-
-

Notes

-
- - +
+
+

Notes

- - - - - - - - - - - - - - - - {% for note in project_notes %} - - - - - - - - - - {% endfor %} - - {% if project_notes.count == 0 %} - - - - {% endif %} - -
- Note - - Date - - Added By - - Actions -
-

{{ note.text }}

-
-

{{ note.date }}

-
-

{{ note.user.username }}

-
-
- - -
-
- No Available Notes -
-
-
- - - -
-

Tags:

-
+ class="h-full rounded-tr-md px-4 bg-secondosiblue text-gray-200 text-[18px] outline-none border-none cursor-pointer flex justify-center items-center addProjectNoteButton" + data-modal-url="{% url 'addprojectnotemodal' project.project_id %}"> + + +
- +
+ {% for note in project_notes %} +
+
+

{{ note.date|date:"F j, Y" }}

+ +
+
+

+ {{ note.text }} +

+
+
- + {% endfor %}
- -
-
-

Filter Tasks by Epics

+
+
+

Filter Tasks by Epics

|

@@ -510,7 +464,7 @@ -
+
diff --git a/osinaweb/osinacore/templates/details_templates/task-details.html b/osinaweb/osinacore/templates/details_templates/task-details.html index 6819ef35..8703e4a5 100644 --- a/osinaweb/osinacore/templates/details_templates/task-details.html +++ b/osinaweb/osinacore/templates/details_templates/task-details.html @@ -5,17 +5,23 @@
-
+

{{task.name}}

-
+
- - - - -

Total Time: {{ task.total_task_time.0 }}{% if task.total_task_time.0 == 1 %}hr{% else %}hrs{% endif %} {{ task.total_task_time.1 }}{% if task.total_task_time.1 == 1 %}min{% else %}mins{% endif %} {{ task.total_task_time.2 }}{% if task.total_task_time.2 == 1 %}sec{% else %}secs{% endif %}

+ + + + +

Total Time: {{ task.total_task_time.0 }} + {% if task.total_task_time.0 == 1 %}hr{% else %}hrs{% endif %} {{ task.total_task_time.1 }} + {% if task.total_task_time.1 == 1 %}min{% else %}mins{% endif %} {{ task.total_task_time.2 }} + {% if task.total_task_time.2 == 1 %}sec{% else %}secs{% endif %}

@@ -33,7 +39,7 @@
-
+

Description:

+ +
+

Tags:

+
+ + + + + +
+
+
+ class=" bg-gray-200 rounded-t-md flex justify-between items-center text-white text-xl font-bold h-[50px]">
-

Points

+

Points

-
- {% if points %} - {% for point in points %} - - -
+
+
+ {% if point.status == 'Completed' %} +

{{point.text}}

+ {% else %} +

{{point.text}}

+ {% endif %} +
+
+ {% if point.status == 'Not Completed' or point.status == 'Paused' and not point.status == 'Completed' %} + + + + {% endif %} - -
-

Tags:

-
- + {% if point.status == 'Working On' and not point.status == 'Completed' %} + + + + {% endif %} - + {% if not point.status == 'Completed' and not point.status == 'Paused' %} + + + + {% endif %} - + + {% if point.status == 'Completed' %} + + {% endif %} + + {% if not point.status == 'Completed' %} +
+ {% csrf_token %} + +
+ {% endif %} +
+
+ +
+
+

Total Time: + + {{ point.total_activity_time.0 }} hours, + {{ point.total_activity_time.1 }} minutes, + {{ point.total_activity_time.2 }} seconds + +

+
+ +
+ {% if point.status == 'Completed' %} +

Completed

+ {% elif point.status == 'Working On' %} +

Working On

+ {% elif point.status == 'Paused' %} +

Paused

+ {% else %} +

Created

+ {% endif %} +
+
+
+ {% endfor %} + {% else %} +
+

No Available Points

+
+ {% endif %}
+
diff --git a/osinaweb/osinacore/templates/epic-fetched-tasks.html b/osinaweb/osinacore/templates/epic-fetched-tasks.html index 99c4ef6a..b3d65336 100644 --- a/osinaweb/osinacore/templates/epic-fetched-tasks.html +++ b/osinaweb/osinacore/templates/epic-fetched-tasks.html @@ -19,235 +19,53 @@
- - -