From ab23b021f8b768bb4847ed83d915c5445aef4cb9 Mon Sep 17 00:00:00 2001 From: emile Date: Tue, 19 Mar 2024 22:27:28 +0200 Subject: [PATCH] ss --- .../__pycache__/__init__.cpython-310.pyc | Bin 194 -> 194 bytes .../__pycache__/admin.cpython-310.pyc | Bin 400 -> 400 bytes .../__pycache__/apps.cpython-310.pyc | Bin 483 -> 483 bytes .../__pycache__/models.cpython-310.pyc | Bin 1941 -> 1941 bytes .../__pycache__/0001_initial.cpython-310.pyc | Bin 700 -> 700 bytes .../0002_country_addressbook.cpython-310.pyc | Bin 1161 -> 1161 bytes .../__pycache__/0003_contact.cpython-310.pyc | Bin 1005 -> 1005 bytes .../0004_socialmedia.cpython-310.pyc | Bin 925 -> 925 bytes ...05_socialmedia_addressbook.cpython-310.pyc | Bin 764 -> 764 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 205 -> 205 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 190 -> 190 bytes .../billing/__pycache__/admin.cpython-310.pyc | Bin 453 -> 453 bytes .../billing/__pycache__/apps.cpython-310.pyc | Bin 471 -> 471 bytes .../__pycache__/models.cpython-310.pyc | Bin 3362 -> 3362 bytes .../billing/__pycache__/urls.cpython-310.pyc | Bin 563 -> 563 bytes .../billing/__pycache__/views.cpython-310.pyc | Bin 974 -> 974 bytes .../__pycache__/0001_initial.cpython-310.pyc | Bin 1328 -> 1328 bytes ...vice_cancelled_at_and_more.cpython-310.pyc | Bin 824 -> 824 bytes ...003_payment_servicepayment.cpython-310.pyc | Bin 1169 -> 1169 bytes ...rename_payment_paymenttype.cpython-310.pyc | Bin 592 -> 592 bytes ...05_service_recurring_cycle.cpython-310.pyc | Bin 779 -> 779 bytes ...ervice_created_at_and_more.cpython-310.pyc | Bin 788 -> 788 bytes ...er_service_recurring_cycle.cpython-310.pyc | Bin 830 -> 830 bytes .../0008_alter_service_type.cpython-310.pyc | Bin 829 -> 829 bytes ...cepayment_service_and_more.cpython-310.pyc | Bin 1172 -> 1172 bytes .../0010_charge_amount.cpython-310.pyc | Bin 712 -> 712 bytes .../__pycache__/0011_invoice.cpython-310.pyc | Bin 905 -> 905 bytes ...nt_charge_receipt_and_more.cpython-310.pyc | Bin 1040 -> 1040 bytes ...alter_invoice_date_created.cpython-310.pyc | Bin 661 -> 661 bytes ...014_servicepayment_comment.cpython-310.pyc | Bin 660 -> 660 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 201 -> 201 bytes osinaweb/db.sqlite3 | Bin 901120 -> 901120 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 192 -> 192 bytes .../__pycache__/admin.cpython-310.pyc | Bin 1412 -> 1412 bytes .../__pycache__/apps.cpython-310.pyc | Bin 477 -> 477 bytes .../custom_context.cpython-310.pyc | Bin 2434 -> 2434 bytes .../__pycache__/forms.cpython-310.pyc | Bin 692 -> 692 bytes .../__pycache__/models.cpython-310.pyc | Bin 10816 -> 10796 bytes .../__pycache__/urls.cpython-310.pyc | Bin 8272 -> 8272 bytes .../__pycache__/views.cpython-310.pyc | Bin 34844 -> 34913 bytes .../migrations/0059_alter_task_requirement.py | 19 +++++++++ .../__pycache__/0001_initial.cpython-310.pyc | Bin 2058 -> 2058 bytes ...ions_staffprofile_and_more.cpython-310.pyc | Bin 2180 -> 2180 bytes .../0003_milestone.cpython-310.pyc | Bin 1028 -> 1028 bytes .../__pycache__/0004_epic.cpython-310.pyc | Bin 971 -> 971 bytes .../0005_staffprofile_image.cpython-310.pyc | Bin 641 -> 641 bytes .../__pycache__/0006_note.cpython-310.pyc | Bin 1129 -> 1129 bytes ...ct_id_alter_project_status.cpython-310.pyc | Bin 824 -> 824 bytes ...8_alter_project_project_id.cpython-310.pyc | Bin 696 -> 696 bytes ...9_alter_project_project_id.cpython-310.pyc | Bin 681 -> 681 bytes .../0010_remove_note_date.cpython-310.pyc | Bin 576 -> 576 bytes ...r_alter_note_text_and_more.cpython-310.pyc | Bin 1187 -> 1187 bytes .../0012_projectrequirement.cpython-310.pyc | Bin 950 -> 950 bytes .../0013_projectfile.cpython-310.pyc | Bin 976 -> 976 bytes ...014_alter_projectfile_file.cpython-310.pyc | Bin 652 -> 652 bytes .../0015_projectcredentials.cpython-310.pyc | Bin 980 -> 980 bytes ...dentials_projectcredential.cpython-310.pyc | Bin 626 -> 626 bytes ...e_alter_project_start_date.cpython-310.pyc | Bin 747 -> 747 bytes .../0018_epic_status.cpython-310.pyc | Bin 716 -> 716 bytes ...date_alter_epic_start_date.cpython-310.pyc | Bin 706 -> 706 bytes .../__pycache__/0020_task.cpython-310.pyc | Bin 1203 -> 1203 bytes ...rprofile_business_and_more.cpython-310.pyc | Bin 1552 -> 1552 bytes ...ustomerprofile_customer_id.cpython-310.pyc | Bin 706 -> 706 bytes .../0023_task_assigned_to.cpython-310.pyc | Bin 769 -> 769 bytes .../0024_task_task_id.cpython-310.pyc | Bin 653 -> 653 bytes .../__pycache__/0025_status.cpython-310.pyc | Bin 1035 -> 1035 bytes ...e_status_user_status_staff.cpython-310.pyc | Bin 838 -> 838 bytes .../0027_alter_status_staff.cpython-310.pyc | Bin 798 -> 798 bytes ...8_remove_projecttype_color.cpython-310.pyc | Bin 586 -> 586 bytes .../0029_alter_reference_date.cpython-310.pyc | Bin 655 -> 655 bytes .../__pycache__/0030_tag.cpython-310.pyc | Bin 721 -> 721 bytes ...1_alter_staffprofile_image.cpython-310.pyc | Bin 657 -> 657 bytes .../__pycache__/0032_point.cpython-310.pyc | Bin 1015 -> 1015 bytes ...nt_date_workingon_and_more.cpython-310.pyc | Bin 829 -> 829 bytes ...nt_date_completed_and_more.cpython-310.pyc | Bin 876 -> 876 bytes .../0035_business_business_id.cpython-310.pyc | Bin 688 -> 688 bytes ...lter_staffprofile_position.cpython-310.pyc | Bin 878 -> 878 bytes ...move_staffprofile_position.cpython-310.pyc | Bin 617 -> 617 bytes ...taffprofile_staff_position.cpython-310.pyc | Bin 793 -> 793 bytes ...taffprofile_staff_position.cpython-310.pyc | Bin 809 -> 809 bytes ...0040_staffprofile_staff_id.cpython-310.pyc | Bin 688 -> 688 bytes .../0041_dailyreport.cpython-310.pyc | Bin 1012 -> 1012 bytes ...omerprofile_email_and_more.cpython-310.pyc | Bin 783 -> 783 bytes .../0043_businesstype.cpython-310.pyc | Bin 756 -> 756 bytes ...ove_business_business_type.cpython-310.pyc | Bin 590 -> 590 bytes .../0045_business_type.cpython-310.pyc | Bin 774 -> 774 bytes .../0046_task_requirement.cpython-310.pyc | Bin 770 -> 770 bytes .../0047_task_status_date.cpython-310.pyc | Bin 713 -> 713 bytes ...r_customerprofile_business.cpython-310.pyc | Bin 822 -> 822 bytes ...r_customerprofile_business.cpython-310.pyc | Bin 801 -> 801 bytes ...by_projectrequirement_date.cpython-310.pyc | Bin 965 -> 965 bytes ...051_alter_task_requirement.cpython-310.pyc | Bin 808 -> 808 bytes .../0052_note_project.cpython-310.pyc | Bin 760 -> 760 bytes .../0053_pointactivity.cpython-310.pyc | Bin 903 -> 903 bytes ...nt_date_completed_and_more.cpython-310.pyc | Bin 704 -> 704 bytes .../0055_alter_point_status.cpython-310.pyc | Bin 763 -> 763 bytes ...ter_pointactivity_end_time.cpython-310.pyc | Bin 668 -> 668 bytes ...otal_time_minutes_and_more.cpython-310.pyc | Bin 805 -> 805 bytes ..._total_time_hours_and_more.cpython-310.pyc | Bin 723 -> 723 bytes ...059_alter_task_requirement.cpython-310.pyc | Bin 0 -> 804 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 203 -> 203 bytes osinaweb/osinacore/models.py | 3 +- osinaweb/osinacore/views.py | 38 ++++++++++++------ .../__pycache__/__init__.cpython-310.pyc | Bin 191 -> 191 bytes .../__pycache__/settings.cpython-310.pyc | Bin 2668 -> 2668 bytes .../osinaweb/__pycache__/urls.cpython-310.pyc | Bin 1207 -> 1207 bytes .../osinaweb/__pycache__/wsgi.cpython-310.pyc | Bin 596 -> 596 bytes .../templates/listing_pages/projects.html | 2 +- 108 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 osinaweb/osinacore/migrations/0059_alter_task_requirement.py create mode 100644 osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-310.pyc diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc index 69a70c7cf4c2b1b43e4e915ceb884044cab2ec2b..805b5991582cd0d4d75f5f0742253c2d3c297d0f 100644 GIT binary patch delta 19 ZcmX@ac!-fZpO=@50SGcb{+!6Y9RM+Q1c delta 19 ZcmX@ac!-fZpO=@50SH7M-dAx)-RY`*zPnK`LNiV!YqKt_IE zYLOCz#}S^9SW=u=P*9{i`4dYrqtxUuR%1zdpriy47lVxDU|?b7W8+~IVJwoL9LORv zc^hkKxDG@+r)OSqNn(0YVs4QxM1(P-NDsnd3(3qb$_!egMjl2n#v<*>I_$b^AU^<^@$6;*_f|g+ delta 297 zcmbQrKb4<5pO=@50SJ!1ys?pcBQs;v=Do~pjQa9GAx)-RY`*zPnK`LN3J@-9Kt_IE zYLOy@#}S^9SW=u=P*9{a`4dYrqvYf;R%1yypriy47lVxDU|?b7W8+~IVJwoH9LORv zc^hkKxHd#Pr)OSqNn(0YVs4QRM1(P-NEgCl3(3qb$? delta 20 acmdnPx`&lJpO=@50SNv*xv`OZBNG5Rg9b_f diff --git a/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-310.pyc index 5f38c0b2dda006630fc11275966b3a042f0d4e99..b618cb371dc89f9c84f84e773a897a06b1abf9db 100644 GIT binary patch delta 20 acmeC=?BwLm=jG*M0D{bqKR0sMu>b%s{RLD2 delta 20 acmeC=?BwLm=jG*M0D>#eZfxYPV*vm%0|k=+ diff --git a/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc index 61b72f78180dc2eed05b2f0977bcef40552e6671..c53c506a50aa304f39287f856e2d3b186df35488 100644 GIT binary patch delta 126 zcmaFM{+69PpO=@50SGcb{@lnd$;fzXvMOVVK0i=Ilj#Ai!WdB` z0AaC(WM-G-XBP=VxEwy2dD*EcnR!J*5CQhc{L+%rq|_qe$rl(c_{4ysw^(w3iZmIE wBqxh8O=MF83KgkMUdwb$3&I5RL4-O;F^5fVeoARhsvRScSIhz=1enB_0VYB!$p8QV delta 181 zcmbQsK9`+4pO=@50SMY(+}Oy?!N_=PvIt|oFF#O3lj# z5W->$$;>Xv&n^;za5;Q3^RiP@GV_XrAp-1?`K2YLNvTC5lP@q@@QDLOZ?WV66=^aS xNlg}Gn#iUO6e?1myq4*h7K91rg9r_fVh)?!{FKt1R69l>ub2f$2r!8;0|0W`D@y*xyZ$Gg~0Qp4{lbO diff --git a/osinaweb/billing/__pycache__/__init__.cpython-310.pyc b/osinaweb/billing/__pycache__/__init__.cpython-310.pyc index 77224f8f159e9b67b0671dad07057c6a1db3813f..176e34362093fd691e17bfb8cac3fce66df122b5 100644 GIT binary patch delta 19 ZcmdnTxQ~%LpO=@50SGcb{+!6Y82~Wi1-}3Q delta 19 ZcmdnTxQ~%LpO=@50SIDV-I&O|82~Ts1&ROw diff --git a/osinaweb/billing/__pycache__/admin.cpython-310.pyc b/osinaweb/billing/__pycache__/admin.cpython-310.pyc index a9eff35c33357ee3e3640eccf50868a93ecc2550..247709268cbf30987d72df1c85a4844a4f58ed97 100644 GIT binary patch delta 20 acmX@ge3Y3xpO=@50SGcb{@lpDixB`gf(7{i delta 20 acmX@ge3Y3xpO=@50SLZ2-`dE%ixB`frvB>%d delta 20 acmX@devX|xpO=@50SMOm-P*`~m>B>!>jj_y diff --git a/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-310.pyc index a74fa3692a8c62fd39dad9a8a0d6481f362c5783..5a9a6f2e102f7a18ca6c6bd04a3ae443a014e939 100644 GIT binary patch delta 109 zcmdnMwSkK}pO=@50SGcb{@lntfsygn<~fY%jND>Cp(1$@p)i?``7fI(h-o@mkmaSB l0f@;0=A#m3K<+ILo80`A(wtN~Mj)@44M+$uaWIN80{~MG6{i3I delta 109 zcmdnMwSkK}pO=@50SHpx-`L1Kfsrw4^Bl%>Ms87{P>~#nke|%Q{FluH#59>K$nw%m kAH-w<^HB*?AomuBO>TZlX-=vgBam0j1|$TSI2gs40TzlB_5c6? diff --git a/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-310.pyc index d645e8331901fbcdad37bd34b266d3a3c602a6fa..e815ab91e0f0228b767171c87c8386302ae17a9b 100644 GIT binary patch delta 64 zcmdnNwu6m3pO=@50SGcb{@lo|z{q%OvJPVeBiH0s#tt?qpm>qgWMQV?0uUyc4qwWMQV?0uUyc4j}a`FPEqii}L srq1MS<_~6SASMf#k4oqQxwklMa`RJ4b5iXXfxKciAR)lS!6?QI0638t8vpa)E_ApO=@50SGcb{@lpz$^-y8Uj>~2 delta 20 acmcb>a)E_ApO=@50SM-QzOj+pl?ebkKn1h_ diff --git a/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-310.pyc index 984b44d84b107eec8e3accc0e773caef066dab50..cbe08bf5d77ce1394111b642336b62c7227435db 100644 GIT binary patch delta 67 zcmeBX>t^H5=jG*M0D{bqKPPhEWsKVRl9Q255-3n4Ir#_UT`3U|lLgF2C8Q?5XOaN` DEw2v{ delta 67 zcmeBX>t^H5=jG*M0D{CXHzso5WxTcVB_|`B6i}c@YVr@pyHcVcCJUI4N=Q$B&m;o? DJ_iqR diff --git a/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-310.pyc index 20ba2f546350a650a56d002be7df6a18ce2dbcf9..a8c41512ea538da75f1b1e708420e8ec87a3e782 100644 GIT binary patch delta 59 zcmbQjHieBlpO=@50SGcb{@lo&&Bz!vxtuYFO%y0nB)a(}BO{{#gbfw|5n_{nF-ZXc DmbMJV delta 59 zcmbQjHieBlpO=@50SI<{xv`Nuo00L>B*{0kIlqDOcpR7m5>2)Z*kb< X=BJeAq}nk8dBto%LV$^bQH&V?@4XUp delta 91 zcmdnTwvUZFpO=@50SK;rxiOLZK4a9z*Cvc?Qb2(ssmZELkIh6uOcpR7m5>H E08yU|RR910 diff --git a/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-310.pyc index 22e9a6517b75379377529593ee7dbe6e2aeaa182..3af4c381f908c1e8b216ee35d7178a24ba005dd6 100644 GIT binary patch delta 57 zcmX@XdV-ZZpO=@50SGcb{+!5thVjiOCNb_X$9lU_OYDoV<=n3INKw B4p{&I delta 57 zcmX@XdV-ZZpO=@50SMmxx-pUa3}e*B8%&IB;y{5S@yQPu_X$9lU_OYDn7ocj3INK) B4nP0^ diff --git a/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc index b6394d837c454f888d30d82b3a9e9d7aa5b01f60..738737f2eda0c062eb4ede34198df925c613dace 100644 GIT binary patch delta 20 acmeBV?_}rB=jG*M0D{bqKR0sMF#`ZEv;|K9 delta 20 ZcmeBV?_}rB=jG*M00JJTTN}CSm;oqs1S9|e diff --git a/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-310.pyc index 0c265f01ee28d900779e83177be7f8a0ddd7a669..013c4d4d6d9aebbdd167c942245e7f63dd418480 100644 GIT binary patch delta 20 acmbQhF@b|SpO=@50SGcb{@lpT$^rl{@dW1p delta 20 acmbQhF@b|SpO=@50SK&}Z*AmeWdQ&x00Zm* diff --git a/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-310.pyc index 0bb1bd71ca2fe32da9bd9cb83fee38084cd9b22d..d3465decebcef9fb12e44f52f16c5a510d25b16f 100644 GIT binary patch delta 56 zcmbQrI+c|>pO=@50SGcb{+!5tgz?tI3#ZtGf&3!j$qN`y3qY7)K8O&RT+Ji}0JrN7 A1^@s6 delta 56 zcmbQrI+c|>pO=@50SJ0rZcXGq!WcF2!YMW(Aiqdx@&d-w0uUyc40J)70 A7XSbN delta 56 zcmbQjI)#-xpO=@50SK14-kQjLiZN>9wc~6eKz@gVx delta 19 ZcmX@fc#@GjpO=@50SIDV-I&O|4*)TQ1*-r6 diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index d3293544bcdbe67ffc1a2f78a19d1c0f605426fd..51adef77cac38957a12ead6a336ff0edaf51d0bd 100644 GIT binary patch delta 439 zcmZo@FmGrupCHZnZ=#Gd>pup)aIcLiv-KHEHW{!KFvl`Yn9RPQlZk1<<_Qb_F{-LC z`!W_JSLT!#737(lXJ%TY7NukwRh4E}mo*fU*=erebd=L zFz#ez*{aC=mwEc#FO2*GMg~@frdB4VdS-@}#^#ps?Lbi=W&&d7?RUSh2*vOtDX}my zF=+o6zzW1{K+F!r9NYf|aI&43;9^lcGI#bdEXm7r ziZl)lD0OvB%dyA~G%_$U(KP@fBLyVKg8b8dPL&IYxwoHFn{eqtP2}cX6rK+Z!%yhV2)whI+=Yz=jKTZ{xME2Fi@X7 zVG&F7&PCgIE@JfdWsYIFJDvRl zrbbpK=6aR}7M2!f?f(K;ftU@5*@2j2`@aBAw)0|~tmhcGE4acqO*n+uKJeY+-NQ4B z^&HUPEv)V5RJnkdd;2+69v*;wTE}ZA2mo}wQY-)f diff --git a/osinaweb/osinacore/__pycache__/__init__.cpython-310.pyc b/osinaweb/osinacore/__pycache__/__init__.cpython-310.pyc index f8ba56ad28d66b2adc20b01f4e5300be3be1cca3..f3d348cde3ef8fa146b880da9a5b4cef9a5a7150 100644 GIT binary patch delta 19 ZcmX@Wcz}^RpO=@50SGcb{+!6Y6#y|T1;qdW delta 19 ZcmX@Wcz}^RpO=@50SGokPMyfT6#yS`QUzE5 delta 20 acmZn?ZW89s=jG*M0D|L(S8e1j=L7&SMFlwk diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc index 57600999845bd18b1fbd21c115bc36b2815f6cce..59e8a7539263c76b055ed02fe2f8bd5bdb495351 100644 GIT binary patch delta 20 acmdnOx`mZHpO=@50SGcb{@lpDk_iAdBL&L< delta 20 acmdnOx`mZHpO=@50SLY&Ox?)6k_iAbqy=LD diff --git a/osinaweb/osinacore/__pycache__/models.cpython-310.pyc b/osinaweb/osinacore/__pycache__/models.cpython-310.pyc index be7a271de5841d9399c6d3034076bca5f1f58f84..492cc0dee5c924c373580a3990d272ce858329a2 100644 GIT binary patch delta 300 zcmX>QvL=KtpO=@50SHcg{F(Z}Xd_>eEaQX8g|gQ5DXdXEsmxg{DQu}cDaoUfQT`H^CP*kqvVi>3pKDDI-v!qUv5)ZEm(lF4RD=CVpaQ4R(kMj;?%VH9BH zW8`7v0Ai4c$mSj;3uZ>9$wyTeGX9vHu6Bn}WwVPqA0wmAp{#X%DsvWFDi4t4NMQy-)?St<-W0Yd zKA;Fo3VSLaP>iFOIf@_17f2P%5=!ChWsDLA@1gh5P&g7WNhC#KL26IrlANVq>Du8BGJJMplMDQ?>a1;?@qgWfGfX3qN{iS zS|sF#hIdHCV<1t|AZGT*oUfSM`F8$y?k?{x+j$VQ?%^kX|M}Mb+-kt~ODk$Lp!(jP zqx{)^iE`TcfETx&zj(2|374&7Xs_0BA@g^9p%pYy(TRF*Pg$i zaOK5%U2x2BRVtBjrK~P{Sf7lj$bcmxUB{9axx{7;vD%oB@J#l}tYd0sT;r8OCv)J; zG!BP5)n%0fia#Vr6A+zssp3`6k`zKpL1S`yl}*PROP3<`bU;?MHm&cFDE7*DrbUwa zko~e?G{C()U9v55k!hExr{3ltE%A<~7A;mApEg8=r#LF-V-mWqXp|0*D7K$zjrWO5 zzT}c;3vV0{)XBB;jq1LRoeuVQ!r}g|p{xIsslFb~H!x&8<=FC~#5GvqHn;&f>}&Hm z9kyAl>A*3+DVFveHEXwz>TmXHHhm3|k5C)(xb9z@z8uj?j7dBsF(EM}afG6}oju<` zhclsfyZ*pvW}EGiN`k;p-?dYHx6m@Trc3D6qnW*j$RKZRS!fu(*&F+4&@=$w3;O1? z|1$EJYJNiEDTxyjrzl{2&2?-Sk;Q4Ev|C50e$27Du6O`i z5K6-nP+vtc60g7`AZGR_I4)*)zWJa1e06qp*3QGQbq&AYui$(8bE^T{FRfmq0o9N8 z4CSx(3zU=K9U49bf6=i07%f}J&|ak_M+f9p8`H)P3B_3%&$LKV zpR!*Tj25_8r$fF)E;8*3b=B+qy+wSW=|zjx#+Qvy;VG`l#h8L_Dq5w3k0`g_X$|ia zF8Pv6o-Mp{NT5zGTx_o%>#&o-J|`U9-wkyBe>2tBo3jlJ8BaNmyeN?dD`bOPkb`}1 zzNUk173(^1m}iPbyACz9+lT6J_HsIzL(gZZEqPRruWi5jHhs2{$Ha>}B<_;9N8*IU zDGCTU6MDz>8%8s1wpVHiLWBCLo$9BBma&>Cp-!MwWxAu`zR(V%H`d@tym z+y2YQIkkJA!~+r!NjyRUqYJKMOGFl@iPDaaFeF2Y{H%V?qRC?lctQb@pCT3+;~${< RGkbn;N#@J#{MPO3{{WI&&2|6) diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index da66c5d1c7f3a234fbc47aff5d91eae414088fbb..1aeb19b986c090e1c19134242e6772661ce44b99 100644 GIT binary patch delta 9931 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 diff --git a/osinaweb/osinacore/migrations/0059_alter_task_requirement.py b/osinaweb/osinacore/migrations/0059_alter_task_requirement.py new file mode 100644 index 00000000..210df25a --- /dev/null +++ b/osinaweb/osinacore/migrations/0059_alter_task_requirement.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.5 on 2024-03-19 20:13 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('osinacore', '0058_remove_point_total_time_hours_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='task', + name='requirement', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='osinacore.projectrequirement'), + ), + ] diff --git a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc index 55f574f13ab7977e30f9c80116acacc2c92d6fa0..74ed2526f0ee287b8ab3ee88bf99fffe6e646097 100644 GIT binary patch delta 20 acmeAY=n~-0=jG*M0D{bqKR0s!X9oZ>Bn9XI delta 20 acmeAY=n~-0=jG*M0D=vXQ#W$|X9oZ-kp(jV diff --git a/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-310.pyc index a96b7557f69c9b5c3e63d4b2d690555b49dd1c07..8d88f7f686adf6003a7af1eda8e415f5d25cbf07 100644 GIT binary patch delta 20 acmZn>Y!T$n=jG*M0D{bqKR0q$asU7@Sp``D delta 20 acmZn>Y!T$n=jG*M0D=vXQ#W!~asU7<#ss7Q diff --git a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc index 4cb0dce52eea6476e6b49192103c3e86bff7558c..9c5a42533b28c4f0577fe4c4d82556a652c8ba92 100644 GIT binary patch delta 69 zcmZqSXyM?_=jG*M0D{bqKR0qKGcw-Vtk1ZQkxdgQRHQliGt+G;6%dmJ%ts}(Ccj{o F0RTA#4^IF9 delta 69 zcmZqSXyM?_=jG*M0D=vXQ#W!eGcrbP)@R(u$ff}lD$y{$x)U1prJ75+DEo delta 81 zcmaFK@sfi(pO=@50SGokPTk1u%gA_Zb0lLMBcsgZ2TY!9`ap>y{mJ^wI~mm{zhrik R(gF#vf<;jYgUOyO3IIG=5%d56 diff --git a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-310.pyc index e45bc000f29538037bfcb24fe36a9e52dd279d50..0b605bb6711a03505b4724980aa624eebdf96ee1 100644 GIT binary patch delta 20 acmdnNwu6m3pO=@50SGcb{@lo|%M1WD=mlB; delta 20 acmdnNwu6m3pO=@50SGokPTk0@%M1WARRpB~ diff --git a/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-310.pyc index 0dddbd71ff684b4a0914d898c845030757c20c4e..9bd9abc5d44cc962d729bfa98aaafae357fce287 100644 GIT binary patch delta 56 zcmdnNx`UNFpO=@50SGcb{+!5tj`7ySTaVeqf&3!z$%h$F3qY7)K8TQ*Jda5V0Mc6y A*8l(j delta 56 zcmdnNx`UNFpO=@50SGokPMyeojxlQDt;cL)Kz@oz`(#_vI3Lj#2?$(#DEe-Vw1Npo)&;G!F&)Q JKDnPs3IH+(5552Z delta 65 zcmZ3P_EJYwr5%*>Z zCN@Sk9S~b*vI_G*My1KhEN)inAOTjeC@P@~L88Jz0hMAEV-AWfnIpHIM)+SQM4e0dj9~*yQG?l;)(`F#>tTAnQ1oco+p3 IIT*#50YG9HTL1t6 diff --git a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-310.pyc index 4ee5f9416212b507717d0cb55e910b7caa55823e..1100d3baeee57c711a0f46feb669e0858b8d5832 100644 GIT binary patch delta 69 zcmdnSzKxwbpO=@50SGcb{@lpT%E%bCS&*@tkxdCGRHQU{5z{>>SrC&2%ts}ZC(mM* F0RR_P4fOy3 delta 69 zcmdnSzKxwbpO=@50SGokPTk1O%E)+Yvmj$PBbzc%s7QJ8BBpy%av&xPn2$=ROrFIo F0{{uT4aWcg diff --git a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc index 026590e179b73d3ab0b7279fcfe4fa8b049fe3c4..c741676c6f04a7d430aeff4d4ce59ff9b6736f93 100644 GIT binary patch delta 20 acmcb>eu14kpO=@50SGcb{@loYloeu14kpO=@50SGokPTk0Tlo13HV-6#mGEkyOdGa2nM^bViCJUI4 LN~lcU!7Kv+m_!fa delta 75 zcmcb@eubSopO=@50SGokPTk0@$jEqWvM!?x diff --git a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-310.pyc index f78ec3114113e78dbd4037b3028f7c53114f818f..cf17c467fe5129d2aafebd2fa22f8cfbd080ea70 100644 GIT binary patch delta 83 zcmeyw@`;5zpO=@50SGcb{+!6Yh4I$J0}?>u<|H-&pkR@}lS`a3f4+a}paLP_T$^av|e&EeI3L2NC>0;ueQZ VZhlH>PO2RvkXOtCBzTy_m;rtX5;3{A4G@&iCY{tx%nxj SIjMGxKwdEmkPu)JV+H^-N)fyO delta 78 zcmX@adWe-fpO=@50SGokPMyg8fbrJEHwW0nfczq{$(tCTX+fA^K8O$p61O;Pa`RJ4 Sb5iXXfxKcCAR)jc#tZ-?q!En( diff --git a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc index be04d5ae1558c4d2a50df9c0ecd47f6ce9dbc11c..c2b866f2114158fd9b22abbb597c60e43c1d3682 100644 GIT binary patch delta 20 acmdnYxtWtYpO=@50SGcb{@lpDf&~CJjRn#G delta 20 acmdnYxtWtYpO=@50SGokPTk18f&~CF`UM>T diff --git a/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc index ed7657b588fa6b8b469ceb07b5f8600b43ae3997..8720b7c711515c732883558b109c36c7f467bb6e 100644 GIT binary patch delta 215 zcmbQhGl7RYpO=@50SGcb{@lp@n~^bUGCNZfBj@BUCT%uOpm>qc6(&B>Dyp+_GA~}c%S4e76Zf0I$2~bELDD?6KNSwI{WXvu0WOk+|My|ZOkkq2w%)G=BppXJk=;aBJICBxmm|N`08TpyXsl`RY zARbF;acU7%s)z?DQp7uXBJ&eAQxMa1b2UpWqlFHL%?cJkCCq@_TO2mI`6;D2sdkJ& RUNHxd;9(MAfj=jG*M0D{bqKPPhEXN=nTnu(E35-3n4Ir%f=4KooClLgF2C8U7dTO2mI X`6;D2sdkJ&UNIYx5Mbh96k`Sey^<08 delta 91 zcmZofj=jG*M0D=vXQzvrYXS}uXH4`J76i}c@YVv2s8)l*)CJUI4N=O5_w>WHa X^HWN5QtcRlyka&WA;84JD8>u`tdSAT diff --git a/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-310.pyc index 7060965078797034c12c5acfaf8c97ff28d4cf76..525721d27748352c2ed2429c6ce4d885146babaf 100644 GIT binary patch delta 20 acmeBW?PcZ8=jG*M0D{bqKR0qWF#!ND3k6mH delta 20 acmeBW?PcZ8=jG*M0D=vXQ#W!qF#!N9cm$yU diff --git a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-310.pyc index 7e45c45c7512224d8b4138474ea9c212b184bf41..808bde2ce658eea087b237a7e611fec4183d6cc6 100644 GIT binary patch delta 74 zcmeC?=;q+g=jG*M0D{bqKR0r_Gcw+q9LzY8QDE{@#(!+uK=C5&$uF5+NvVODtYAJW Kp)>g{vm5}_RuTFD delta 74 zcmeC?=;q+g=jG*M0D=vXQ#W$EGcra^4rZLl$Upfh<3Bbnpm>qiKzY;qu`++; diff --git a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-310.pyc index 6fd8b1d4c55bbd182ae62624cebe3b39a635f8a2..0f6a7deae3f9a2e34c538077aa23cb9d911b207f 100644 GIT binary patch delta 20 acmX@ba*BmJpO=@50SGcb{@loI&jbKCZv~40 delta 20 acmX@ba*BmJpO=@50SGokPTk0D&jbK8+yvGD diff --git a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-310.pyc index 28c8fa752c698e0b8e9db1a89b360206e4e05971..6e0319aaadb8c35c80fea6ecf4cfe45b226a29f1 100644 GIT binary patch delta 78 zcmeBY?PulA=jG*M0D{bqKPPgZV!So++95VkAiqd-@;t`lS`a3f40&EeI3L2N9w`;ueQZZhlH> RPO2RvkXOtCBm|hmm;uz25Iz6^ diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc index dc38972551d2d75dedcf3434b3300557a88f5c0c..72cdd913a1b3449388234aae5fe74c15a13435ab 100644 GIT binary patch delta 84 zcmcb}dXbeopO=@50SGcb{+!7Dh%sv7yJ|+>$yto`Y?46HBFV|`8Fy$wm|#ALkOC67 YIBatBQ%ZAE?HGZ)Viq7Fz$C^D0Ka(?O8@`> delta 84 zcmcb}dXbeopO=@50SGokPMyg8i1F6Mch!u1ld~A>*`$D?MN*UBGw#rWFu{BfAq^yM YaoFVMr5)q96 delta 78 zcmbQpI+2w-pO=@50SGokPMyeojxlQDtvzgFKz@%cz#iKW?s62e_oLwSm+j~ xbAE0?PHIVNN|DgyyNq^>Vv}W<&ai0#Ws9^Xzhk;Ar3zxQfcdC|_T<~lG5|mH9a#VX delta 117 zcmey){+*pWpO=@50SGokPTj~Y&B%CbvO41gH9??=Cetsj@cg3e%)E33|GXk0u+S|| x=ltA)oYa!klp^8DcNy&%#V5-!ong}k$`)x)e#dlKN)5zh0rOD_oyoVEWdJE|9WMX? diff --git a/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-310.pyc index dea58dc42289f08c949569fb3f00d1bd6418108c..adba4c87701328de42fdfbd76e5b5c415474006c 100644 GIT binary patch delta 81 zcmdnXwwH}NpO=@50SGcb{@lnd!pL}QvI65PHc6mJk>q9pCT2!02pcQ_BBX%CEe@O9 V{FKt1R69l>ub2f$2r!8;0|4GN51#-4 delta 81 zcmdnXwwH}NpO=@50SGokPTj~Y!pImkS%L8tn*>m#NMf@96EmY0gbfw|5t2aS7Kcr4 UeoARhsvRScSIhz=1enB_0g#XmWB>pF diff --git a/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-310.pyc index 7c40f58b6cf46909f9901730a3b349af4f78ffd7..c7d3b3a43edc4e52d1869df66d56cd2228bd74e3 100644 GIT binary patch delta 118 zcmaFE_J)l+pO=@50SGcb{@lnN!^jvlIfKz#F^VrGu_QIVJijPAGcP?qFN&`uGdDFp zIX|}`C$%IsC2H~&#u7GBpuQr}$$m^;3{A4G@&iCY{tx%nxjIjMGxKwdEmkPu)J GV+H_F4IeQ8 delta 118 zcmaFE_J)l+pO=@50SGokPTj~I!^n7Rat5Qf;w`?E#FEtb^8BLg%)Ipcyjy%FnYpR) z$@#ejIjJS7DYqtHVJu;j1nMi2ob1Q+MGL|N^Ff3ZkhsNRlbfGXnv-hB2;>#B00{vm GF=ha(>>!i? diff --git a/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-310.pyc index 40f5ccc523f47b4e75cb9ca29dccc71e3941872f..fac1b12f79a4e724a2d5d8921cdecc0ea45a64af 100644 GIT binary patch delta 20 acmdnMx`CBDpO=@50SGcb{@lpDlnDSeg9X0; delta 20 acmdnMx`CBDpO=@50SGokPTk18lnDSa@C6D0 diff --git a/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-310.pyc index dcd5713d8cf866bea8d9f2b07bbd880b96f01e1b..e04e0bdad5bb080b4ea175c4950a311d71d1dc29 100644 GIT binary patch delta 20 acmaFI_KuA^pO=@50SGcb{@lo&%nSfNSOxq5 delta 20 acmaFI_KuA^pO=@50SGokPTk0z%nSfJ#RW$I diff --git a/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-310.pyc index 9f43e29e090c4a020a2eaf1f4ab18d6defd9e41b..b4668248f1c8bbebb3af6be8d48a11ada130940e 100644 GIT binary patch delta 56 zcmaFK@{)x+pO=@50SGcb{+!6Yh4I$J0~^@{fczqX$>oeE1RzW>A4CXF_Ggj;0L}jn A2><{9 delta 56 zcmaFK@{)x+pO=@50SGokPMyfTg)wU4fsJhZKzXPNd^D` CHx48K diff --git a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-310.pyc index 8333aea3e77d29e85c650a0506564a056bbc9174..cbd43b971680a1d833a29de3514e56dd9e507bec 100644 GIT binary patch delta 20 acmZ3;3{A4G@)iCY{tx%nxj SIjMGxKwdEmkPu)JV+H^uuMvg- delta 78 zcmdnMx`CBDpO=@50SGokPMyeoj`7ySTld(+f&3!z$@>^jXhE1@K8TP261O;Pa`RJ4 Sb5iXXfxKcCAR)jc#tZ-!2@zKS diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc index ae8d55b0e5e620c871962ce095b632f6dc2a6921..1e9c2135bbc6254f79f264f2a66bdb319c89bca4 100644 GIT binary patch delta 20 acmeyu{)L@8pO=@50SGcb{@lp@k{JL%YzB}3 delta 20 acmeyu{)L@8pO=@50SGokPTk1;k{JLz*#+AG diff --git a/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-310.pyc index c8f445b55971a8ad70f5d83192e4fef1f801a4e9..1017fc31ca4ba6036945bf85215e11ffc90dc7a3 100644 GIT binary patch delta 81 zcmeBY>u2N6=jG*M0D{bqKR0r7Ff!hnEW&t*O#~=XB(nJqBPXL4gbfw|5u!li7Kcr4 UeoARhsvRScSIhz=c$mbP0o0fevH$=8 delta 81 zcmeBY>u2N6=jG*M0D|*TQ#W#RFfv9>7GXTZCJYoQ65f1=k&{si!UhX~2oWH0i^C>2 UKczG$)s7L!D`o)_JWOKD0FQDGmjD0& diff --git a/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc index 7c4239c7c76279f33b67c71c1ccb09bfad1ec355..1878c195ad06f838af9206e2da0f684cc14e3beb 100644 GIT binary patch delta 62 zcmeyu`h}G{pO=@50SGcb{+!7Dh%sv7yQz%4lUo?;*(8CYMUs;_nGOm-m|#ALkeYmp GNeTcnKM&IY delta 62 zcmeyu`h}G{pO=@50R;SKOyqvVcx&Rjsf>J+TNvxvq=14&Qj RPO2RvkXOtCBzTy_m;tNs4_N>J diff --git a/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-310.pyc index 2be11614c231cd5aedff1f18d25db913008e67b5..b8b7f277fe2188d1581d1e3a77c5dbc5566e4fff 100644 GIT binary patch delta 67 zcmZo;Yh&Zi=jG*M0D{bqKPPfOWQ^MQmV=Q^3Mfz{HTgH=RVh&rlLgF2C8Q_6Vv+#> DEL#r> delta 67 zcmZo;Yh&Zi=jG*M00Kk*856l5GTz$wmV=Q^8YoaCJ^44|RVgtLlLgF2C1fVQVv+#> D18NRd diff --git a/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-310.pyc index 3e29528fc27504d3cf434d543a102de01404eddf..7c2907524e76767ee341e483971f6d95d4491503 100644 GIT binary patch delta 20 acmZo-YhvTh=jG*M0D{bqKR0rJX955(cLlcq delta 20 acmZo-YhvTh=jG*M00Jw`g&VoQGXVf6#sp{p diff --git a/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-310.pyc index 944e324dae67d1a11513f3bb875eac656d9262aa..7d8543e0833166d99888a0e3fbd1820f9adea3de 100644 GIT binary patch delta 66 zcmX@fdXkkppO=@50SGcb{+!5tlkwKXr&rh{fczqf$@>|vNC|_OEMPt=Avt+1lMDcC C=@20R delta 66 zcmX@fdXkkppO=@50SJyCUNw>XCS%mZr&rj-f&3!z$@>|vNC|VwM2_ DEnyAx delta 67 zcmdnSwvCNDpO=@50SJyCUNw>XG2^X`?^PMuWPk!iGLxm4o=J&=m@HsEDj_>ridhB# DKfn%L diff --git a/osinaweb/osinacore/migrations/__pycache__/0049_alter_customerprofile_business.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0049_alter_customerprofile_business.cpython-310.pyc index 6c927732e6270efbef03ba6263f4eca3e06976ae..7040a1bd1db50ca16e197d75d2eab18fd208da7f 100644 GIT binary patch delta 20 acmZ3;wvdfGpO=@50SGcb{@lnd#tZ;5Pz4nL delta 20 acmZ3;wvdfGpO=@50SJyCUbT^1j2QqjLj?8! diff --git a/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-310.pyc index cbf80bb7cf25d4f294736b0619eb8bdd367b2b33..66f60c0a22f4549523019f38e484b087e925777b 100644 GIT binary patch delta 75 zcmX@gew3X%pO=@50SGcb{@lnd&Bz!vS)H+ikz?`(#(ivZK=C5E%_U5dj8YOHHY->F Lm5`sjoLLS4jiL`n delta 75 zcmX@gew3X%pO=@50SH8ouG+{g&B%CbvN~f2Bj@A|jQiN+f#OB-n@gA^8KopaY*w%U LDxolWIkOx9co`1> diff --git a/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-310.pyc index 33291cbd5a86caf61a006123a3c63022e0b7e418..a4e4c0a153c398a8b551f9710f39dd1b5243283b 100644 GIT binary patch delta 67 zcmZ3%wt|g2pO=@50SGcb{+!5tpD}9VYh^|@NuWTH; DAXE*p diff --git a/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-310.pyc index 1f14ea990585b6a978da3f2b3d4da35cd172ce0d..42bf050e074df902f10db7cc3c0d0ba5a630c060 100644 GIT binary patch delta 66 zcmeyt`h%4_pO=@50SGcb{+!7Dknz^Ux4+q>f&3!r$?q7iNQr@%EMPt=Av5_7lMDcs C))6TH delta 66 zcmeyt`h%4_pO=@50SMCkcTVJf$QU*8?Qb?IAiqdz@;k;WQlcOx3z&~eNKd}QBm)3Y C@(;ZL diff --git a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc index 9bf9308e384b5c1c2d0868eaf87a372c61f3837a..ee61860a9272ec0b96d13e859db120b661bb9f26 100644 GIT binary patch delta 20 acmZo?Z)fMu=jG*M0D{bqKR0sMFarQDWCck8 delta 20 acmZo?Z)fMu=jG*M0D^S^J2!IIFarQAK?JP; diff --git a/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-310.pyc index 1e3b0eaeb3b00c498085a40f0b948f3e56e77e3c..bb87249a33c14b1c3a356647e0000700f8e6e689 100644 GIT binary patch delta 116 zcmX@WdVrNXpO=@50SGcb{+!7Dneo=d|H_KD_)-!}Qsc|>i?TEG()06f@s(uerp71d z=N9ComZYZKn(WM&$|eldRU|xl9peiv2ouZ)5h6h17Kcr4eoARhsvRScSIhz=c$mbP E0r@*2TmS$7 delta 116 zcmX@WdVrNXpO=@50SKggcTME}%osKCzp`Q!UrJ(0YJ7QqQFdltdVXFMUrAeWM{@yHh!S4BL2zi7++{Xm|#AL5C9UlIBatBQ%ZAE?HGZ)Viq95!z9KG E0NV5(5&!@I diff --git a/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-310.pyc index 73b647456913fd739eed2899810618406725a928..9f59443ece4f44c66469170755064b118c6bed57 100644 GIT binary patch delta 114 zcmey(`kR$IpO=@50SGcb{+!5ti7{&8JzrA}AYYT|7gun>w5lD+B(=ATt{M>?^)DoZw_v8e|Wo%MF@gk|oJWNLgAWSeHL`YA5$Rq^-WK$kE delta 114 zcmey(`kR$IpO=@50SI3E?wZJbiSgFNd%mWeK)xo^FRt+XqU_APbOrysB9IzQrdw@?ysGS`a3f4#4Qe+-29Z% SoK!nTAg`DONC+^AF#`bFbP!Yk diff --git a/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-310.pyc index 5b1b355b555627042d09398fe640ee92b620138d..75dc5a13cd0886aa1f895ed69acc148fb30e5250 100644 GIT binary patch delta 89 zcmZ3=wv>%KpO=@50SGcb{+!7DjWKF66Qd@O)M2y{jS?!!FG?)KDZe`48iN0SFV!2NA-PxtXN^h$$D_ delta 89 zcmZ3=wv>%KpO=@50SK6)cTME}#&~No6Qd@O)M2y{y(LtVUy_&;Uy_-d8lRh)S6Y%< gd~0$oVfqy=Gu`5=NHNZjJE$<0qG%}KRm1oDbmfCLYd7&8FO>KkeR diff --git a/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a119d65391f31910c90c92e02e86417bb7aec65b GIT binary patch literal 804 zcmYjPJ#Q2-5VgJDy}e5!AtWNc3fdFWZ5kv%2n7j3K?p^XW*ckoJRH06+8f(P6gmWL zeh9yZ&Mg%sB}gcYcgcq(kLHcX^E_{CHZ~>%*Y{t)VUrQ^BZBLTBiP36W@sdlRFRgJ zv}Glu5i^yP{56q@IxS@LGwWX+^mlc~(kxE!4&n71x-WF3d`+Y376 z9vfHdYGEvt54W}+Jr)*P^ASX6YVCzLzEZ;1Er<_hWu2(B6fGtP?kjf`)+`*aYPo=)4;-CJD&28&Q+z40@o|0kXQ@s6g&jx%``z3V&_6vEmrSs`o0Dw_of>m z7kylaFcHWvR|?Qy7vgwTshAs)gbuU>y{N%i92Nzhf-r??Un3xX!Pvsl2cky~}{(LSD9avXDTPpyi>Qg9Qf;;l2 zEA}f@w-0u!E`oQi_6yS%y()!XLqC-Fp7@$n++j6=DUdDflU z`0GZv-Ayz(VF^FyDWi1?B(% delta 19 ZcmX@jc$$$rpO=@50SGokPMyeo001xL1u*~s diff --git a/osinaweb/osinacore/models.py b/osinaweb/osinacore/models.py index 52abcfc6..97ec3c2d 100644 --- a/osinaweb/osinacore/models.py +++ b/osinaweb/osinacore/models.py @@ -203,7 +203,6 @@ class Task(models.Model): name = models.CharField(max_length=250) project = models.ForeignKey(Project, on_delete=models.CASCADE, null=True) epic = models.ForeignKey(Epic, on_delete=models.CASCADE, null=True) - requirement = models.ForeignKey(ProjectRequirement, on_delete=models.CASCADE, null=True, blank=True) STATUS_CHOICES = ( ('Open', 'Open'), ('Working On', 'Working On'), @@ -216,7 +215,7 @@ class Task(models.Model): start_date = models.CharField(max_length=200) end_date = models.CharField(max_length=200) assigned_to = models.ForeignKey(StaffProfile, on_delete=models.CASCADE, null=True) - requirement = models.ForeignKey(ProjectRequirement, on_delete=models.SET_NULL, null=True) + requirement = models.ForeignKey(ProjectRequirement, on_delete=models.SET_NULL, null=True, blank=True) task_id = models.CharField(max_length=20, null=True, blank=True) def save(self, *args, **kwargs): if not self.task_id: diff --git a/osinaweb/osinacore/views.py b/osinaweb/osinacore/views.py index 0aceb212..d7dccf3c 100644 --- a/osinaweb/osinacore/views.py +++ b/osinaweb/osinacore/views.py @@ -88,25 +88,37 @@ def my_projects(request, *args, **kwargs): projects = Project.objects.all().order_by('-project_id') else: # Non-superuser, filter projects where the user is either the manager or a member - projects = Project.objects.filter(Q(manager=user.staffprofile) | Q(members=user.staffprofile)).distinct().order_by('-project_id') - - # Annotate each project with its most recent note - projects = projects.annotate( - recent_note_text=Subquery( - Note.objects.filter(project=OuterRef('pk')).order_by('-date').values('text')[:1] - ), - recent_note_color=Subquery( - Note.objects.filter(project=OuterRef('pk')).order_by('-date').values('color')[:1] - ), - recent_note_date=Max('note__date') - ) - + projects = Project.objects.filter( + Q(manager=user.staffprofile) | Q(members=user.staffprofile) + ).distinct().order_by('-project_id') + + # Calculate total time for each project + for project in projects: + total_hours, total_minutes, total_seconds = 0, 0, 0 + + for task in project.task_set.all(): + for point in task.point_set.all(): + hours, minutes, seconds = point.total_time() + total_hours += hours + total_minutes += minutes + total_seconds += seconds + + # Convert excess seconds to minutes and excess minutes to hours + total_minutes += total_seconds // 60 + total_seconds %= 60 + total_hours += total_minutes // 60 + total_minutes %= 60 + + project.total_time = f"{total_hours}hr {total_minutes}min {total_seconds}sec" + + context = { 'projects': projects, } return render(request, 'listing_pages/projects.html', context) + @login_required def my_tasks(request, *args, **kwargs): if request.user.is_superuser: diff --git a/osinaweb/osinaweb/__pycache__/__init__.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/__init__.cpython-310.pyc index becf04ab6b33300e10c883af5f173a5a9a801c27..9d7e57fd6e9ffd622e2baefd2ca1be1a9a4fc928 100644 GIT binary patch delta 19 ZcmdnbxSx?bpO=@50SGcb{+!6Y1pqMz1;PLT delta 19 ZcmdnbxSx?bpO=@50SGokPMyfT1pqE71q}cI diff --git a/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc index 8e5fa6136367101bd1d645a946088c0c924a0cf6..645d2fdb94ea16bddba096367db12d0cd52f8670 100644 GIT binary patch delta 20 acmaDO@4c delta 20 acmaDO@ -

Total Time: 600

+

Total Time: {{project.total_time}}