diff --git a/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc b/osinaweb/addressbook/__pycache__/__init__.cpython-310.pyc index 66d22a20..ac8f1b38 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 297614bd..58161bde 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 5031dc4e..cc404043 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 6fae882d..ab375676 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 d8412ef9..5eb1e9ba 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 b3c2d895..5ed33820 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 3cca92c6..61a3717d 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 14911f4b..0b4ad2b8 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 edaadae7..b101e5b8 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 b42c8372..f5321633 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 d8b20a2a..0e5d7947 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 79ad7f4a..b2c8896c 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 937e1fa8..951dd5ef 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 d51a6493..42985af6 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 883d5906..4de030d9 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 17eb1890..13b35cb5 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/add/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/add/__pycache__/urls.cpython-310.pyc index bdd1735c..9dbf47d6 100644 Binary files a/osinaweb/billing/add/__pycache__/urls.cpython-310.pyc and b/osinaweb/billing/add/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/billing/add/__pycache__/views.cpython-310.pyc b/osinaweb/billing/add/__pycache__/views.cpython-310.pyc index 03a30e24..e521fcf0 100644 Binary files a/osinaweb/billing/add/__pycache__/views.cpython-310.pyc and b/osinaweb/billing/add/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/billing/delete/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/delete/__pycache__/urls.cpython-310.pyc index 6de0e566..7fcad60e 100644 Binary files a/osinaweb/billing/delete/__pycache__/urls.cpython-310.pyc and b/osinaweb/billing/delete/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/billing/delete/__pycache__/views.cpython-310.pyc b/osinaweb/billing/delete/__pycache__/views.cpython-310.pyc index ba6f3ce7..f6ac0f5f 100644 Binary files a/osinaweb/billing/delete/__pycache__/views.cpython-310.pyc and b/osinaweb/billing/delete/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc b/osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc index 27131e9e..1183d9e7 100644 Binary files a/osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc and b/osinaweb/billing/edit/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/billing/edit/__pycache__/views.cpython-310.pyc b/osinaweb/billing/edit/__pycache__/views.cpython-310.pyc index 6eee0e0a..d354f763 100644 Binary files a/osinaweb/billing/edit/__pycache__/views.cpython-310.pyc and b/osinaweb/billing/edit/__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 84636bb9..ae4c1f24 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 9eddf674..4949ae16 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 af008637..9571d41c 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 7110a775..611fba71 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 884a9d39..f9237d2e 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 b0447213..06abf918 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 2ef75749..d4c4fdea 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 740f95c3..a55e769b 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 9d5e16d8..db485a08 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 97bf9883..59601d48 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 c950cabc..79b321b7 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 59091908..50ddf056 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 84eb4783..6bd3a10b 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 40aabe51..996ab974 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__/0015_order.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-310.pyc index cb434dbe..20d2d334 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0015_order.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0015_order.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-310.pyc index 83d6189a..d4b6db9f 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0016_alter_order_status.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-310.pyc index 6b7e3773..1a8c66f8 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0017_service_order.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-310.pyc index 2b4bb20e..92488f30 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0018_alter_order_status.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-310.pyc index 5bf071c4..f1ab6154 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0019_item_orderpayment_remove_service_customer_and_more.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-310.pyc index 74f4d321..9cb10e59 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0020_orderitem.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-310.pyc index b4833c0c..9e1bf9d3 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0021_remove_item_recurring_cycle_and_more.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-310.pyc index 88a01926..e070c7a2 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0022_remove_item_cancelled_at_remove_item_created_at_and_more.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-310.pyc index 57f3d4ce..24375a71 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0023_alter_item_project_alter_item_type.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-310.pyc index 04b328aa..69157d9c 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0024_remove_item_active.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-310.pyc index b7fcebe8..7d9b4d9d 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0025_remove_item_project_item_customer.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-310.pyc index 24947c8d..ae6d5e3b 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0026_rename_type_item_item_type_remove_order_paid.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-310.pyc index 8df0a23a..d2892be7 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0027_item_type.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-310.pyc index ee3b864c..9ede2a3a 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0028_remove_order_due_date.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-310.pyc index 5f62447d..04b6ef3d 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0029_invoice_pdf.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-310.pyc index 0013e587..8390f674 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0030_alter_invoice_order.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-310.pyc index e18a1235..eec60023 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0031_alter_invoice_invoice_number.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-310.pyc index 8bd5cea0..66cc8779 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0032_order_business.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-310.pyc index 7c68585c..9fad05f4 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0033_alter_order_status.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-310.pyc index 89dfff00..a5cc0bf0 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0034_alter_invoice_pdf.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-310.pyc index 40b7f9ff..70465eed 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0035_alter_invoice_pdf.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-310.pyc index 0dc0e0fe..f33a0e37 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0036_alter_invoice_invoice_number.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-310.pyc index 2ff7e03d..585d37bf 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0037_recurringcycle_item.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-310.pyc index fe5e15e9..0c280e14 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0038_alter_invoice_pdf.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-310.pyc index aabb9894..6a21bf03 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0039_recurringcycle_cycle_price.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-310.pyc index e0ca1b4d..ba27a706 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0040_rename_due_at_orderitem_end_at_and_more.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0041_orderitem_active.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0041_orderitem_active.cpython-310.pyc index 02e45cf0..d37d26eb 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0041_orderitem_active.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0041_orderitem_active.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-310.pyc index 7dc9f9fe..dc0a33ac 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0042_order_due_date.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-310.pyc index 8d78d54c..1174fd86 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0043_alter_invoice_pdf.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-310.pyc index edaccf14..fd26df9b 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0044_alter_orderitem_active.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0045_orderpayment_date_due_alter_orderpayment_date_paid.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0045_orderpayment_date_due_alter_orderpayment_date_paid.cpython-310.pyc index 3cf884f6..6503ee82 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0045_orderpayment_date_due_alter_orderpayment_date_paid.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0045_orderpayment_date_due_alter_orderpayment_date_paid.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc index a971afbe..31a7113b 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0046_remove_orderpayment_order_orderpayment_order.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-310.pyc index e119b86c..2bc5b2e3 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0047_paymenttype_description_paymenttype_image.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-310.pyc index bd00b89e..d1e9b93f 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0048_remove_order_status_orderstatus.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0049_rename_due_date_order_date.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0049_rename_due_date_order_date.cpython-310.pyc index 462eba59..1cdd0e72 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0049_rename_due_date_order_date.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0049_rename_due_date_order_date.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0050_remove_orderpayment_type_orderpayment_type.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0050_remove_orderpayment_type_orderpayment_type.cpython-310.pyc index 23dcd427..db7f9cd3 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0050_remove_orderpayment_type_orderpayment_type.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0050_remove_orderpayment_type_orderpayment_type.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0051_alter_orderpayment_amount.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0051_alter_orderpayment_amount.cpython-310.pyc index 80c47095..69a16489 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0051_alter_orderpayment_amount.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0051_alter_orderpayment_amount.cpython-310.pyc differ diff --git a/osinaweb/billing/migrations/__pycache__/0052_alter_orderstatus_status.cpython-310.pyc b/osinaweb/billing/migrations/__pycache__/0052_alter_orderstatus_status.cpython-310.pyc index 1ddd345b..e8115601 100644 Binary files a/osinaweb/billing/migrations/__pycache__/0052_alter_orderstatus_status.cpython-310.pyc and b/osinaweb/billing/migrations/__pycache__/0052_alter_orderstatus_status.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 68df8073..69044ae3 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/customercore/__pycache__/__init__.cpython-310.pyc b/osinaweb/customercore/__pycache__/__init__.cpython-310.pyc index 37e0f8e5..d6778a67 100644 Binary files a/osinaweb/customercore/__pycache__/__init__.cpython-310.pyc and b/osinaweb/customercore/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/admin.cpython-310.pyc b/osinaweb/customercore/__pycache__/admin.cpython-310.pyc index 740d0d41..8ffb7a0d 100644 Binary files a/osinaweb/customercore/__pycache__/admin.cpython-310.pyc and b/osinaweb/customercore/__pycache__/admin.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/apps.cpython-310.pyc b/osinaweb/customercore/__pycache__/apps.cpython-310.pyc index fd56b25b..6c530d0c 100644 Binary files a/osinaweb/customercore/__pycache__/apps.cpython-310.pyc and b/osinaweb/customercore/__pycache__/apps.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/custom_context.cpython-310.pyc b/osinaweb/customercore/__pycache__/custom_context.cpython-310.pyc index 7b9fcb6e..5b8d067b 100644 Binary files a/osinaweb/customercore/__pycache__/custom_context.cpython-310.pyc and b/osinaweb/customercore/__pycache__/custom_context.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/decorators.cpython-310.pyc b/osinaweb/customercore/__pycache__/decorators.cpython-310.pyc index 6c8845a9..c8fd75d2 100644 Binary files a/osinaweb/customercore/__pycache__/decorators.cpython-310.pyc and b/osinaweb/customercore/__pycache__/decorators.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/models.cpython-310.pyc b/osinaweb/customercore/__pycache__/models.cpython-310.pyc index 78d22c82..d097c455 100644 Binary files a/osinaweb/customercore/__pycache__/models.cpython-310.pyc and b/osinaweb/customercore/__pycache__/models.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/urls.cpython-310.pyc b/osinaweb/customercore/__pycache__/urls.cpython-310.pyc index 6a24e04d..146c2984 100644 Binary files a/osinaweb/customercore/__pycache__/urls.cpython-310.pyc and b/osinaweb/customercore/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/customercore/__pycache__/views.cpython-310.pyc b/osinaweb/customercore/__pycache__/views.cpython-310.pyc index 63909f71..1a4fec33 100644 Binary files a/osinaweb/customercore/__pycache__/views.cpython-310.pyc and b/osinaweb/customercore/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/customercore/admin.py b/osinaweb/customercore/admin.py index fa944c3e..4f3d3dc9 100644 --- a/osinaweb/customercore/admin.py +++ b/osinaweb/customercore/admin.py @@ -3,7 +3,7 @@ from .models import * # Register your models here. admin.site.register(Ticket) -admin.site.register(TicketStatusUpdate) +admin.site.register(TicketStatus) admin.site.register(TicketRead) admin.site.register(TicketUpdate) admin.site.register(TicketAttachment) diff --git a/osinaweb/customercore/custom_context.py b/osinaweb/customercore/custom_context.py index e51fcf80..40f93bc7 100644 --- a/osinaweb/customercore/custom_context.py +++ b/osinaweb/customercore/custom_context.py @@ -33,13 +33,4 @@ def utilities(request): unread_updates_count += 1 ticket.unread_updates_count = unread_updates_count - last_update = ticket.ticketupdate_set.order_by('-date_added').first() - if last_update: - ticket.last_update_added_by = last_update.added_by.first_name - ticket.last_update_date_added = last_update.date_added - else: - ticket.last_update_added_by = None - ticket.last_update_date_added = None - - return {'active_subscriptions': active_subscriptions, 'customer_open_tickets': customer_open_tickets, 'customer_open_tickets_count':customer_open_tickets_count, 'customer_open_projects_count': customer_open_projects_count, 'customer_open_invoices_count': customer_open_invoices_count} diff --git a/osinaweb/customercore/migrations/0012_ticket_ticket_members.py b/osinaweb/customercore/migrations/0012_ticket_ticket_members.py new file mode 100644 index 00000000..33d921a6 --- /dev/null +++ b/osinaweb/customercore/migrations/0012_ticket_ticket_members.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.5 on 2024-05-18 17:49 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('customercore', '0011_ticketupdatereaction_customer'), + ] + + operations = [ + migrations.AddField( + model_name='ticket', + name='ticket_members', + field=models.ManyToManyField(blank=True, null=True, related_name='ticket_members', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/osinaweb/customercore/migrations/0013_alter_ticket_ticket_members.py b/osinaweb/customercore/migrations/0013_alter_ticket_ticket_members.py new file mode 100644 index 00000000..7179f5e0 --- /dev/null +++ b/osinaweb/customercore/migrations/0013_alter_ticket_ticket_members.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.5 on 2024-05-18 17:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('osinacore', '0081_status_task'), + ('customercore', '0012_ticket_ticket_members'), + ] + + operations = [ + migrations.AlterField( + model_name='ticket', + name='ticket_members', + field=models.ManyToManyField(blank=True, null=True, related_name='ticket_members', to='osinacore.staffprofile'), + ), + ] diff --git a/osinaweb/customercore/migrations/0014_remove_ticket_department_ticket_department.py b/osinaweb/customercore/migrations/0014_remove_ticket_department_ticket_department.py new file mode 100644 index 00000000..b959e4fa --- /dev/null +++ b/osinaweb/customercore/migrations/0014_remove_ticket_department_ticket_department.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.5 on 2024-05-18 17:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('osinacore', '0081_status_task'), + ('customercore', '0013_alter_ticket_ticket_members'), + ] + + operations = [ + migrations.RemoveField( + model_name='ticket', + name='department', + ), + migrations.AddField( + model_name='ticket', + name='department', + field=models.ManyToManyField(blank=True, null=True, to='osinacore.department'), + ), + ] diff --git a/osinaweb/customercore/migrations/0015_rename_department_ticket_departments.py b/osinaweb/customercore/migrations/0015_rename_department_ticket_departments.py new file mode 100644 index 00000000..1b306162 --- /dev/null +++ b/osinaweb/customercore/migrations/0015_rename_department_ticket_departments.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.5 on 2024-05-18 18:15 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('customercore', '0014_remove_ticket_department_ticket_department'), + ] + + operations = [ + migrations.RenameField( + model_name='ticket', + old_name='department', + new_name='departments', + ), + ] diff --git a/osinaweb/customercore/migrations/0016_rename_ticketstatusupdate_ticketstatus.py b/osinaweb/customercore/migrations/0016_rename_ticketstatusupdate_ticketstatus.py new file mode 100644 index 00000000..627f9ebd --- /dev/null +++ b/osinaweb/customercore/migrations/0016_rename_ticketstatusupdate_ticketstatus.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.5 on 2024-05-18 18:49 + +from django.conf import settings +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('customercore', '0015_rename_department_ticket_departments'), + ] + + operations = [ + migrations.RenameModel( + old_name='TicketStatusUpdate', + new_name='TicketStatus', + ), + ] diff --git a/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-310.pyc index 4813d818..4c603123 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-310.pyc index 7d9afddc..5d7093e2 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0002_alter_ticket_department.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-310.pyc index c4d946d3..e83c5431 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0003_ticket_customer_ticket_status_and_more.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-310.pyc index 45449180..f865008d 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0004_ticket_ticket_number_and_more.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-310.pyc index 67ab08e8..642c7c2d 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0005_ticketstatusupdate.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-310.pyc index 296cfde3..eec5dc0e 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0006_ticketupdate_read.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-310.pyc index fa736b88..a589f339 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0007_remove_ticketupdate_read_ticketupdatereadstatus.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-310.pyc index 5088f604..b8cb75f6 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0008_rename_ticketupdatereadstatus_ticketread.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0009_alter_ticketattachment_ticket.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0009_alter_ticketattachment_ticket.cpython-310.pyc index 3bc506da..fa2537ba 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0009_alter_ticketattachment_ticket.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0009_alter_ticketattachment_ticket.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0010_rename_ticketreaction_ticketupdatereaction.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0010_rename_ticketreaction_ticketupdatereaction.cpython-310.pyc index 0a4f961a..7a9f6b1f 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0010_rename_ticketreaction_ticketupdatereaction.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0010_rename_ticketreaction_ticketupdatereaction.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-310.pyc index 9d9ac1c0..f22433c3 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/0011_ticketupdatereaction_customer.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0012_ticket_ticket_members.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0012_ticket_ticket_members.cpython-310.pyc new file mode 100644 index 00000000..5c90ece9 Binary files /dev/null and b/osinaweb/customercore/migrations/__pycache__/0012_ticket_ticket_members.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0013_alter_ticket_ticket_members.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0013_alter_ticket_ticket_members.cpython-310.pyc new file mode 100644 index 00000000..ee205f41 Binary files /dev/null and b/osinaweb/customercore/migrations/__pycache__/0013_alter_ticket_ticket_members.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0014_remove_ticket_department_ticket_department.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0014_remove_ticket_department_ticket_department.cpython-310.pyc new file mode 100644 index 00000000..28cdc4fb Binary files /dev/null and b/osinaweb/customercore/migrations/__pycache__/0014_remove_ticket_department_ticket_department.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0015_rename_department_ticket_departments.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0015_rename_department_ticket_departments.cpython-310.pyc new file mode 100644 index 00000000..0ba5887e Binary files /dev/null and b/osinaweb/customercore/migrations/__pycache__/0015_rename_department_ticket_departments.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/0016_rename_ticketstatusupdate_ticketstatus.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/0016_rename_ticketstatusupdate_ticketstatus.cpython-310.pyc new file mode 100644 index 00000000..b677984b Binary files /dev/null and b/osinaweb/customercore/migrations/__pycache__/0016_rename_ticketstatusupdate_ticketstatus.cpython-310.pyc differ diff --git a/osinaweb/customercore/migrations/__pycache__/__init__.cpython-310.pyc b/osinaweb/customercore/migrations/__pycache__/__init__.cpython-310.pyc index 6f5fac73..15834e96 100644 Binary files a/osinaweb/customercore/migrations/__pycache__/__init__.cpython-310.pyc and b/osinaweb/customercore/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/osinaweb/customercore/models.py b/osinaweb/customercore/models.py index 3d3dfa53..63e4ea4a 100644 --- a/osinaweb/customercore/models.py +++ b/osinaweb/customercore/models.py @@ -20,10 +20,11 @@ class Ticket(models.Model): regarding = models.CharField(max_length=50, choices=REGARDING_CHOICES, null=True) project = models.ForeignKey(Project, on_delete=models.SET_NULL, blank=True, null=True) product = models.ForeignKey(Item, on_delete=models.SET_NULL, blank=True, null=True) - department = models.ForeignKey(Department, on_delete=models.SET_NULL,null=True, blank=True) + departments = models.ManyToManyField(Department, null=True, blank=True) opened_by = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) opened_date = models.DateTimeField() customer = models.ForeignKey(CustomerProfile, on_delete=models.SET_NULL, null=True) + ticket_members = models.ManyToManyField(StaffProfile, null=True, blank=True, related_name='ticket_members') def save(self, *args, **kwargs): if not self.ticket_number: last_ticket = Ticket.objects.filter(opened_date__year=timezone.now().year).order_by('-ticket_number').first() @@ -40,7 +41,7 @@ class Ticket(models.Model): super().save(*args, **kwargs) -class TicketStatusUpdate(models.Model): +class TicketStatus(models.Model): STATUS_CHOICES = ( ('Open', 'Open'), ('Working On', 'Working On'), diff --git a/osinaweb/customercore/payment/__pycache__/urls.cpython-310.pyc b/osinaweb/customercore/payment/__pycache__/urls.cpython-310.pyc index f627c4c4..af138f75 100644 Binary files a/osinaweb/customercore/payment/__pycache__/urls.cpython-310.pyc and b/osinaweb/customercore/payment/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/customercore/payment/__pycache__/views.cpython-310.pyc b/osinaweb/customercore/payment/__pycache__/views.cpython-310.pyc index 2718eb39..b6b631f4 100644 Binary files a/osinaweb/customercore/payment/__pycache__/views.cpython-310.pyc and b/osinaweb/customercore/payment/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/customercore/templates/email_templates/new_ticket.html b/osinaweb/customercore/templates/email_templates/new_ticket.html new file mode 100644 index 00000000..d3a7eb7f --- /dev/null +++ b/osinaweb/customercore/templates/email_templates/new_ticket.html @@ -0,0 +1,66 @@ + + + + + + Account Activation + + + +
+

