@@ -488,7 +488,8 @@ def with_counts(self, *fields):
488488 )
489489
490490 return self .annotate (** annotations )
491-
491+ def active (self ):
492+ return self .filter (is_archived = False , is_marked_for_deletion = False )
492493
493494class UUIDTaggedItem (GenericUUIDTaggedItemBase , TaggedItemBase ):
494495 class Meta :
@@ -532,10 +533,10 @@ class Project(UUIDPKModel, ExtraDataFieldMixin, UpdateMixin, models.Model):
532533 )
533534 notes = models .TextField (blank = True )
534535 settings = models .JSONField (default = dict , blank = True )
536+ is_marked_for_deletion = models .BooleanField (default = False )
535537 labels = TaggableManager (through = UUIDTaggedItem )
536538
537539 objects = ProjectQuerySet .as_manager ()
538- is_marked_for_deletion = models .BooleanField (default = False )
539540
540541 class Meta :
541542 ordering = ["-created_date" ]
@@ -636,15 +637,13 @@ def delete(self, *args, **kwargs):
636637 return super ().delete (* args , ** kwargs )
637638
638639 def mark_for_deletion (self ):
639- self .is_marked_for_deletion = True
640- self .save ()
640+ self .update (is_marked_for_deletion = True )
641641
642642 def delete_in_background (self ):
643643 # Mark the project for deletion and enqueue background deletion task
644644 self .mark_for_deletion ()
645- q = Queue ("default" , connection = redis .Redis ())
646- job = q .enqueue (tasks .background_delete_task , self )
647-
645+ django_rq .enqueue (tasks .background_delete_task , self )
646+
648647 def reset (self , keep_input = True ):
649648 """
650649 Reset the project by deleting all related database objects and all work
0 commit comments