38686-vm/core/views.py
Flatlogic Bot 28c36a1e12 Ver 1.02
2026-02-22 12:55:15 +00:00

35 lines
1.2 KiB
Python

from django.shortcuts import render, redirect
from django.utils import timezone
from .models import Worker, Project, WorkLog, Team
from .forms import AttendanceLogForm
from django.contrib import messages
from django.contrib.auth.decorators import login_required
# Home view for the dashboard
@login_required
def index(request):
total_workers = Worker.objects.filter(active=True).count()
total_projects = Project.objects.filter(active=True).count()
today_attendance = WorkLog.objects.filter(date=timezone.now().date()).count()
context = {
'total_workers': total_workers,
'total_projects': total_projects,
'today_attendance': today_attendance,
}
return render(request, 'core/index.html', context)
# View for logging attendance
@login_required
def attendance_log(request):
if request.method == 'POST':
form = AttendanceLogForm(request.POST)
if form.is_valid():
form.save()
messages.success(request, 'Attendance logged successfully!')
return redirect('home')
else:
form = AttendanceLogForm(initial={'date': timezone.now().date()})
return render(request, 'core/attendance_log.html', {'form': form})