@@ -102,48 +102,84 @@ def get_queryset(self):
102102 .select_related ("workspace" )
103103 .select_related ("owned_by" )
104104 .annotate (is_favorite = Exists (subquery ))
105- .annotate (total_issues = Count ("issue_cycle" ))
105+ .annotate (
106+ total_issues = Count (
107+ "issue_cycle" ,
108+ filter = Q (
109+ issue_cycle__issue__archived_at__isnull = True ,
110+ issue_cycle__issue__is_draft = False ,
111+ ),
112+ )
113+ )
106114 .annotate (
107115 completed_issues = Count (
108116 "issue_cycle__issue__state__group" ,
109- filter = Q (issue_cycle__issue__state__group = "completed" ),
117+ filter = Q (
118+ issue_cycle__issue__state__group = "completed" ,
119+ issue_cycle__issue__archived_at__isnull = True ,
120+ issue_cycle__issue__is_draft = False ,
121+ ),
110122 )
111123 )
112124 .annotate (
113125 cancelled_issues = Count (
114126 "issue_cycle__issue__state__group" ,
115- filter = Q (issue_cycle__issue__state__group = "cancelled" ),
127+ filter = Q (
128+ issue_cycle__issue__state__group = "cancelled" ,
129+ issue_cycle__issue__archived_at__isnull = True ,
130+ issue_cycle__issue__is_draft = False ,
131+ ),
116132 )
117133 )
118134 .annotate (
119135 started_issues = Count (
120136 "issue_cycle__issue__state__group" ,
121- filter = Q (issue_cycle__issue__state__group = "started" ),
137+ filter = Q (
138+ issue_cycle__issue__state__group = "started" ,
139+ issue_cycle__issue__archived_at__isnull = True ,
140+ issue_cycle__issue__is_draft = False ,
141+ ),
122142 )
123143 )
124144 .annotate (
125145 unstarted_issues = Count (
126146 "issue_cycle__issue__state__group" ,
127- filter = Q (issue_cycle__issue__state__group = "unstarted" ),
147+ filter = Q (
148+ issue_cycle__issue__state__group = "unstarted" ,
149+ issue_cycle__issue__archived_at__isnull = True ,
150+ issue_cycle__issue__is_draft = False ,
151+ ),
128152 )
129153 )
130154 .annotate (
131155 backlog_issues = Count (
132156 "issue_cycle__issue__state__group" ,
133- filter = Q (issue_cycle__issue__state__group = "backlog" ),
157+ filter = Q (
158+ issue_cycle__issue__state__group = "backlog" ,
159+ issue_cycle__issue__archived_at__isnull = True ,
160+ issue_cycle__issue__is_draft = False ,
161+ ),
134162 )
135163 )
136164 .annotate (total_estimates = Sum ("issue_cycle__issue__estimate_point" ))
137165 .annotate (
138166 completed_estimates = Sum (
139167 "issue_cycle__issue__estimate_point" ,
140- filter = Q (issue_cycle__issue__state__group = "completed" ),
168+ filter = Q (
169+ issue_cycle__issue__state__group = "completed" ,
170+ issue_cycle__issue__archived_at__isnull = True ,
171+ issue_cycle__issue__is_draft = False ,
172+ ),
141173 )
142174 )
143175 .annotate (
144176 started_estimates = Sum (
145177 "issue_cycle__issue__estimate_point" ,
146- filter = Q (issue_cycle__issue__state__group = "started" ),
178+ filter = Q (
179+ issue_cycle__issue__state__group = "started" ,
180+ issue_cycle__issue__archived_at__isnull = True ,
181+ issue_cycle__issue__is_draft = False ,
182+ ),
147183 )
148184 )
149185 .prefetch_related (
@@ -196,17 +232,30 @@ def list(self, request, slug, project_id):
196232 .annotate (assignee_id = F ("assignees__id" ))
197233 .annotate (avatar = F ("assignees__avatar" ))
198234 .values ("display_name" , "assignee_id" , "avatar" )
199- .annotate (total_issues = Count ("assignee_id" ))
235+ .annotate (
236+ total_issues = Count (
237+ "assignee_id" ,
238+ filter = Q (archived_at__isnull = True , is_draft = False ),
239+ ),
240+ )
200241 .annotate (
201242 completed_issues = Count (
202243 "assignee_id" ,
203- filter = Q (completed_at__isnull = False ),
244+ filter = Q (
245+ completed_at__isnull = False ,
246+ archived_at__isnull = True ,
247+ is_draft = False ,
248+ ),
204249 )
205250 )
206251 .annotate (
207252 pending_issues = Count (
208253 "assignee_id" ,
209- filter = Q (completed_at__isnull = True ),
254+ filter = Q (
255+ completed_at__isnull = True ,
256+ archived_at__isnull = True ,
257+ is_draft = False ,
258+ ),
210259 )
211260 )
212261 .order_by ("display_name" )
@@ -222,17 +271,30 @@ def list(self, request, slug, project_id):
222271 .annotate (color = F ("labels__color" ))
223272 .annotate (label_id = F ("labels__id" ))
224273 .values ("label_name" , "color" , "label_id" )
225- .annotate (total_issues = Count ("label_id" ))
274+ .annotate (
275+ total_issues = Count (
276+ "label_id" ,
277+ filter = Q (archived_at__isnull = True , is_draft = False ),
278+ )
279+ )
226280 .annotate (
227281 completed_issues = Count (
228282 "label_id" ,
229- filter = Q (completed_at__isnull = False ),
283+ filter = Q (
284+ completed_at__isnull = False ,
285+ archived_at__isnull = True ,
286+ is_draft = False ,
287+ ),
230288 )
231289 )
232290 .annotate (
233291 pending_issues = Count (
234292 "label_id" ,
235- filter = Q (completed_at__isnull = True ),
293+ filter = Q (
294+ completed_at__isnull = True ,
295+ archived_at__isnull = True ,
296+ is_draft = False ,
297+ ),
236298 )
237299 )
238300 .order_by ("label_name" )
@@ -385,17 +447,30 @@ def retrieve(self, request, slug, project_id, pk):
385447 .values (
386448 "first_name" , "last_name" , "assignee_id" , "avatar" , "display_name"
387449 )
388- .annotate (total_issues = Count ("assignee_id" ))
450+ .annotate (
451+ total_issues = Count (
452+ "assignee_id" ,
453+ filter = Q (archived_at__isnull = True , is_draft = False ),
454+ ),
455+ )
389456 .annotate (
390457 completed_issues = Count (
391458 "assignee_id" ,
392- filter = Q (completed_at__isnull = False ),
459+ filter = Q (
460+ completed_at__isnull = False ,
461+ archived_at__isnull = True ,
462+ is_draft = False ,
463+ ),
393464 )
394465 )
395466 .annotate (
396467 pending_issues = Count (
397468 "assignee_id" ,
398- filter = Q (completed_at__isnull = True ),
469+ filter = Q (
470+ completed_at__isnull = True ,
471+ archived_at__isnull = True ,
472+ is_draft = False ,
473+ ),
399474 )
400475 )
401476 .order_by ("first_name" , "last_name" )
@@ -412,17 +487,30 @@ def retrieve(self, request, slug, project_id, pk):
412487 .annotate (color = F ("labels__color" ))
413488 .annotate (label_id = F ("labels__id" ))
414489 .values ("label_name" , "color" , "label_id" )
415- .annotate (total_issues = Count ("label_id" ))
490+ .annotate (
491+ total_issues = Count (
492+ "label_id" ,
493+ filter = Q (archived_at__isnull = True , is_draft = False ),
494+ ),
495+ )
416496 .annotate (
417497 completed_issues = Count (
418498 "label_id" ,
419- filter = Q (completed_at__isnull = False ),
499+ filter = Q (
500+ completed_at__isnull = False ,
501+ archived_at__isnull = True ,
502+ is_draft = False ,
503+ ),
420504 )
421505 )
422506 .annotate (
423507 pending_issues = Count (
424508 "label_id" ,
425- filter = Q (completed_at__isnull = True ),
509+ filter = Q (
510+ completed_at__isnull = True ,
511+ archived_at__isnull = True ,
512+ is_draft = False ,
513+ ),
426514 )
427515 )
428516 .order_by ("label_name" )
0 commit comments