diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc index 69a70c7c..805b5991 100644 Binary files a/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc and b/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/addressbook/__pycache__/admin.cpython-310.pyc b/osinaweb/addressbook/__pycache__/admin.cpython-310.pyc index 276ee2d7..81fe9c55 100644 Binary files a/osinaweb/addressbook/__pycache__/admin.cpython-310.pyc and b/osinaweb/addressbook/__pycache__/admin.cpython-310.pyc differ diff --git a/osinaweb/addressbook/__pycache__/apps.cpython-310.pyc b/osinaweb/addressbook/__pycache__/apps.cpython-310.pyc index ddf9287e..73c1a01b 100644 Binary files a/osinaweb/addressbook/__pycache__/apps.cpython-310.pyc and b/osinaweb/addressbook/__pycache__/apps.cpython-310.pyc differ diff --git a/osinaweb/addressbook/__pycache__/models.cpython-310.pyc b/osinaweb/addressbook/__pycache__/models.cpython-310.pyc index 20d87192..b8101829 100644 Binary files a/osinaweb/addressbook/__pycache__/models.cpython-310.pyc and b/osinaweb/addressbook/__pycache__/models.cpython-310.pyc differ diff --git a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-310.pyc index 5725eb71..5a3c5584 100644 Binary files a/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-310.pyc and b/osinaweb/addressbook/migrations/__pycache__/0001_initial.cpython-310.pyc differ 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 5f38c0b2..b618cb37 100644 Binary files a/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-310.pyc and b/osinaweb/addressbook/migrations/__pycache__/0002_country_addressbook.cpython-310.pyc differ diff --git a/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc index 61b72f78..c53c506a 100644 Binary files a/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc and b/osinaweb/addressbook/migrations/__pycache__/0003_contact.cpython-310.pyc differ diff --git a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-310.pyc index 4dbba939..5522983f 100644 Binary files a/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-310.pyc and b/osinaweb/addressbook/migrations/__pycache__/0004_socialmedia.cpython-310.pyc differ diff --git a/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-310.pyc index e712caac..f92c346b 100644 Binary files a/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-310.pyc and b/osinaweb/addressbook/migrations/__pycache__/0005_socialmedia_addressbook.cpython-310.pyc differ diff --git a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-310.pyc index 0ea0bf12..33ba3bf2 100644 Binary files a/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-310.pyc and b/osinaweb/addressbook/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/billing/__pycache__/__init__.cpython-310.pyc b/osinaweb/billing/__pycache__/__init__.cpython-310.pyc index 77224f8f..176e3436 100644 Binary files a/osinaweb/billing/__pycache__/__init__.cpython-310.pyc and b/osinaweb/billing/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/billing/__pycache__/admin.cpython-310.pyc b/osinaweb/billing/__pycache__/admin.cpython-310.pyc index a9eff35c..24770926 100644 Binary files a/osinaweb/billing/__pycache__/admin.cpython-310.pyc and b/osinaweb/billing/__pycache__/admin.cpython-310.pyc differ diff --git a/osinaweb/billing/__pycache__/apps.cpython-310.pyc b/osinaweb/billing/__pycache__/apps.cpython-310.pyc index fd5eba6c..61cea0fd 100644 Binary files a/osinaweb/billing/__pycache__/apps.cpython-310.pyc and b/osinaweb/billing/__pycache__/apps.cpython-310.pyc differ diff --git a/osinaweb/billing/__pycache__/models.cpython-310.pyc b/osinaweb/billing/__pycache__/models.cpython-310.pyc index 33bb824e..8890a1ce 100644 Binary files a/osinaweb/billing/__pycache__/models.cpython-310.pyc and b/osinaweb/billing/__pycache__/models.cpython-310.pyc differ diff --git a/osinaweb/billing/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/__pycache__/urls.cpython-310.pyc index 0730172e..22ce5ebc 100644 Binary files a/osinaweb/billing/__pycache__/urls.cpython-310.pyc and b/osinaweb/billing/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/billing/__pycache__/views.cpython-310.pyc b/osinaweb/billing/__pycache__/views.cpython-310.pyc index 7e82059e..dd0e049d 100644 Binary files a/osinaweb/billing/__pycache__/views.cpython-310.pyc and b/osinaweb/billing/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-310.pyc index a74fa369..5a9a6f2e 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0001_initial.cpython-310.pyc differ 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 d645e833..e815ab91 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0002_service_active_service_cancelled_at_and_more.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0003_payment_servicepayment.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0003_payment_servicepayment.cpython-310.pyc index 32e8e2bd..c145656e 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0003_payment_servicepayment.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0003_payment_servicepayment.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-310.pyc index bdc8475d..81508609 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0004_rename_payment_paymenttype.cpython-310.pyc differ 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 984b44d8..cbe08bf5 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0005_service_recurring_cycle.cpython-310.pyc differ 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 20ba2f54..a8c41512 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0006_alter_service_cancelled_at_alter_service_created_at_and_more.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-310.pyc index ee5769ee..04f6c2ec 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0007_alter_service_recurring_cycle.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-310.pyc index 7334e90c..f538a9e5 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0008_alter_service_type.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-310.pyc index 1fdfbf61..ba9f7079 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0009_remove_service_due_at_remove_servicepayment_service_and_more.cpython-310.pyc differ 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 22e9a651..3af4c381 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0010_charge_amount.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc index b6394d83..738737f2 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0011_invoice.cpython-310.pyc differ 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 0c265f01..013c4d4d 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0012_remove_servicepayment_charge_receipt_and_more.cpython-310.pyc differ 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 0bb1bd71..d3465dec 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0013_alter_invoice_date_created.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-310.pyc index b1d44bdb..a76847bd 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0014_servicepayment_comment.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/__init__.cpython-310.pyc index fa655978..7f53f14d 100644 Binary files a/osinaweb/billing/migrations/__pycache__/__init__.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index d3293544..51adef77 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/osinacore/__pycache__/__init__.cpython-310.pyc b/osinaweb/osinacore/__pycache__/__init__.cpython-310.pyc index f8ba56ad..f3d348cd 100644 Binary files a/osinaweb/osinacore/__pycache__/__init__.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/admin.cpython-310.pyc b/osinaweb/osinacore/__pycache__/admin.cpython-310.pyc index 5be37b13..08d016d9 100644 Binary files a/osinaweb/osinacore/__pycache__/admin.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/admin.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/apps.cpython-310.pyc b/osinaweb/osinacore/__pycache__/apps.cpython-310.pyc index 5ff40cf5..e191ad2d 100644 Binary files a/osinaweb/osinacore/__pycache__/apps.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/apps.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc index 2cd9dd3d..6da4be43 100644 Binary files a/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/custom_context.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc index 57600999..59e8a753 100644 Binary files a/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/models.cpython-310.pyc b/osinaweb/osinacore/__pycache__/models.cpython-310.pyc index be7a271d..492cc0de 100644 Binary files a/osinaweb/osinacore/__pycache__/models.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/models.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/__pycache__/urls.cpython-310.pyc index e8c0a9a4..801a925b 100644 Binary files a/osinaweb/osinacore/__pycache__/urls.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index da66c5d1..1aeb19b9 100644 Binary files a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc differ 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 55f574f1..74ed2526 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc differ 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 a96b7557..8d88f7f6 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc index 4cb0dce5..9c5a4253 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-310.pyc index e70bf57c..4f2149e4 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-310.pyc index cad387f1..31b43fb6 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-310.pyc index 40d42306..3e33e484 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-310.pyc differ 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 e45bc000..0b605bb6 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-310.pyc differ 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 0dddbd71..9bd9abc5 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-310.pyc index 2aef7e18..663a0f05 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-310.pyc index ebf5f4fe..cab1a862 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-310.pyc index 91a848ee..3cd5b83a 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-310.pyc index 4ee5f941..1100d3ba 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc index 026590e1..c741676c 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-310.pyc index c7c561b2..9a8458e3 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-310.pyc index 0ec22d39..2b7e3dae 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-310.pyc differ 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 f78ec311..cf17c467 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-310.pyc index 83d0a4f7..d3e228fd 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-310.pyc index bb28906c..f31cfab5 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-310.pyc index 912d0b95..73b2159d 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc index be04d5ae..c2b866f2 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-310.pyc differ 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 ed7657b5..8720b7c7 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc index ca805159..6c207526 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc index 801af241..10d1316b 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-310.pyc differ 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 70609650..525721d2 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-310.pyc index 7e45c45c..808bde2c 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-310.pyc index a4fa82c0..ea822c04 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-310.pyc index 20e9ecf3..eb678995 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-310.pyc differ 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 6fd8b1d4..0f6a7dea 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-310.pyc differ 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 28c8fa75..6e0319aa 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc index dc389725..72cdd913 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-310.pyc index ccaabcd2..cca93854 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-310.pyc index 93d9a1fb..9b6a752a 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-310.pyc differ 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 dea58dc4..adba4c87 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-310.pyc differ 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 7c40f58b..c7d3b3a4 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-310.pyc differ 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 40f5ccc5..fac1b12f 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-310.pyc differ 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 dcd5713d..e04e0bda 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-310.pyc differ 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 9f43e29e..b4668248 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-310.pyc index cb63ce7a..3fe068fb 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-310.pyc differ 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 8333aea3..cbd43b97 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-310.pyc index 40707886..71424ec1 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc index ae8d55b0..1e9c2135 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-310.pyc differ 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 c8f445b5..1017fc31 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0042_remove_customerprofile_email_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc index 7c4239c7..1878c195 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0043_businesstype.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-310.pyc index 80230af1..8dc7b2d3 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0044_remove_business_business_type.cpython-310.pyc differ 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 2be11614..b8b7f277 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0045_business_type.cpython-310.pyc differ 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 3e29528f..7c290752 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0046_task_requirement.cpython-310.pyc differ 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 944e324d..7d8543e0 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0047_task_status_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-310.pyc index 1b4533d1..0cff0f81 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0048_alter_customerprofile_business.cpython-310.pyc differ 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 6c927732..7040a1bd 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0049_alter_customerprofile_business.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0049_alter_customerprofile_business.cpython-310.pyc differ 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 cbf80bb7..66f60c0a 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0050_projectrequirement_added_by_projectrequirement_date.cpython-310.pyc differ 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 33291cbd..a4e4c0a1 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0051_alter_task_requirement.cpython-310.pyc differ 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 1f14ea99..42bf050e 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0052_note_project.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc index 9bf9308e..ee61860a 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0053_pointactivity.cpython-310.pyc differ 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 1e3b0eae..bb87249a 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0054_remove_point_date_completed_and_more.cpython-310.pyc differ 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 73b64745..9f59443e 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0055_alter_point_status.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-310.pyc index 22d2d1b4..4f958a13 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0056_alter_pointactivity_end_time.cpython-310.pyc differ 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 5b1b355b..75dc5a13 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0057_point_total_time_hours_point_total_time_minutes_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-310.pyc index 9dfe732d..e25ef021 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0058_remove_point_total_time_hours_and_more.cpython-310.pyc differ 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 00000000..a119d653 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-310.pyc index 7a3087b0..e4dc9bc7 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-310.pyc differ 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 becf04ab..9d7e57fd 100644 Binary files a/osinaweb/osinaweb/__pycache__/__init__.cpython-310.pyc and b/osinaweb/osinaweb/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc index 8e5fa613..645d2fdb 100644 Binary files a/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc and b/osinaweb/osinaweb/__pycache__/settings.cpython-310.pyc differ diff --git a/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc index 61e21259..a504dd1c 100644 Binary files a/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc and b/osinaweb/osinaweb/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc index ecc44090..32fd6741 100644 Binary files a/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc and b/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc differ diff --git a/osinaweb/templates/listing_pages/projects.html b/osinaweb/templates/listing_pages/projects.html index 48e5c997..2cadcb5c 100644 --- a/osinaweb/templates/listing_pages/projects.html +++ b/osinaweb/templates/listing_pages/projects.html @@ -201,7 +201,7 @@
-

Total Time: 600

+

Total Time: {{project.total_time}}