Fixed wrong increment of ref value on tasks and user stories.
parent
69bd2f5746
commit
b1b23c9f6b
|
@ -30,20 +30,6 @@ def attach_uuid(sender, instance, **kwargs):
|
||||||
instance.uuid = unicode(uuid.uuid1())
|
instance.uuid = unicode(uuid.uuid1())
|
||||||
|
|
||||||
|
|
||||||
# Centraliced reference assignation.
|
|
||||||
@receiver(signals.pre_save, sender=Task)
|
|
||||||
@receiver(signals.pre_save, sender=UserStory)
|
|
||||||
def attach_unique_reference(sender, instance, **kwargs):
|
|
||||||
project = Project.objects.select_for_update().filter(pk=instance.project_id).get()
|
|
||||||
if isinstance(instance, Task):
|
|
||||||
project.last_task_ref += 1
|
|
||||||
instance.ref = project.last_task_ref
|
|
||||||
else:
|
|
||||||
project.last_us_ref += 1
|
|
||||||
instance.ref = project.last_us_ref
|
|
||||||
|
|
||||||
project.save()
|
|
||||||
|
|
||||||
|
|
||||||
class User(AbstractUser):
|
class User(AbstractUser):
|
||||||
color = models.CharField(max_length=9, null=False, blank=False, default="#669933",
|
color = models.CharField(max_length=9, null=False, blank=False, default="#669933",
|
||||||
|
|
|
@ -25,9 +25,6 @@ def slugify_uniquely(value, model, slugfield="slug"):
|
||||||
|
|
||||||
|
|
||||||
def ref_uniquely(p, seq_field, model, field='ref'):
|
def ref_uniquely(p, seq_field, model, field='ref'):
|
||||||
"""
|
|
||||||
Returns a unique reference code based on base64 and time.
|
|
||||||
"""
|
|
||||||
project = p.__class__.objects.select_for_update().get(pk=p.pk)
|
project = p.__class__.objects.select_for_update().get(pk=p.pk)
|
||||||
ref = getattr(project, seq_field) + 1
|
ref = getattr(project, seq_field) + 1
|
||||||
|
|
||||||
|
|
|
@ -505,9 +505,6 @@ class Task(models.Model):
|
||||||
if self.id:
|
if self.id:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
if not self.ref:
|
|
||||||
self.ref = ref_uniquely(self.project, 'last_task_ref', self.__class__)
|
|
||||||
|
|
||||||
super(Task, self).save(*args, **kwargs)
|
super(Task, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
@ -578,9 +575,6 @@ class Issue(models.Model):
|
||||||
if self.id:
|
if self.id:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
if not self.ref:
|
|
||||||
self.ref = ref_uniquely(self.project, 'last_issue_ref', self.__class__)
|
|
||||||
|
|
||||||
super(Issue, self).save(*args, **kwargs)
|
super(Issue, self).save(*args, **kwargs)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -626,13 +620,20 @@ def project_post_save(sender, instance, created, **kwargs):
|
||||||
IssueType.objects.create(project=instance, name=name, order=order)
|
IssueType.objects.create(project=instance, name=name, order=order)
|
||||||
|
|
||||||
|
|
||||||
@receiver(models.signals.pre_save, sender=UserStory, dispatch_uid='user_story_ref_handler')
|
@receiver(models.signals.pre_save, sender=Task, dispatch_uid='task_ref_handler')
|
||||||
def user_story_ref_handler(sender, instance, **kwargs):
|
def task_ref_handler(sender, instance, **kwargs):
|
||||||
"""
|
if not instance.id and instance.project:
|
||||||
Automatically assignes a seguent reference code to a
|
instance.ref = ref_uniquely(instance.project, 'last_task_ref', instance.__class__)
|
||||||
user story if that is not created.
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(models.signals.pre_save, sender=Issue, dispatch_uid='issue_ref_handler')
|
||||||
|
def issue_ref_handler(sender, instance, **kwargs):
|
||||||
|
if not instance.id and instance.project:
|
||||||
|
instance.ref = ref_uniquely(instance.project, 'last_issue_ref', instance.__class__)
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(models.signals.pre_save, sender=UserStory, dispatch_uid='user_story_ref_handler')
|
||||||
|
def us_ref_handler(sender, instance, **kwargs):
|
||||||
if not instance.id and instance.project:
|
if not instance.id and instance.project:
|
||||||
instance.ref = ref_uniquely(instance.project, 'last_us_ref', instance.__class__)
|
instance.ref = ref_uniquely(instance.project, 'last_us_ref', instance.__class__)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue