|
|
@ -4,9 +4,8 @@ from django.contrib.auth import authenticate, login, logout
|
|
|
|
from django.contrib.auth import login as auth_login
|
|
|
|
from django.contrib.auth import login as auth_login
|
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
|
from .forms import *
|
|
|
|
from .forms import *
|
|
|
|
from django.utils import timezone
|
|
|
|
|
|
|
|
from django.http import HttpResponse
|
|
|
|
from django.http import HttpResponse
|
|
|
|
from django.db.models import Q
|
|
|
|
from django.db.models import Count, Q
|
|
|
|
from django.http import JsonResponse
|
|
|
|
from django.http import JsonResponse
|
|
|
|
from .models import Task, Epic
|
|
|
|
from .models import Task, Epic
|
|
|
|
from django.template.loader import render_to_string
|
|
|
|
from django.template.loader import render_to_string
|
|
|
@ -305,7 +304,7 @@ def my_projects(request, *args, **kwargs):
|
|
|
|
project.total_time_worked_seconds = total_time['seconds']
|
|
|
|
project.total_time_worked_seconds = total_time['seconds']
|
|
|
|
|
|
|
|
|
|
|
|
project.open_user_tasks_count = project.open_tasks_count(request.user)
|
|
|
|
project.open_user_tasks_count = project.open_tasks_count(request.user)
|
|
|
|
project.open_tickets_count = Ticket.objects.filter(project=project).exclude(status='Closed').count()
|
|
|
|
project.open_tickets_count = Ticket.objects.filter(project=project).annotate(closed_status_count=Count('ticketstatus', filter=Q(ticketstatus__status='Closed'))).filter(closed_status_count=0).count()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
in_progress_projects = [project for project in in_progress_projects if project.id not in latest_pinned_project_ids] #Exclude pinned projects
|
|
|
|
in_progress_projects = [project for project in in_progress_projects if project.id not in latest_pinned_project_ids] #Exclude pinned projects
|
|
|
@ -316,8 +315,7 @@ def my_projects(request, *args, **kwargs):
|
|
|
|
project.total_time_worked_seconds = total_time['seconds']
|
|
|
|
project.total_time_worked_seconds = total_time['seconds']
|
|
|
|
|
|
|
|
|
|
|
|
project.open_user_tasks_count = project.open_tasks_count(request.user)
|
|
|
|
project.open_user_tasks_count = project.open_tasks_count(request.user)
|
|
|
|
project.open_tickets_count = Ticket.objects.filter(project=project).exclude(status='Closed').count()
|
|
|
|
project.open_tickets_count = Ticket.objects.filter(project=project).annotate(closed_status_count=Count('ticketstatus', filter=Q(ticketstatus__status='Closed'))).filter(closed_status_count=0).count()
|
|
|
|
|
|
|
|
|
|
|
|
context = {
|
|
|
|
context = {
|
|
|
|
'projects': projects,
|
|
|
|
'projects': projects,
|
|
|
|
'in_progress_projects': in_progress_projects,
|
|
|
|
'in_progress_projects': in_progress_projects,
|
|
|
|