def get_queryset(self): project_id = int(self.kwargs['project_id']) version_id = int(self.kwargs['version_id']) if str(project_id) != '0': if str(version_id) != '0': qs = models.Task.objects.get_tasks(project_id).filter( Version=int(version_id)).order_by('Priority', 'id') else: qs = models.Task.objects.get_tasks(project_id).order_by( 'Priority', 'id') else: qs = TaskService.all_my_tasks(self.request, 'ALL', self.request.user.id) owners = self.request.GET.get("Owner__in", None) if owners is not None: if ',' in owners: owner_tasks = models.ProjectTaskOwner.objects.all().filter( Owner__in=eval(owners)) else: owner_tasks = models.ProjectTaskOwner.objects.all().filter( Owner=int(owners)) owner_task_ids = [task.Task for task in owner_tasks] qs = qs.filter(id__in=owner_task_ids) return project_filter.ProjectTaskFilterSet(data=self.request.GET, queryset=qs).filter()
def task_delayed_finished_today(project_id, version_id, request): if str(project_id) == "0": project_all_tasks = TaskService.all_my_tasks( request, request.user.id) else: project_all_tasks = TaskService.project_all_tasks(0, project_id) project_all_tasks = project_all_tasks.filter(Status=2).filter( Parent__isnull=True) if str(version_id) != "0": project_all_tasks = project_all_tasks.filter( Version=int(version_id)) return project_all_tasks.filter(DeadLine__lt=F('FinishedDate')).count()
def task_count_bystatus(project_id, version_id, request): if str(project_id) == "0": project_all_tasks = TaskService.all_my_tasks( request, request.user.id) else: project_all_tasks = TaskService.project_all_tasks(0, project_id) if str(version_id) != "0": project_all_tasks = project_all_tasks.filter( Version=int(version_id)) project_all_tasks = project_all_tasks.filter(Parent__isnull=True) result = project_all_tasks.values('Status').annotate( TotalCount=Count('id')).order_by('Status') return result
def task_delayed_today(project_id, version_id, request): if str(project_id) == "0": project_all_tasks = TaskService.all_my_tasks( request, request.user.id) else: project_all_tasks = TaskService.project_all_tasks(0, project_id) project_all_tasks = project_all_tasks.exclude(Status=2).filter( Parent__isnull=True) if str(version_id) != "0": project_all_tasks = project_all_tasks.filter( Version=int(version_id)) return project_all_tasks.filter( DeadLine__lt=DateTimeHelper.get_now_date()).count()
def task_finished_today(project_id, version_id, request): if str(project_id) == "0": project_all_tasks = TaskService.all_my_tasks( request, request.user.id) else: project_all_tasks = TaskService.project_all_tasks(0, project_id) if str(version_id) != "0": project_all_tasks = project_all_tasks.filter( Version=int(version_id)) project_all_tasks = project_all_tasks.filter(Parent__isnull=True) return project_all_tasks.filter( FinishedDate=DateTimeHelper.get_now_date()).count()
def get_queryset(self): project_id = int(self.kwargs['project_id']) version_id = int(self.kwargs['version_id']) if str(project_id) != '0': if str(version_id) != '0': qs = models.Task.objects.get_tasks(project_id).filter( Version=int(version_id)).order_by('-Priority', '-id') else: qs = models.Task.objects.get_tasks(project_id).order_by( '-Priority', '-id') else: qs = TaskService.all_my_tasks(self.request, 'ALL', self.request.user.id) return project_filter.ProjectTaskFilterSet(data=self.request.GET, queryset=qs).filter()
def get_task_sub_navbar(self, request, task_list, sub_nav_action): task_list = TaskService.all_my_tasks(request, sub_nav_action, 0) owner_id_list = list() vm_members = list() for task in task_list: temp_list = eval(task.Owner) for owner in temp_list: if owner != "" and owner not in owner_id_list: owner_id_list.append(owner) for owner_id in owner_id_list: member = UserService.get_user(int(owner_id)) tmp_member = VM_ProjectMember(0, member, 0, None) vm_members.append(tmp_member) return self.get_left_nav_bar(request, self.sub_side_bar_model, HomeTaskPath.sub_nav_template_path, sub_nav_action=sub_nav_action, tasks=task_list, members=vm_members)
def get_full_page(self, request, start_index, sub_nav_action): owner = 0 if sub_nav_action.upper() == "CREATEBYME" or sub_nav_action.upper( ) == "ASGINME": owner = request.user.id task_list = TaskService.all_my_tasks(request, sub_nav_action, owner) page_index = [start_index, start_index + 8] sub_leftnav = self.get_task_sub_navbar(request, task_list, sub_nav_action) left_nav_bar = self.get_task_left_bar(request, sub_nav_action) task_page_worker = ProjectTaskPageWorker(request) task_list_webpart = task_page_worker.get_task_list_webpart( task_list, page_index, True, False, True) page_fileds = { 'left_nav_bar': left_nav_bar, 'sub_leftnav': sub_leftnav, 'task_list': task_list_webpart } return self.get_page(page_fileds, HomeTaskPath.task_index_path, request)
def task_count(self): all_my_tasks = TaskService.all_my_tasks(self.request, 'ALL', self.request.user.id) all_my_tasks = all_my_tasks.filter(Status__in=(0, 1)).filter(Parent=None) return len(all_my_tasks)