diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index e2078050..b94cc183 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/input.css b/osinaweb/input.css index 08626b60..c417e1de 100644 --- a/osinaweb/input.css +++ b/osinaweb/input.css @@ -2,19 +2,19 @@ @tailwind components; @tailwind utilities; -.fixedSideHeader::-webkit-scrollbar { +::-webkit-scrollbar { width: 5px; /* Width of the entire scrollbar */ } -.fixedSideHeader::-webkit-scrollbar-thumb { - background: #7B8894; +::-webkit-scrollbar-thumb { + background: #7b88948b; /* Color of the scroll thumb */ } -.fixedSideHeader::-webkit-scrollbar-track { - background: #5a5a5a3c; +::-webkit-scrollbar-track { + background: #5a5a5a00; /* Color of the scrollbar track */ } diff --git a/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc index cd567238..94c2a6dd 100644 Binary files a/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/__init__.cpython-311.pyc differ diff --git a/osinaweb/osinacore/__pycache__/admin.cpython-311.pyc b/osinaweb/osinacore/__pycache__/admin.cpython-311.pyc index f2484513..e43960a3 100644 Binary files a/osinaweb/osinacore/__pycache__/admin.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/admin.cpython-311.pyc differ diff --git a/osinaweb/osinacore/__pycache__/apps.cpython-311.pyc b/osinaweb/osinacore/__pycache__/apps.cpython-311.pyc index 71747d5c..ac2ecdf0 100644 Binary files a/osinaweb/osinacore/__pycache__/apps.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/apps.cpython-311.pyc differ diff --git a/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc b/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc index 7cb327b8..a482d4a5 100644 Binary files a/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/custom_context.cpython-311.pyc differ diff --git a/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc b/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc index b22d2dc8..9fb98835 100644 Binary files a/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/forms.cpython-311.pyc differ diff --git a/osinaweb/osinacore/__pycache__/models.cpython-311.pyc b/osinaweb/osinacore/__pycache__/models.cpython-311.pyc index e8fa5c2d..3304a066 100644 Binary files a/osinaweb/osinacore/__pycache__/models.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/models.cpython-311.pyc differ diff --git a/osinaweb/osinacore/__pycache__/views.cpython-311.pyc b/osinaweb/osinacore/__pycache__/views.cpython-311.pyc index ab8b1dc8..7756384c 100644 Binary files a/osinaweb/osinacore/__pycache__/views.cpython-311.pyc and b/osinaweb/osinacore/__pycache__/views.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-311.pyc index 516a219b..3407b306 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0001_initial.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-311.pyc index aedcd9e0..6ec4deaa 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0002_projecttype_alter_business_options_staffprofile_and_more.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-311.pyc index 5d8f46c4..c064e814 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0003_milestone.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-311.pyc index ebc3a91a..c0c57c9b 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0004_epic.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-311.pyc index db5ae7e7..42b8e96a 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0005_staffprofile_image.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-311.pyc index eeb590b3..51fbacbc 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0006_note.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-311.pyc index 780341fa..6dc06527 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0007_project_project_id_alter_project_status.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-311.pyc index 73e6f7ca..d4ade6df 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0008_alter_project_project_id.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-311.pyc index 2a7c0ac2..c21dd392 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0009_alter_project_project_id.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-311.pyc index dee6f261..2ec8a9e3 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0010_remove_note_date.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-311.pyc index ae2b669b..69a76131 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0011_note_date_alter_note_color_alter_note_text_and_more.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc index 3dfb1b84..c9a6e830 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0012_projectrequirement.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-311.pyc index e192d90a..11dddb71 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0013_projectfile.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-311.pyc index eb695982..a62b0af7 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0014_alter_projectfile_file.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-311.pyc index a5bb1db4..2ecaa555 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0015_projectcredentials.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-311.pyc index 36541a91..c91388fa 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0016_rename_projectcredentials_projectcredential.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-311.pyc index 914b201b..9269e883 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0017_alter_project_end_date_alter_project_start_date.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-311.pyc index 982b3f8f..dfc77dff 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0018_epic_status.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-311.pyc index 56145d62..e28c07d4 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0019_alter_epic_end_date_alter_epic_start_date.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-311.pyc index faf407dd..9cccd935 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0020_task.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-311.pyc index 242513be..7a956368 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0021_alter_customerprofile_business_and_more.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-311.pyc index ec82bf89..a497d2ff 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0022_customerprofile_customer_id.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-311.pyc index 997ce660..07792cb7 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0023_task_assigned_to.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-311.pyc index 9724e225..83f0c7d5 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0024_task_task_id.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc index 785e5b86..38baa778 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0025_status.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-311.pyc index 12e83060..1a08a0e6 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0026_remove_status_user_status_staff.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-311.pyc index a0d8a173..ef897b2e 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0027_alter_status_staff.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-311.pyc index 8b6f095c..2b5eca51 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0028_remove_projecttype_color.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-311.pyc index a90084e8..4b5e293e 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0029_alter_reference_date.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc index dc4216a2..0724712c 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0030_tag.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-311.pyc index 2fb939cc..eaf58b82 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/0031_alter_staffprofile_image.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-311.pyc new file mode 100644 index 00000000..20f8043c Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0032_point.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-311.pyc new file mode 100644 index 00000000..7dad039b Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0033_point_date_completed_point_date_workingon_and_more.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-311.pyc new file mode 100644 index 00000000..8ee97ad2 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0034_alter_point_date_completed_and_more.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-311.pyc new file mode 100644 index 00000000..e4c85d92 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0035_business_business_id.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-311.pyc new file mode 100644 index 00000000..de45b83d Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0036_staffposition_alter_staffprofile_position.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-311.pyc new file mode 100644 index 00000000..7dbd7359 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0037_remove_staffprofile_position.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-311.pyc new file mode 100644 index 00000000..78a43fc7 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0038_staffprofile_staff_position.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-311.pyc new file mode 100644 index 00000000..ebd384b6 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0039_alter_staffprofile_staff_position.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-311.pyc new file mode 100644 index 00000000..e7408380 Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0040_staffprofile_staff_id.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-311.pyc new file mode 100644 index 00000000..a7e5a39d Binary files /dev/null and b/osinaweb/osinacore/migrations/__pycache__/0041_dailyreport.cpython-311.pyc differ diff --git a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc index 665bc290..f4eb102e 100644 Binary files a/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc and b/osinaweb/osinacore/migrations/__pycache__/__init__.cpython-311.pyc differ diff --git a/osinaweb/osinacore/views.py b/osinaweb/osinacore/views.py index da61cb70..54f7168e 100644 --- a/osinaweb/osinacore/views.py +++ b/osinaweb/osinacore/views.py @@ -11,10 +11,10 @@ from django.db.models import Q from django.http import JsonResponse from .models import Task, Epic from datetime import date +from django.http import HttpResponseRedirect # Pages views - def signin(request): if request.user.is_authenticated: return redirect('home') @@ -74,6 +74,7 @@ def home(request, *args, **kwargs): return render(request, 'index.html', context) +#Listing Pages @login_required def my_projects(request, *args, **kwargs): user = request.user @@ -91,7 +92,7 @@ def my_projects(request, *args, **kwargs): 'projects' : projects, } - return render(request, 'projects.html', context) + return render(request, 'listing_pages/projects.html', context) @login_required @@ -107,7 +108,7 @@ def my_tasks(request, *args, **kwargs): 'my_tasks' : my_tasks } - return render(request, 'tasks.html', context) + return render(request, 'listing_pages/tasks.html', context) @login_required @@ -118,152 +119,129 @@ def customers(request, *args, **kwargs): 'customers' : customers, } - return render(request, 'customers.html', context) - + return render(request, 'listing_pages/customers.html', context) @login_required -def detailed_project(request, project_id): - project = get_object_or_404(Project, project_id=project_id) - epics = Epic.objects.filter(project=project) - - selected_epic_id = request.GET.get('epic_id') # Get the selected epic_id from the query parameters - - if selected_epic_id: - selected_epic = get_object_or_404(Epic, id=selected_epic_id) - related_tasks = Task.objects.filter(epic=selected_epic) - else: - selected_epic = None - related_tasks = [] +def project_types(request): + projecttypes = ProjectType.objects.all().order_by('-id') context = { - 'project': project, - 'epics': epics, - 'selected_epic': selected_epic, # Pass the selected epic to the template - 'related_tasks': related_tasks, # Pass the related tasks to the template + 'projecttypes' : projecttypes, } + return render(request, 'listing_pages/project-types.html', context) - return render(request, 'project-details.html', context) @login_required -def createtask_project(request, project_id): - project = get_object_or_404(Project, project_id=project_id) - epics_of_my_project = Epic.objects.filter(project=project) - staffs = StaffProfile.objects.all().order_by('-id') - context = { +def references(request): + references = Reference.objects.all().order_by('-id') + + context = { + 'references' : references, - 'project' : project, - 'epics_of_my_project' : epics_of_my_project, - 'staffs' : staffs, } - return render(request, 'createtask-project.html', context) + return render(request, 'listing_pages/references.html', context) @login_required -def create_project(request): - staffs = StaffProfile.objects.all().order_by('-first_name') - project_types = ProjectType.objects.all() - customers = CustomerProfile.objects.all().order_by('-first_name') - context = { - 'staffs' : staffs, - 'project_types' : project_types, - 'customers' : customers, - - } - return render(request, 'create-project.html', context) +def tags(request): + tags = Tag.objects.all().order_by('-id') -@login_required -def create_epic(request, project_id): - project = get_object_or_404(Project, project_id=project_id) + context = { + 'tags' : tags, - context = { - 'project' : project, - } - return render(request, 'create-epic.html', context) - -@login_required -def create_task(request): - context = { + return render(request, 'listing_pages/tags.html', context) - } - return render(request, 'create-task.html', context) +def daily_reports(request): -@login_required -def createtask_epic(request): - context = { + dailyreports = DailyReport.objects.all().order_by('-id') - } - return render(request, 'createtask-epic.html', context) + context = { + 'dailyreports' : dailyreports, -@login_required -def add_customer(request): - businesses = Business.objects.all().order_by('-id') - references = Reference.objects.all().order_by('-id') - context = { - 'businesses' : businesses, - 'references' :references } - return render(request, 'add-customer.html', context) + return render(request, 'listing_pages/daily-reports.html', context) @login_required -def customerdetails(request, customer_id): - customer = get_object_or_404(CustomerProfile, customer_id=customer_id) - context = { - 'customer' : customer, +def businesses(request): + businesses = Business.objects.all().order_by('-business_id') + context = { + 'businesses' : businesses, } - return render(request, 'customer-details.html', context) - + return render(request, 'listing_pages/businesses.html', context) @login_required -def addbusiness(request): +def staffs(request): + staffs = StaffProfile.objects.all().order_by('-staff_id') context = { - + 'staffs' : staffs, + } - return render(request, 'add-business.html', context) - + return render(request, 'listing_pages/staffs.html', context) @login_required -def businessdetails(request, business_id): - business = get_object_or_404(Business, business_id=business_id) - context = { - 'business' : business, +def staff_positions(request): - } - return render(request, 'business-details.html', context) + staffpositions = StaffPosition.objects.all().order_by('-id') + context = { + + 'staffpositions' : staffpositions, -@login_required -def businesses(request): - businesses = Business.objects.all().order_by('-business_id') - context = { - 'businesses' : businesses, } - return render(request, 'businesses.html', context) + return render(request, 'listing_pages/staff-positions.html', context) +#Details pages @login_required -def addstaff(request): +def detailed_project(request, project_id): + project = get_object_or_404(Project, project_id=project_id) + epics = Epic.objects.filter(project=project) - staffpositions = StaffPosition.objects.all().order_by('-id') + selected_epic_id = request.GET.get('epic_id') # Get the selected epic_id from the query parameters + + if selected_epic_id: + selected_epic = get_object_or_404(Epic, id=selected_epic_id) + related_tasks = Task.objects.filter(epic=selected_epic) + else: + selected_epic = None + related_tasks = [] context = { + 'project': project, + 'epics': epics, + 'selected_epic': selected_epic, # Pass the selected epic to the template + 'related_tasks': related_tasks, # Pass the related tasks to the template + } - 'staffpositions' : staffpositions, + return render(request, 'details_pages/project-details.html', context) +@login_required +def customerdetails(request, customer_id): + customer = get_object_or_404(CustomerProfile, customer_id=customer_id) + context = { + 'customer' : customer, } - return render(request, 'add-staff.html', context) + return render(request, 'details_pages/customer-details.html', context) +@login_required +def businessdetails(request, business_id): + business = get_object_or_404(Business, business_id=business_id) + context = { + 'business' : business, + } + return render(request, 'details_pages/business-details.html', context) @login_required def staffdetails( request, staff_id): @@ -272,97 +250,115 @@ def staffdetails( request, staff_id): context = { 'staff' : staff, } - return render(request, 'staff-details.html', context) + return render(request, 'details_pages/staff-details.html', context) @login_required -def staff_positions(request): - - staffpositions = StaffPosition.objects.all().order_by('-id') +def detailed_task(request, task_id): + task = get_object_or_404(Task, task_id=task_id) + points = Point.objects.filter(task=task).order_by('-id') context = { - - 'staffpositions' : staffpositions, - + 'task': task, + 'points' : points, } - return render(request, 'staff-positions.html', context) + + return render(request, 'details_pages/task-details.html', context) +#Add Pages @login_required -def staffs(request): - staffs = StaffProfile.objects.all().order_by('-staff_id') +def createtask_project(request, project_id): + project = get_object_or_404(Project, project_id=project_id) + epics_of_my_project = Epic.objects.filter(project=project) + staffs = StaffProfile.objects.all().order_by('-id') + context = { - context = { + 'project' : project, + 'epics_of_my_project' : epics_of_my_project, 'staffs' : staffs, - } - return render(request, 'staffs.html', context) - + return render(request, 'add_pages/createtask-project.html', context) @login_required -def detailed_task(request, task_id): - task = get_object_or_404(Task, task_id=task_id) - points = Point.objects.filter(task=task).order_by('-id') - - context = { - 'task': task, - 'points' : points, +def create_project(request): + staffs = StaffProfile.objects.all().order_by('-first_name') + project_types = ProjectType.objects.all() + customers = CustomerProfile.objects.all().order_by('-first_name') + context = { + 'staffs' : staffs, + 'project_types' : project_types, + 'customers' : customers, } + return render(request, 'add_pages/create-project.html', context) - return render(request, 'task-details.html', context) +@login_required +def create_epic(request, project_id): + project = get_object_or_404(Project, project_id=project_id) + context = { + 'project' : project, + + } + return render(request, 'add_pages/create-epic.html', context) @login_required -def project_types(request): - projecttypes = ProjectType.objects.all().order_by('-id') +def create_task(request): + context = { - context = { - 'projecttypes' : projecttypes, } - return render(request, 'project-types.html', context) - + return render(request, 'add_pages/create-task.html', context) @login_required -def references(request): - references = Reference.objects.all().order_by('-id') - - context = { - 'references' : references, - +def createtask_epic(request): + context = { } - return render(request, 'references.html', context) + return render(request, 'add_pages/createtask-epic.html', context) +@login_required +def add_customer(request): + businesses = Business.objects.all().order_by('-id') + references = Reference.objects.all().order_by('-id') + context = { + 'businesses' : businesses, + 'references' :references + } + return render(request, 'add_pages/add-customer.html', context) + @login_required -def tags(request): - tags = Tag.objects.all().order_by('-id') +def addbusiness(request): context = { - 'tags' : tags, } - return render(request, 'tags.html', context) + return render(request, 'add_pages/add-business.html', context) -def daily_reports(request): - dailyreports = DailyReport.objects.all().order_by('-id') +@login_required +def addstaff(request): + + staffpositions = StaffPosition.objects.all().order_by('-id') context = { - 'dailyreports' : dailyreports, + + 'staffpositions' : staffpositions, } - return render(request, 'daily-reports.html', context) + return render(request, 'add_pages/add-staff.html', context) + + def add_daily_report(request): @@ -375,7 +371,7 @@ def add_daily_report(request): } - return render(request, 'add-daily-report.html', context) + return render(request, 'add_pages/add-daily-report.html', context) @@ -388,26 +384,26 @@ def add_note_modal(request, *args, **kwargs): context = { } - return render(request, 'addnote-modal.html', context) + return render(request, 'popup_modals/addnote-modal.html', context) def add_status_modal(request, *args, **kwargs): context = { } - return render(request, 'addstatus-modal.html', context) + return render(request, 'popup_modals/addstatus-modal.html', context) def add_file_modal(request, *args, **kwargs): context = { } - return render(request, 'addfile-modal.html', context) + return render(request, 'popup_modals/addfile-modal.html', context) def add_credentials_modal(request, *args, **kwargs): context = { } - return render(request, 'addcredentials-modal.html', context) + return render(request, 'popup_modals/addcredentials-modal.html', context) def add_point_modal(request, task_id): @@ -416,19 +412,19 @@ def add_point_modal(request, task_id): 'task' : task, } - return render(request, 'addpoint-modal.html', context) + return render(request, 'popup_modals/addpoint-modal.html', context) def add_time_modal(request, *args, **kwargs): context = { } - return render(request, 'addtime-modal.html', context) + return render(request, 'popup_modals/addtime-modal.html', context) def delete_task_modal(request, *args, **kwargs): context = { } - return render(request, 'deletetask-modal.html', context) + return render(request, 'popup_modals/deletetask-modal.html', context) def show_points_modal(request, task_id): task = get_object_or_404(Task, task_id=task_id) @@ -438,55 +434,57 @@ def show_points_modal(request, task_id): 'points' : points, } - return render(request, 'showpoints-modal.html', context) + return render(request, 'popup_modals/showpoints-modal.html', context) def timeline_modal(request, *args, **kwargs): context = { } - return render(request, 'timeline-modal.html', context) + return render(request, 'popup_modals/timeline-modal.html', context) def update_status_modal(request, *, task_id): task = get_object_or_404(Task, task_id=task_id) + if request.method == 'POST': status = request.POST.get('status') - task.status = status + task.save() + # Reload the parent page using JavaScript + response = HttpResponse('') + return response - task.save() - context = { 'task' : task, - } - return render(request, 'update-status-modal.html', context) + + return render(request, 'popup_modals/update-status-modal.html', context) def add_projecttype_modal(request, *args, **kwargs): context = { } - return render(request, 'addprojecttype-modal.html', context) + return render(request, 'popup_modals/addprojecttype-modal.html', context) def add_reference_modal(request, *args, **kwargs): context = { } - return render(request, 'addreference-modal.html', context) + return render(request, 'popup_modals/addreference-modal.html', context) def add_tag_modal(request, *args, **kwargs): context = { } - return render(request, 'addtag-modal.html', context) + return render(request, 'popup_modals/addtag-modal.html', context) def add_business_modal(request, *args, **kwargs): context = { } - return render(request, 'addbusiness-modal.html', context) + return render(request, 'popup_modals/addbusiness-modal.html', context) def staff_position_modal(request): @@ -494,7 +492,7 @@ def staff_position_modal(request): } - return render(request, 'add-staffposition-modal.html', context) + return render(request, 'popup_modals/add-staffposition-modal.html', context) @@ -637,7 +635,7 @@ def save_epic(request): # Redirect to the detailed project page redirect_url = reverse('detailed-project', args=[project.project_id]) return redirect(redirect_url) - + @login_required def save_task(request): @@ -692,9 +690,11 @@ def save_task(request): # Save the Task object to the database task.save() - # Redirect to the detailed project page - redirect_url = reverse('detailed-project', args=[project.project_id]) - return redirect(redirect_url) + task_id = task.id + + # Redirect to the task detailed page + task_details_url = reverse('detailed-task', args=[task.task_id]) + return HttpResponseRedirect(task_details_url) @@ -979,6 +979,9 @@ def save_point(request): status='Not Completed' ) point.save() + + # Redirect back to the same page + return redirect(request.META.get('HTTP_REFERER', '')) return render(request, 'addpoint-modal.html') @@ -986,7 +989,8 @@ def save_point(request): @login_required -def mark_point_working_on(request, point_id): +def mark_point_working_on(request, point_id, task_id): + task = get_object_or_404(Task, id=task_id) point = get_object_or_404(Point, id=point_id) point.status = 'Working On' current_datetime = datetime.now() @@ -1001,12 +1005,17 @@ def mark_point_working_on(request, point_id): status.save() + + task_id_str = task.task_id - return redirect(request, 'showpoints-modal.html') + # Redirect to the task detailed page + showpoints_url = reverse('showpoints', args=[task_id_str]) + return HttpResponseRedirect(showpoints_url) @login_required -def mark_point_completed(request, point_id): +def mark_point_completed(request, point_id, task_id): + task = get_object_or_404(Task, id=task_id) point = get_object_or_404(Point, id=point_id) point.status = 'Completed' current_datetime = datetime.now() @@ -1022,7 +1031,11 @@ def mark_point_completed(request, point_id): - return redirect(request, 'showpoints-modal.html') + task_id_str = task.task_id + + # Redirect to the task detailed page + showpoints_url = reverse('showpoints', args=[task_id_str]) + return HttpResponseRedirect(showpoints_url) diff --git a/osinaweb/osinaweb/__pycache__/__init__.cpython-311.pyc b/osinaweb/osinaweb/__pycache__/__init__.cpython-311.pyc index 9b65f9a3..3c50783f 100644 Binary files a/osinaweb/osinaweb/__pycache__/__init__.cpython-311.pyc and b/osinaweb/osinaweb/__pycache__/__init__.cpython-311.pyc differ diff --git a/osinaweb/osinaweb/__pycache__/settings.cpython-311.pyc b/osinaweb/osinaweb/__pycache__/settings.cpython-311.pyc index 40877a56..f26083b0 100644 Binary files a/osinaweb/osinaweb/__pycache__/settings.cpython-311.pyc and b/osinaweb/osinaweb/__pycache__/settings.cpython-311.pyc differ diff --git a/osinaweb/osinaweb/__pycache__/urls.cpython-311.pyc b/osinaweb/osinaweb/__pycache__/urls.cpython-311.pyc index 47fde9d9..576f5dd3 100644 Binary files a/osinaweb/osinaweb/__pycache__/urls.cpython-311.pyc and b/osinaweb/osinaweb/__pycache__/urls.cpython-311.pyc differ diff --git a/osinaweb/osinaweb/__pycache__/wsgi.cpython-311.pyc b/osinaweb/osinaweb/__pycache__/wsgi.cpython-311.pyc index 186b2e05..eb8dc300 100644 Binary files a/osinaweb/osinaweb/__pycache__/wsgi.cpython-311.pyc and b/osinaweb/osinaweb/__pycache__/wsgi.cpython-311.pyc differ diff --git a/osinaweb/osinaweb/urls.py b/osinaweb/osinaweb/urls.py index 553d413c..914ab53e 100644 --- a/osinaweb/osinaweb/urls.py +++ b/osinaweb/osinaweb/urls.py @@ -106,8 +106,8 @@ urlpatterns = [ path('editreference/', views.edit_reference, name='editreference'), path('edittag/', views.edit_tag, name='edittag'), path('editstaffposition/', views.edit_staff_position, name='editstaffposition'), - path('mark_point_working_on//', views.mark_point_working_on, name='mark_point_working_on'), - path('mark_point_completed//', views.mark_point_completed, name='mark_point_completed'), + path('mark_point_working_on///', views.mark_point_working_on, name='mark_point_working_on'), + path('mark_point_completed///', views.mark_point_completed, name='mark_point_completed'), ] diff --git a/osinaweb/static/dist/output.css b/osinaweb/static/dist/output.css index 29a413fa..128a53d6 100644 --- a/osinaweb/static/dist/output.css +++ b/osinaweb/static/dist/output.css @@ -1545,6 +1545,10 @@ video { padding-left: 1.25rem; } +.pr-4 { + padding-right: 1rem; +} + .pt-3 { padding-top: 0.75rem; } @@ -1755,18 +1759,18 @@ video { transition-duration: 300ms; } -.fixedSideHeader::-webkit-scrollbar { +::-webkit-scrollbar { width: 5px; /* Width of the entire scrollbar */ } -.fixedSideHeader::-webkit-scrollbar-thumb { - background: #7B8894; +::-webkit-scrollbar-thumb { + background: #7b88948b; /* Color of the scroll thumb */ } -.fixedSideHeader::-webkit-scrollbar-track { - background: #5a5a5a3c; +::-webkit-scrollbar-track { + background: #5a5a5a00; /* Color of the scrollbar track */ } diff --git a/osinaweb/templates/add-business.html b/osinaweb/templates/add_pages/add-business.html similarity index 100% rename from osinaweb/templates/add-business.html rename to osinaweb/templates/add_pages/add-business.html diff --git a/osinaweb/templates/add-customer.html b/osinaweb/templates/add_pages/add-customer.html similarity index 100% rename from osinaweb/templates/add-customer.html rename to osinaweb/templates/add_pages/add-customer.html diff --git a/osinaweb/templates/add-daily-report.html b/osinaweb/templates/add_pages/add-daily-report.html similarity index 100% rename from osinaweb/templates/add-daily-report.html rename to osinaweb/templates/add_pages/add-daily-report.html diff --git a/osinaweb/templates/add-staff.html b/osinaweb/templates/add_pages/add-staff.html similarity index 100% rename from osinaweb/templates/add-staff.html rename to osinaweb/templates/add_pages/add-staff.html diff --git a/osinaweb/templates/create-epic.html b/osinaweb/templates/add_pages/create-epic.html similarity index 100% rename from osinaweb/templates/create-epic.html rename to osinaweb/templates/add_pages/create-epic.html diff --git a/osinaweb/templates/create-project.html b/osinaweb/templates/add_pages/create-project.html similarity index 100% rename from osinaweb/templates/create-project.html rename to osinaweb/templates/add_pages/create-project.html diff --git a/osinaweb/templates/create-task.html b/osinaweb/templates/add_pages/create-task.html similarity index 100% rename from osinaweb/templates/create-task.html rename to osinaweb/templates/add_pages/create-task.html diff --git a/osinaweb/templates/createtask-epic.html b/osinaweb/templates/add_pages/createtask-epic.html similarity index 100% rename from osinaweb/templates/createtask-epic.html rename to osinaweb/templates/add_pages/createtask-epic.html diff --git a/osinaweb/templates/createtask-project.html b/osinaweb/templates/add_pages/createtask-project.html similarity index 100% rename from osinaweb/templates/createtask-project.html rename to osinaweb/templates/add_pages/createtask-project.html diff --git a/osinaweb/templates/business-details.html b/osinaweb/templates/details_pages/business-details.html similarity index 100% rename from osinaweb/templates/business-details.html rename to osinaweb/templates/details_pages/business-details.html diff --git a/osinaweb/templates/customer-details.html b/osinaweb/templates/details_pages/customer-details.html similarity index 100% rename from osinaweb/templates/customer-details.html rename to osinaweb/templates/details_pages/customer-details.html diff --git a/osinaweb/templates/project-details.html b/osinaweb/templates/details_pages/project-details.html similarity index 100% rename from osinaweb/templates/project-details.html rename to osinaweb/templates/details_pages/project-details.html diff --git a/osinaweb/templates/staff-details.html b/osinaweb/templates/details_pages/staff-details.html similarity index 100% rename from osinaweb/templates/staff-details.html rename to osinaweb/templates/details_pages/staff-details.html diff --git a/osinaweb/templates/task-details.html b/osinaweb/templates/details_pages/task-details.html similarity index 100% rename from osinaweb/templates/task-details.html rename to osinaweb/templates/details_pages/task-details.html diff --git a/osinaweb/templates/businesses.html b/osinaweb/templates/listing_pages/businesses.html similarity index 100% rename from osinaweb/templates/businesses.html rename to osinaweb/templates/listing_pages/businesses.html diff --git a/osinaweb/templates/customers.html b/osinaweb/templates/listing_pages/customers.html similarity index 100% rename from osinaweb/templates/customers.html rename to osinaweb/templates/listing_pages/customers.html diff --git a/osinaweb/templates/daily-reports.html b/osinaweb/templates/listing_pages/daily-reports.html similarity index 100% rename from osinaweb/templates/daily-reports.html rename to osinaweb/templates/listing_pages/daily-reports.html diff --git a/osinaweb/templates/project-types.html b/osinaweb/templates/listing_pages/project-types.html similarity index 100% rename from osinaweb/templates/project-types.html rename to osinaweb/templates/listing_pages/project-types.html diff --git a/osinaweb/templates/projects.html b/osinaweb/templates/listing_pages/projects.html similarity index 100% rename from osinaweb/templates/projects.html rename to osinaweb/templates/listing_pages/projects.html diff --git a/osinaweb/templates/references.html b/osinaweb/templates/listing_pages/references.html similarity index 100% rename from osinaweb/templates/references.html rename to osinaweb/templates/listing_pages/references.html diff --git a/osinaweb/templates/staff-positions.html b/osinaweb/templates/listing_pages/staff-positions.html similarity index 100% rename from osinaweb/templates/staff-positions.html rename to osinaweb/templates/listing_pages/staff-positions.html diff --git a/osinaweb/templates/staffs.html b/osinaweb/templates/listing_pages/staffs.html similarity index 100% rename from osinaweb/templates/staffs.html rename to osinaweb/templates/listing_pages/staffs.html diff --git a/osinaweb/templates/tags.html b/osinaweb/templates/listing_pages/tags.html similarity index 100% rename from osinaweb/templates/tags.html rename to osinaweb/templates/listing_pages/tags.html diff --git a/osinaweb/templates/tasks.html b/osinaweb/templates/listing_pages/tasks.html similarity index 100% rename from osinaweb/templates/tasks.html rename to osinaweb/templates/listing_pages/tasks.html diff --git a/osinaweb/templates/add-staffposition-modal.html b/osinaweb/templates/popup_modals/add-staffposition-modal.html similarity index 100% rename from osinaweb/templates/add-staffposition-modal.html rename to osinaweb/templates/popup_modals/add-staffposition-modal.html diff --git a/osinaweb/templates/addcredentials-modal.html b/osinaweb/templates/popup_modals/addcredentials-modal.html similarity index 100% rename from osinaweb/templates/addcredentials-modal.html rename to osinaweb/templates/popup_modals/addcredentials-modal.html diff --git a/osinaweb/templates/addfile-modal.html b/osinaweb/templates/popup_modals/addfile-modal.html similarity index 100% rename from osinaweb/templates/addfile-modal.html rename to osinaweb/templates/popup_modals/addfile-modal.html diff --git a/osinaweb/templates/addnote-modal.html b/osinaweb/templates/popup_modals/addnote-modal.html similarity index 100% rename from osinaweb/templates/addnote-modal.html rename to osinaweb/templates/popup_modals/addnote-modal.html diff --git a/osinaweb/templates/addpoint-modal.html b/osinaweb/templates/popup_modals/addpoint-modal.html similarity index 99% rename from osinaweb/templates/addpoint-modal.html rename to osinaweb/templates/popup_modals/addpoint-modal.html index eaacd2b9..eed398b7 100644 --- a/osinaweb/templates/addpoint-modal.html +++ b/osinaweb/templates/popup_modals/addpoint-modal.html @@ -46,7 +46,7 @@ -