New Ticket Opened by {{ticket.customer.user.first_name}} {{ticket.customer.user.last_name}}

+

Hello {{staff_first_name}},

+

A new ticket has been opened by {{ticket.customer.user.first_name}} {{ticket.customer.user.last_name}} with the following details:

+

Title: {{ ticket.title }}

+

Description: {{ ticket.description }}

+

Department: {{ ticket.department.name }}

+

Regarding: + {% if not ticket.project and not ticket.product %} + {{ ticket.regarding }} + {% elif ticket.product %} + {{ ticket.product }} + {% elif ticket.project %} + {{ ticket.project }} + {% endif %}

+

Opened By: {{ ticket.opened_by.first_name }} {{ ticket.opened_by.last_name }}

+

Opened Date: {{ ticket.opened_date }}

+

View Ticket

+

Regards,
The Ositcom Team

+
+ + diff --git a/osinaweb/customercore/templates/email_templates/new_ticket_update.html b/osinaweb/customercore/templates/email_templates/new_ticket_update.html new file mode 100644 index 00000000..c2c5624d --- /dev/null +++ b/osinaweb/customercore/templates/email_templates/new_ticket_update.html @@ -0,0 +1,65 @@ + + + + + + Account Activation + + + +
+

New Ticket Update for: {{ticket_update.ticket.title}}

