use signal for default label creation
This commit is contained in:
parent
7f06544ece
commit
63adeefce1
5 changed files with 24 additions and 8 deletions
|
@ -0,0 +1 @@
|
||||||
|
default_app_config = 'issue.apps.IssueConfig'
|
10
issue/apps.py
Normal file
10
issue/apps.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
|
||||||
|
class IssueConfig(AppConfig):
|
||||||
|
|
||||||
|
name = 'issue'
|
||||||
|
verbose_name = "Issue Tracker"
|
||||||
|
|
||||||
|
def ready(self):
|
||||||
|
import issue.signals
|
|
@ -27,12 +27,6 @@ class Project(models.Model):
|
||||||
description = models.TextField(blank=True, default="",
|
description = models.TextField(blank=True, default="",
|
||||||
verbose_name="Description")
|
verbose_name="Description")
|
||||||
|
|
||||||
def create_default_labels(self):
|
|
||||||
|
|
||||||
Label(project=self, name='bug', color='#FF0000').save()
|
|
||||||
Label(project=self, name='feature', color='#00A000').save()
|
|
||||||
Label(project=self, name='documentation', color='#1D3DBE').save()
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
||||||
return self.display_name
|
return self.display_name
|
||||||
|
|
13
issue/signals.py
Normal file
13
issue/signals.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
from django.db.models.signals import post_save
|
||||||
|
from django.dispatch import receiver
|
||||||
|
|
||||||
|
from issue.models import Project, Label
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(post_save, sender=Project, dispatch_uid="Create default project labels.")
|
||||||
|
def create_default_project_labels(sender, **kwargs):
|
||||||
|
if kwargs['created']:
|
||||||
|
project = kwargs['instance']
|
||||||
|
Label(project=project, name='bug', color='#FF0000').save()
|
||||||
|
Label(project=project, name='feature', color='#00A000').save()
|
||||||
|
Label(project=project, name='documentation', color='#1D3DBE').save()
|
|
@ -46,8 +46,6 @@ def project_add(request):
|
||||||
|
|
||||||
project = form.save()
|
project = form.save()
|
||||||
|
|
||||||
project.create_default_labels()
|
|
||||||
|
|
||||||
messages.success(request, 'Project added successfully.')
|
messages.success(request, 'Project added successfully.')
|
||||||
|
|
||||||
return redirect('list-issue', project.name)
|
return redirect('list-issue', project.name)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue