emile 2 years ago
parent 6affc6ae23
commit 1b336baffb

BIN
.DS_Store vendored

Binary file not shown.

BIN
osinaweb/.DS_Store vendored

Binary file not shown.

Binary file not shown.

BIN
osinaweb/node_modules/.DS_Store generated vendored

Binary file not shown.

Binary file not shown.

@ -3,6 +3,22 @@ from django.contrib.auth.models import AnonymousUser
from datetime import datetime, timedelta
def calculate_time_ago(status):
# Convert status.date to a datetime.date object
status_date = datetime.strptime(status.date, '%Y-%m-%d').date()
timestamp = datetime.combine(status_date, datetime.strptime(status.time, '%I:%M %p').time())
time_difference = datetime.now() - timestamp
if time_difference.total_seconds() < 3600:
# If less than an hour, display in minutes
return f"{int(time_difference.total_seconds() / 60)}min ago"
else:
# Display in hours and remaining minutes
hours = int(time_difference.total_seconds() // 3600)
minutes = int((time_difference.total_seconds() % 3600) // 60)
return f"{hours}hr {minutes}min ago"
def utilities(request):
if request.user.is_authenticated and request.user.is_superuser:
open_task_count = Task.objects.filter(status='Open').count()
@ -24,10 +40,15 @@ def utilities(request):
total_tasks = open_task_count + working_on_task_count
latest_statuses = Status.objects.all().order_by('-id')[:12]
# Calculate time ago for each status and store it in a dictionary
latest_statuses_time_ago = [{'status': status, 'time_ago': calculate_time_ago(status)} for status in latest_statuses]
return {'total_tasks': total_tasks, 'latest_statuses' : latest_statuses,}
return {'total_tasks': total_tasks, 'latest_statuses' : latest_statuses, 'latest_statuses_time_ago': latest_statuses_time_ago, }

Binary file not shown.

@ -65,6 +65,7 @@ TEMPLATES = [
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'osinacore.custom_context.utilities',
'osinacore.custom_context.last_status',
'django.template.context_processors.debug',

Binary file not shown.

Binary file not shown.

@ -188,20 +188,24 @@
<div class="w-full h-fit mt-2">
{% for latest in latest_statuses %}
{% for latest in latest_statuses_time_ago %}
<!-- 1ST ROW -->
<div class="w-full flex flex-col py-3">
<div class="w-full flex flex-col justify-center items-start gap-2">
<div class="w-full flex justify-between items-center gap-2">
<div class="flex justify-start gap-2">
<div class="w-[45px] h-[45px] rounded-full">
<img src='{{latest.staff.image.url}}' alt="user profile"
<img src='{{latest.status.staff.image.url}}' alt="user profile"
class="w-full h-full object-cover rounded-full">
</div>
<div class="flex flex-col">
<h1 class="text-sm text-slate-700 font-semibold">{{latest.staff.first_name}}
{{latest.staff.last_name}}</h1>
<p class="text-sm text-gray-500">{{latest.time}}</p>
<h1 class="text-sm text-slate-700 font-semibold">{{latest.status.staff.first_name}}
{{latest.status.staff.last_name}}</h1>
{% if latest.time_ago == '0min ago' %}
<p class="text-sm text-gray-500">Just Now</p>
{%else %}
<p class="text-sm text-gray-500">{{ latest.time_ago}}</p>
{%endif%}
</div>
</div>
<div class="cursor-pointer">
@ -211,7 +215,7 @@
<!-- Status -->
<div class="w-full">
<p class="text-sm text-gray-500">{{latest.text}}</p>
<p class="text-sm text-gray-500">{{latest.status.text}}</p>
</div>
<!-- Add comment section -->

Loading…
Cancel
Save