+

Hello {{staff_first_name}},

+

A new ticket update has been added by {{ticket_update.ticket.customer.user.first_name}} {{ticket_update.ticket.customer.user.last_name}} with the following details:

+

Ticket: {{ ticket_update.ticket.title }}

+

Regarding: + {% if not ticket_update.ticket.project and not ticket_update.ticket.product %} + {{ ticket_update.ticket.regarding }} + {% elif ticket_update.ticket.product %} + {{ ticket_update.ticket.product }} + {% elif ticket_update.ticket.project %} + {{ ticket_update.ticket.project }} + {% endif %}

+

Description: {{ ticket_update.description|safe }}

+

Added By: {{ticket_update.ticket.customer.user.first_name}} {{ticket_update.ticket.customer.user.last_name}}

+

Date: {{ ticket_update.date_added }}

+

View Update

+

Regards,
The Ositcom Team

+
+ + diff --git a/osinaweb/customercore/templates/listing_pages/customer-tickets.html b/osinaweb/customercore/templates/listing_pages/customer-tickets.html index f3e07ef3..9634f3a1 100644 --- a/osinaweb/customercore/templates/listing_pages/customer-tickets.html +++ b/osinaweb/customercore/templates/listing_pages/customer-tickets.html @@ -85,11 +85,11 @@ -

{{ticket.last_update_date_added}}

+

{{ticket.ticketupdate_set.last.date_added}}

-

{{ ticket.last_update_added_by }}

+

{{ticket.ticketupdate_set.last.added_by.first_name}}

@@ -164,11 +164,11 @@ -

{{ ticket.last_update_date_added }}

+

{{ticket.ticketupdate_set.last.date_added}}

-

{{ ticket.last_update_added_by }}

+

{{ticket.ticketupdate_set.last.added_by.first_name}}

{% endfor %} diff --git a/osinaweb/customercore/views.py b/osinaweb/customercore/views.py index b6642a91..83f46002 100644 --- a/osinaweb/customercore/views.py +++ b/osinaweb/customercore/views.py @@ -6,6 +6,10 @@ from .models import * from django.db.models import Q from django.http import Http404 from django.db.models import OuterRef, Subquery +from django.core.mail import send_mail +from django.template.loader import render_to_string +from django.utils.html import strip_tags +from django.conf import settings # Create your views here. @@ -29,21 +33,22 @@ def redirect_osicard(request): # ADD @customer_login_required def customer_add_ticket(request, *args, **kwargs): - customer_products = OrderItem.objects.filter(order__status='Completed', active__in=[True, None], item__type = 'Product', order__customer = request.user.customerprofile) + customer_products = OrderItem.objects.filter(active__in=[True, None], item__type = 'Product', order__customer = request.user.customerprofile) customer_projects = Project.objects.filter(customer=request.user.customerprofile) + support_department = get_object_or_404(Department, name='Support') if request.method == 'POST': project = None product = None - department = None + departments = [support_department] regarding = 'General/Account/Billing' if request.POST.get('project') and request.POST.get('regarding') == 'Project': project = get_object_or_404(Project, id=request.POST.get('project')) - department = project.project_type.department + departments = [project.project_type.department] regarding = 'Project/Product' elif request.POST.get('product') and request.POST.get('regarding') == 'Product': product = get_object_or_404(Item, id=request.POST.get('product')) - department = product.item_type.department + departments = [product.item_type.department] regarding = 'Project/Product' ticket = Ticket( status = 'Open', @@ -53,24 +58,41 @@ def customer_add_ticket(request, *args, **kwargs): regarding = regarding, project = project, product = product, - department = department, opened_by = request.user, opened_date = datetime.now() ) ticket.save() - ticket_status_update = TicketStatusUpdate( + ticket.departments.set(departments) + + ticket_status = TicketStatus( ticket = ticket, status = 'Open', added_by = request.user, date_added = datetime.now() ) - ticket_status_update.save() + ticket_status.save() for file in request.FILES.getlist('files'): ticket_attachment = TicketAttachment( ticket=ticket, file=file ) ticket_attachment.save() + + + department_ids = [dept.id for dept in departments] + staff_profiles = StaffProfile.objects.filter(staff_position__department__id__in=department_ids, active=True) + print(staff_profiles) + for staff in staff_profiles: + subject = f"New Ticket Opened: {ticket.title}" + html_message = render_to_string('email_templates/new_ticket.html', { + 'ticket': ticket, + 'staff_first_name': staff.user.first_name + }) + plain_message = strip_tags(html_message) + from_email = settings.DEFAULT_FROM_EMAIL + to_email = staff.user.email + + send_mail(subject, plain_message, from_email, [to_email], html_message=html_message) return redirect('customerticketdetails', ticket_number=ticket.ticket_number) context = { @@ -102,12 +124,33 @@ def customer_add_ticket_update(request, ticket_id): file=file ) ticket_attachment.save() + + + if ticket.ticket_members.exists(): + members_ids = ticket.ticket_members.values_list('id', flat=True) + staff_profiles = StaffProfile.objects.filter(id__in=members_ids) + else: + department_ids = ticket.departments.values_list('id', flat=True) + staff_profiles = StaffProfile.objects.filter(staff_position__department__id__in=department_ids, active=True) + + + for staff in staff_profiles: + subject = f"New Ticket Update: {ticket.title}" + html_message = render_to_string('email_templates/new_ticket_update.html', { + 'ticket_update': ticket_update, + 'staff_first_name': staff.user.first_name + }) + plain_message = strip_tags(html_message) + from_email = settings.DEFAULT_FROM_EMAIL + to_email = staff.user.email + + send_mail(subject, plain_message, from_email, [to_email], html_message=html_message) + + return redirect('customerticketdetails', ticket_number=ticket.ticket_number) context = { 'ticket': ticket, - - } return render(request, 'add_templates/customer-add-ticket.html', context) @@ -231,38 +274,34 @@ def customer_project_details(request, project_id): @customer_login_required def customer_tickets(request, *args, **kwargs): - open_tickets = Ticket.objects.filter(Q(status__in=['Open', 'Working On']) & Q(customer=request.user.customerprofile)) - closed_tickets = Ticket.objects.filter(Q(status__in=['Closed']) & Q(customer=request.user.customerprofile)).order_by('-id') + all_tickets = Ticket.objects.filter(customer=request.user.customerprofile) + + all_tickets_with_update_date = all_tickets.annotate( + latest_update_date=Max('ticketupdate__date_added') + ) + all_tickets_ordered = all_tickets_with_update_date.order_by('-latest_update_date') + open_tickets = [] + closed_tickets = [] + for ticket in all_tickets_ordered: + last_status = ticket.ticketstatus_set.last() + if last_status: + last_status = last_status.status + if last_status == 'Closed': + closed_tickets.append(ticket) + else: + open_tickets.append(ticket) + else: + # If no status is found, assume it's open + open_tickets.append(ticket) for ticket in open_tickets: unread_updates_count = 0 - last_update = ticket.ticketupdate_set.exclude(added_by=request.user).order_by('-date_added').first() - if last_update: - last_update_added_by = last_update.added_by - last_update_date_added = last_update.date_added - else: - last_update_added_by = None - last_update_date_added = None - for ticket_update in ticket.ticketupdate_set.exclude(added_by=request.user): if not TicketRead.objects.filter(ticket_update=ticket_update, user=request.user, read=True).exists(): unread_updates_count += 1 ticket.unread_updates_count = unread_updates_count - ticket.last_update_added_by = last_update_added_by - ticket.last_update_date_added = last_update_date_added - - for ticket in closed_tickets: - last_update = ticket.ticketupdate_set.order_by('-date_added').first() - if last_update: - last_update_added_by = last_update.added_by - last_update_date_added = last_update.date_added - else: - last_update_added_by = None - last_update_date_added = None - ticket.last_update_added_by = last_update_added_by - ticket.last_update_date_added = last_update_date_added context = { 'open_tickets': open_tickets, @@ -299,7 +338,7 @@ def customer_ticket_details(request, ticket_number): if not TicketRead.objects.filter(ticket_update=update, user=request.user).exists(): TicketRead.objects.create(ticket_update=update, user=request.user, read=True) - last_ticket_status = TicketStatusUpdate.objects.all().last() + last_ticket_status = TicketStatus.objects.all().last() else: ticket_updates = None diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 707be33c..97d1cc77 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 a4416e70..24d1abc6 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 4c8dcd4b..826962e2 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 6a192eeb..005090e6 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 3185cec6..c5831218 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__/decorators.cpython-310.pyc b/osinaweb/osinacore/__pycache__/decorators.cpython-310.pyc index f13b9240..d7bd98fd 100644 Binary files a/osinaweb/osinacore/__pycache__/decorators.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/decorators.cpython-310.pyc differ diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-310.pyc index 1baf818d..f2b01981 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 4e28e2f4..aaf67d1e 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 21220fd7..ce2da76c 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 bb844e2b..39089197 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/add/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/add/__pycache__/urls.cpython-310.pyc index 7feac632..dc022a45 100644 Binary files a/osinaweb/osinacore/add/__pycache__/urls.cpython-310.pyc and b/osinaweb/osinacore/add/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc index e731cb15..1407ca00 100644 Binary files a/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/osinacore/api/__pycache__/serializers.cpython-310.pyc b/osinaweb/osinacore/api/__pycache__/serializers.cpython-310.pyc index 21d19d8b..87959e5e 100644 Binary files a/osinaweb/osinacore/api/__pycache__/serializers.cpython-310.pyc and b/osinaweb/osinacore/api/__pycache__/serializers.cpython-310.pyc differ diff --git a/osinaweb/osinacore/api/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/api/__pycache__/urls.cpython-310.pyc index 9cea727b..54c2175d 100644 Binary files a/osinaweb/osinacore/api/__pycache__/urls.cpython-310.pyc and b/osinaweb/osinacore/api/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/osinacore/api/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/api/__pycache__/views.cpython-310.pyc index 78801d70..f867addc 100644 Binary files a/osinaweb/osinacore/api/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/api/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/osinacore/delete/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/delete/__pycache__/urls.cpython-310.pyc index cd9aec59..772b82f5 100644 Binary files a/osinaweb/osinacore/delete/__pycache__/urls.cpython-310.pyc and b/osinaweb/osinacore/delete/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/osinacore/delete/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/delete/__pycache__/views.cpython-310.pyc index dd8bc2c9..f4bc5cd2 100644 Binary files a/osinaweb/osinacore/delete/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/delete/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/osinacore/edit/__pycache__/urls.cpython-310.pyc b/osinaweb/osinacore/edit/__pycache__/urls.cpython-310.pyc index 9f7baad7..b589e439 100644 Binary files a/osinaweb/osinacore/edit/__pycache__/urls.cpython-310.pyc and b/osinaweb/osinacore/edit/__pycache__/urls.cpython-310.pyc differ diff --git a/osinaweb/osinacore/edit/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/edit/__pycache__/views.cpython-310.pyc index f3d5d3ab..a05932e2 100644 Binary files a/osinaweb/osinacore/edit/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/edit/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-310.pyc index d32793ba..aa357b66 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 cca61d4e..11b97a39 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 90cab1f3..62ef2296 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 1cb9a6c3..d887006b 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 005966db..28d201b0 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 8118ad34..8c666f06 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 fceaf337..1322c1c2 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 4c909d93..56650156 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 7437056a..7429c8ef 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 9d59e118..f16784fc 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 2d301475..fe59817c 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 575e81d9..ec591dd9 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 f2b974f2..b99dbc62 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 e165ed8b..d0b4a24d 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 3c20f5bc..9a553b5c 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 e1e8e4d9..e1f13dc0 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 f584023c..37f2c329 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 88dacdfb..0623d2f1 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 b65291a6..c6b15283 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 f3568d15..512a87bf 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 53c5bf3d..62699c0a 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 90d649aa..790f335d 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 27fab239..e85990c4 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 b98c8121..52c73469 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 9943add1..70320aeb 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 631c6088..67bf4f0f 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 190fe530..66670c33 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 2d041611..4e9abdc9 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 8f8e2c8d..2ce7dddd 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 51e41bd4..9bde2221 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 d72eb6b2..60531a83 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 b8490d9f..f447ade1 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 527f8ba5..6de336e7 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 dedaf26f..7ac6789f 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 9bdffc17..a9531156 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 e1d0b18b..0d1535be 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 cd44f630..bbfd8ba8 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 ff8547fe..ca01bebe 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 3e78d578..36b25d77 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 0c8e4f83..b7101d04 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 f96664cd..6803a340 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 7af9eaad..68691678 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 97211b74..fa571661 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 60db062f..c663726f 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 0af638a8..b6766e10 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 16aae4c1..1f651bb1 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 5dfd8fcf..8da362bd 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 0a5fd1c6..ae5d42b7 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 72801dee..3dc66f53 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 3c41d5ae..a5ae9d0e 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 26a31e43..e165df7a 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 b4b5ed6f..2207680b 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 47ce1c27..77e19603 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 e0878822..19b2bd58 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 20f80f86..ab8b7c5b 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 1b1fc220..899e47d9 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 0d5544c5..09f2612e 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 fbe196a7..4f184c34 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 index 84a0854c..24b0f3b9 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0059_alter_task_requirement.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-310.pyc index 8a13e1bf..dcd45e0d 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0060_pointactivity_total_time.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-310.pyc index 453dcff2..36e51a6f 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0061_alter_task_end_date_alter_task_start_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-310.pyc index c85f8a47..de327c8d 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0062_connection.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-310.pyc index 60e9e964..4704cf00 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0063_alter_connection_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-310.pyc index cc637ff4..5a527c15 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0064_reaction.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-310.pyc index 7203a0ca..7a0cadf3 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0065_alter_customerprofile_status.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-310.pyc index 1a104ec1..7668f9d0 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0066_remove_customerprofile_business_business_customer.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-310.pyc index 1e8fe87a..9f09e4aa 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0067_customerprofile_confirmed.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-310.pyc index 9197b95a..d32d5420 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0068_remove_customerprofile_confirmed_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-310.pyc index ddfc6a51..70b5caf3 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0069_alter_business_logo_alter_projectfile_file_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-310.pyc index f9c1f9bc..3189ab3c 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0070_department_alter_staffprofile_staff_position_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-310.pyc index a6267c2f..4ab07da7 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0071_projecttype_department_ticket.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0072_ticketupdate_ticketreaction_ticketattachment.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0072_ticketupdate_ticketreaction_ticketattachment.cpython-310.pyc index 74138caf..df4cf6d4 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0072_ticketupdate_ticketreaction_ticketattachment.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0072_ticketupdate_ticketreaction_ticketattachment.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-310.pyc index fce9fa99..799aa710 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0073_alter_ticket_regarding.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-310.pyc index 4267b323..6a666d60 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0074_rename_dare_added_ticketupdate_date_added.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-310.pyc index e7afd02f..3fa3bc76 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0075_remove_ticketattachment_ticket_and_more.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0076_alter_reference_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0076_alter_reference_date.cpython-310.pyc index 628be6de..833053bd 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0076_alter_reference_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0076_alter_reference_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0077_remove_project_status_project_active_projectstatus.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0077_remove_project_status_project_active_projectstatus.cpython-310.pyc index 43666596..00b634c4 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0077_remove_project_status_project_active_projectstatus.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0077_remove_project_status_project_active_projectstatus.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0078_alter_projectstatus_status.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0078_alter_projectstatus_status.cpython-310.pyc index 7e3f9f26..2171c66e 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0078_alter_projectstatus_status.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0078_alter_projectstatus_status.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0079_alter_project_end_date_alter_project_start_date.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0079_alter_project_end_date_alter_project_start_date.cpython-310.pyc index fd81cfd1..bc4bf2c3 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0079_alter_project_end_date_alter_project_start_date.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0079_alter_project_end_date_alter_project_start_date.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0080_project_logo.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0080_project_logo.cpython-310.pyc index c1e8c331..6d9204e4 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0080_project_logo.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0080_project_logo.cpython-310.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0081_status_task.cpython-310.pyc b/osinaweb/osinacore/migrations/__pycache__/0081_status_task.cpython-310.pyc index 7593e6e8..d0f5d7e9 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0081_status_task.cpython-310.pyc and b/osinaweb/osinacore/migrations/__pycache__/0081_status_task.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 8339fd53..a61519cb 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/templates/customer_index.html b/osinaweb/osinacore/templates/customer_index.html index 41f048f8..6496a23e 100644 --- a/osinaweb/osinacore/templates/customer_index.html +++ b/osinaweb/osinacore/templates/customer_index.html @@ -107,12 +107,12 @@ -

{{ticket.last_update_date_added}}

+

{{ticket.ticketupdate_set.last.date_added}}

-

{{ticket.last_update_added_by}}

+

{{ticket.ticketupdate_set.last.added_by.first_name}}

diff --git a/osinaweb/osinacore/templates/listing_pages/tickets.html b/osinaweb/osinacore/templates/listing_pages/tickets.html index 8b76e4ba..c5807953 100644 --- a/osinaweb/osinacore/templates/listing_pages/tickets.html +++ b/osinaweb/osinacore/templates/listing_pages/tickets.html @@ -86,11 +86,11 @@ -

{{ticket.last_update_date_added}}

+

{{ticket.ticketupdate_set.all.last.date_added}}

-

{{ticket.last_update_added_by}}

+

{{ticket.ticketupdate_set.all.last.added_by.first_name}}

@@ -198,27 +198,31 @@ -

{{ticket.last_update_date_added}}

+

{{ticket.ticketupdate_set.all.last.date_added}}

-

{{ticket.last_update_added_by}}

+

{{ticket.ticketupdate_set.all.last.added_by.first_name}}

- -
- -
+
+ + + + -
- -
+ + +
-
- +
+ + +
diff --git a/osinaweb/osinacore/views.py b/osinaweb/osinacore/views.py index e38cf624..d3bfcad7 100644 --- a/osinaweb/osinacore/views.py +++ b/osinaweb/osinacore/views.py @@ -348,42 +348,51 @@ def my_tasks(request, *args, **kwargs): @staff_login_required def tickets(request, *args, **kwargs): if request.user.is_superuser: - open_tickets = Ticket.objects.filter(status__in=['Open', 'Working On']) - closed_tickets = Ticket.objects.filter(status__in=['Closed']) + all_tickets = Ticket.objects.all() + all_tickets_with_update_date = all_tickets.annotate( + latest_update_date=Max('ticketupdate__date_added')) + all_tickets_ordered = all_tickets_with_update_date.order_by('-latest_update_date') + open_tickets = [] + closed_tickets = [] + for ticket in all_tickets_ordered: + last_status = ticket.ticketstatus_set.last() + if last_status: + last_status = last_status.status + if last_status == 'Closed': + closed_tickets.append(ticket) + else: + open_tickets.append(ticket) + else: + # If no status is found, assume it's open + open_tickets.append(ticket) else: - open_tickets = Ticket.objects.filter(status__in=['Open', 'Working On'], department=request.user.staffprofile.staff_position.department) - closed_tickets = Ticket.objects.filter(status__in=['Closed'], department=request.user.staffprofile.staff_position.department) + all_tickets = Ticket.objects.filter(departments__in=request.user.staffprofile.staffposition.department) + all_tickets_with_update_date = all_tickets.annotate( + latest_update_date=Max('ticketupdate__date_added')) + all_tickets_ordered = all_tickets_with_update_date.order_by('-latest_update_date') + open_tickets = [] + closed_tickets = [] + for ticket in all_tickets_ordered: + last_status = ticket.ticketstatus_set.last() + if last_status: + last_status = last_status.status + if last_status == 'Closed': + closed_tickets.append(ticket) + else: + open_tickets.append(ticket) + else: + # If no status is found, assume it's open + open_tickets.append(ticket) for ticket in open_tickets: unread_updates_count = 0 - last_update = ticket.ticketupdate_set.exclude(added_by=request.user).order_by('-date_added').first() - if last_update: - last_update_added_by = last_update.added_by.first_name - last_update_date_added = last_update.date_added - else: - last_update_added_by = None - last_update_date_added = None - for ticket_update in ticket.ticketupdate_set.exclude(added_by=request.user): if not TicketRead.objects.filter(ticket_update=ticket_update, user=request.user, read=True).exists(): unread_updates_count += 1 ticket.unread_updates_count = unread_updates_count - ticket.last_update_added_by = last_update_added_by - ticket.last_update_date_added = last_update_date_added - - for ticket in closed_tickets: - last_update = ticket.ticketupdate_set.order_by('-date_added').first() - if last_update: - last_update_added_by = last_update.added_by - last_update_date_added = last_update.date_added - else: - last_update_added_by = None - last_update_date_added = None - ticket.last_update_added_by = last_update_added_by - ticket.last_update_date_added = last_update_date_added - + context = { 'open_tickets': open_tickets, 'closed_tickets': closed_tickets diff --git a/osinaweb/osinaweb/__pycache__/__init__.cpython-310.pyc b/osinaweb/osinaweb/__pycache__/__init__.cpython-310.pyc index eed5eb07..8cedfe09 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 bafee41c..6734c538 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 00932899..3b82259a 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 e792eddb..a72140d0 100644 Binary files a/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc and b/osinaweb/osinaweb/__pycache__/wsgi.cpython-310.pyc differ