Set a default value per project for all statuses, types, points, priorities, sverityes...

remotes/origin/enhancement/email-actions
David Barragán Merino 2013-11-05 16:23:47 +01:00
parent 41dc3fbcc0
commit 578478c735
3 changed files with 368 additions and 45 deletions

View File

@ -4,66 +4,65 @@ from django.utils.translation import ugettext_lazy as _
US_STATUSES = ( US_STATUSES = (
(1, _("Open"), False), (1, _("Open"), False, True),
(2, _("Closed"), True), (2, _("Closed"), True, False),
) )
TASK_STATUSES = ( TASK_STATUSES = (
(1, _("New"), False, "#999999"), (1, _("New"), False, True, "#999999"),
(2, _("In progress"), False, "#ff9900"), (2, _("In progress"), False, False, "#ff9900"),
(3, _("Ready for test"), True, "#ffcc00"), (3, _("Ready for test"), True, False, "#ffcc00"),
(4, _("Closed"), True, "#669900"), (4, _("Closed"), True, False, "#669900"),
(5, _("Needs Info"), False, "#999999"), (5, _("Needs Info"), False, False, "#999999"),
) )
POINTS_CHOICES = ( POINTS_CHOICES = (
(1, u'?', None), (1, u'?', None, True),
(2, u'0', 0), (2, u'0', 0, False),
(3, u'1/2', 0.5), (3, u'1/2', 0.5, False),
(4, u'1', 1), (4, u'1', 1, False),
(5, u'2', 2), (5, u'2', 2, False),
(6, u'3', 3), (6, u'3', 3, False),
(7, u'5', 5), (7, u'5', 5, False),
(8, u'8', 8), (8, u'8', 8, False),
(9, u'10', 10), (9, u'10', 10, False),
(10, u'15', 15), (10, u'15', 15, False),
(11, u'20', 20), (11, u'20', 20, False),
(12, u'40', 40), (12, u'40', 40, False),
) )
PRIORITY_CHOICES = ( PRIORITY_CHOICES = (
(1, _(u'Low')), (1, _(u'Low'), False),
(3, _(u'Normal')), (3, _(u'Normal'), True),
(5, _(u'High')), (5, _(u'High'), False),
) )
SEVERITY_CHOICES = ( SEVERITY_CHOICES = (
(1, _(u'Wishlist')), (1, _(u'Wishlist'), False),
(2, _(u'Minor')), (2, _(u'Minor'), False),
(3, _(u'Normal')), (3, _(u'Normal'), True),
(4, _(u'Important')), (4, _(u'Important'), False),
(5, _(u'Critical')), (5, _(u'Critical'), False),
) )
ISSUE_STATUSES = ( ISSUE_STATUSES = (
(1, _("New"), False), (1, _("New"), False, True),
(2, _("In progress"), False), (2, _("In progress"), False, False),
(3, _("Ready for test"), True), (3, _("Ready for test"), True, False),
(4, _("Closed"), True), (4, _("Closed"), True, False),
(5, _("Needs Info"), False), (5, _("Needs Info"), False, False),
(6, _("Rejected"), True), (6, _("Rejected"), True, False),
(7, _("Postponed"), False), (7, _("Postponed"), False, False),
) )
ISSUE_TYPES = ( ISSUE_TYPES = (
(1, _(u'Bug')), (1, _(u'Bug'), True),
) )
QUESTION_STATUS = ( QUESTION_STATUS = (
(1, _("New"), False), (1, _("Pending"), False, True),
(2, _("Pending"), False), (2, _("Answered"), False, False),
(3, _("Answered"), False), (3, _("Closed"), True, False),
(4, _("Closed"), True),
) )
# TODO: pending to refactor # TODO: pending to refactor

View File

@ -0,0 +1,241 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
class Migration(SchemaMigration):
def forwards(self, orm):
# Adding field 'Project.default_points'
db.add_column('projects_project', 'default_points',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.Points'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_us_status'
db.add_column('projects_project', 'default_us_status',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.UserStoryStatus'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_task_status'
db.add_column('projects_project', 'default_task_status',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.TaskStatus'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_priority'
db.add_column('projects_project', 'default_priority',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.Priority'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_severity'
db.add_column('projects_project', 'default_severity',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.Severity'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_issue_status'
db.add_column('projects_project', 'default_issue_status',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.IssueStatus'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_issue_type'
db.add_column('projects_project', 'default_issue_type',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.IssueType'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
# Adding field 'Project.default_question_status'
db.add_column('projects_project', 'default_question_status',
self.gf('django.db.models.fields.related.OneToOneField')(null=True, to=orm['projects.QuestionStatus'], unique=True, related_name='+', on_delete=models.PROTECT, blank=True),
keep_default=False)
def backwards(self, orm):
# Deleting field 'Project.default_points'
db.delete_column('projects_project', 'default_points_id')
# Deleting field 'Project.default_us_status'
db.delete_column('projects_project', 'default_us_status_id')
# Deleting field 'Project.default_task_status'
db.delete_column('projects_project', 'default_task_status_id')
# Deleting field 'Project.default_priority'
db.delete_column('projects_project', 'default_priority_id')
# Deleting field 'Project.default_severity'
db.delete_column('projects_project', 'default_severity_id')
# Deleting field 'Project.default_issue_status'
db.delete_column('projects_project', 'default_issue_status_id')
# Deleting field 'Project.default_issue_type'
db.delete_column('projects_project', 'default_issue_type_id')
# Deleting field 'Project.default_question_status'
db.delete_column('projects_project', 'default_question_status_id')
models = {
'auth.group': {
'Meta': {'object_name': 'Group'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'to': "orm['auth.Permission']", 'symmetrical': 'False'})
},
'auth.permission': {
'Meta': {'object_name': 'Permission', 'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)"},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
},
'contenttypes.contenttype': {
'Meta': {'db_table': "'django_content_type'", 'object_name': 'ContentType', 'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
},
'projects.attachment': {
'Meta': {'object_name': 'Attachment', 'ordering': "['project', 'created_date']"},
'attached_file': ('django.db.models.fields.files.FileField', [], {'null': 'True', 'max_length': '500', 'blank': 'True'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
'created_date': ('django.db.models.fields.DateTimeField', [], {'blank': 'True', 'auto_now_add': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'modified_date': ('django.db.models.fields.DateTimeField', [], {'blank': 'True', 'auto_now': 'True'}),
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['users.User']", 'related_name': "'change_attachments'"}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'attachments'"})
},
'projects.issuestatus': {
'Meta': {'object_name': 'IssueStatus', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'issue_statuses'"})
},
'projects.issuetype': {
'Meta': {'object_name': 'IssueType', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'issue_types'"})
},
'projects.membership': {
'Meta': {'object_name': 'Membership', 'ordering': "['project', 'role', 'user']", 'unique_together': "(('user', 'project'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'memberships'"}),
'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['users.Role']", 'related_name': "'memberships'"}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['users.User']", 'related_name': "'memberships'"})
},
'projects.points': {
'Meta': {'object_name': 'Points', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'points'"}),
'value': ('django.db.models.fields.FloatField', [], {'null': 'True', 'default': 'None', 'blank': 'True'})
},
'projects.priority': {
'Meta': {'object_name': 'Priority', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'priorities'"})
},
'projects.project': {
'Meta': {'object_name': 'Project', 'ordering': "['name']"},
'created_date': ('django.db.models.fields.DateTimeField', [], {'blank': 'True', 'auto_now_add': 'True'}),
'default_issue_status': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.IssueStatus']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_issue_type': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.IssueType']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_points': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.Points']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_priority': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.Priority']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_question_status': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.QuestionStatus']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_severity': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.Severity']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_task_status': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.TaskStatus']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'default_us_status': ('django.db.models.fields.related.OneToOneField', [], {'null': 'True', 'to': "orm['projects.UserStoryStatus']", 'unique': 'True', 'related_name': "'+'", 'on_delete': 'models.PROTECT', 'blank': 'True'}),
'description': ('django.db.models.fields.TextField', [], {}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'last_issue_ref': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'default': '1'}),
'last_task_ref': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'default': '1'}),
'last_us_ref': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'default': '1'}),
'members': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'projects'", 'through': "orm['projects.Membership']", 'to': "orm['users.User']", 'symmetrical': 'False'}),
'modified_date': ('django.db.models.fields.DateTimeField', [], {'blank': 'True', 'auto_now': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '250'}),
'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['users.User']", 'related_name': "'owned_projects'"}),
'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'slug': ('django.db.models.fields.SlugField', [], {'blank': 'True', 'unique': 'True', 'max_length': '250'}),
'tags': ('picklefield.fields.PickledObjectField', [], {'blank': 'True'}),
'total_milestones': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'default': '0', 'blank': 'True'}),
'total_story_points': ('django.db.models.fields.FloatField', [], {'null': 'True', 'default': 'None'})
},
'projects.questionstatus': {
'Meta': {'object_name': 'QuestionStatus', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'question_status'"})
},
'projects.severity': {
'Meta': {'object_name': 'Severity', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'severities'"})
},
'projects.taskstatus': {
'Meta': {'object_name': 'TaskStatus', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'color': ('django.db.models.fields.CharField', [], {'max_length': '20', 'default': "'#999999'"}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'task_statuses'"})
},
'projects.userstorystatus': {
'Meta': {'object_name': 'UserStoryStatus', 'ordering': "['project', 'order', 'name']", 'unique_together': "(('project', 'name'),)"},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_closed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'project': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['projects.Project']", 'related_name': "'us_statuses'"})
},
'users.role': {
'Meta': {'object_name': 'Role', 'ordering': "['order', 'slug']"},
'computable': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '10'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'roles'", 'to': "orm['auth.Permission']", 'symmetrical': 'False'}),
'slug': ('django.db.models.fields.SlugField', [], {'blank': 'True', 'unique': 'True', 'max_length': '250'})
},
'users.user': {
'Meta': {'object_name': 'User', 'ordering': "['username']"},
'color': ('django.db.models.fields.CharField', [], {'blank': 'True', 'max_length': '9', 'default': "'#669933'"}),
'colorize_tags': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'default_language': ('django.db.models.fields.CharField', [], {'blank': 'True', 'max_length': '20', 'default': "''"}),
'default_timezone': ('django.db.models.fields.CharField', [], {'blank': 'True', 'max_length': '20', 'default': "''"}),
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
'email': ('django.db.models.fields.EmailField', [], {'blank': 'True', 'max_length': '75'}),
'first_name': ('django.db.models.fields.CharField', [], {'blank': 'True', 'max_length': '30'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'user_set'", 'blank': 'True', 'to': "orm['auth.Group']", 'symmetrical': 'False'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'blank': 'True', 'max_length': '30'}),
'notify_changes_by_me': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'notify_level': ('django.db.models.fields.CharField', [], {'max_length': '32', 'default': "'all_owned_projects'"}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'photo': ('django.db.models.fields.files.FileField', [], {'null': 'True', 'max_length': '500', 'blank': 'True'}),
'token': ('django.db.models.fields.CharField', [], {'null': 'True', 'max_length': '200', 'default': 'None', 'blank': 'True'}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'user_set'", 'blank': 'True', 'to': "orm['auth.Permission']", 'symmetrical': 'False'}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
}
}
complete_apps = ['projects']

View File

@ -104,8 +104,45 @@ class Project(models.Model):
verbose_name=_("total of milestones")) verbose_name=_("total of milestones"))
total_story_points = models.FloatField(default=None, null=True, blank=False, total_story_points = models.FloatField(default=None, null=True, blank=False,
verbose_name=_("total story points")) verbose_name=_("total story points"))
tags = PickledObjectField(null=False, blank=True, tags = PickledObjectField(null=False, blank=True, verbose_name=_("tags"))
verbose_name=_("tags")) default_points = models.OneToOneField("projects.Points", on_delete=models.PROTECT,
related_name="+", null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default points"))
default_us_status = models.OneToOneField("projects.UserStoryStatus",
on_delete=models.PROTECT, related_name="+",
null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default US status"))
default_task_status = models.OneToOneField("projects.TaskStatus",
on_delete=models.PROTECT, related_name="+",
null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default task status"))
default_priority = models.OneToOneField("projects.Priority", on_delete=models.PROTECT,
related_name="+", null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default priority"))
default_severity = models.OneToOneField("projects.Severity", on_delete=models.PROTECT,
related_name="+", null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default severity"))
default_issue_status = models.OneToOneField("projects.IssueStatus",
on_delete=models.PROTECT, related_name="+",
null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default issue status"))
default_issue_type = models.OneToOneField("projects.IssueType",
on_delete=models.PROTECT, related_name="+",
null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default issue type"))
default_question_status = models.OneToOneField("projects.QuestionStatus",
on_delete=models.PROTECT,
related_name="+", null=True, blank=True,
limit_choices_to={'project': id},
verbose_name=_("default questions "
"status"))
class Meta: class Meta:
verbose_name = "project" verbose_name = "project"
@ -415,9 +452,12 @@ def project_post_save(sender, instance, created, **kwargs):
return return
# USs # USs
for order, name, value in choices.POINTS_CHOICES: for order, name, value, is_default in choices.POINTS_CHOICES:
Points.objects.create(project=instance, name=name, order=order, value=value) obj = Points.objects.create(project=instance, name=name, order=order, value=value)
if is_default:
instance.default_points = obj
<<<<<<< HEAD
for order, name, is_closed in choices.US_STATUSES: for order, name, is_closed in choices.US_STATUSES:
UserStoryStatus.objects.create(name=name, order=order, UserStoryStatus.objects.create(name=name, order=order,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)
@ -437,11 +477,54 @@ def project_post_save(sender, instance, created, **kwargs):
for order, name, is_closed in choices.ISSUE_STATUSES: for order, name, is_closed in choices.ISSUE_STATUSES:
IssueStatus.objects.create(name=name, order=order, IssueStatus.objects.create(name=name, order=order,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)
=======
for order, name, is_closed, is_default in choices.US_STATUSES:
obj = UserStoryStatus.objects.create(name=name, order=order,
is_closed=is_closed, project=instance)
if is_default:
instance.default_us_status = obj
for order, name in choices.ISSUE_TYPES: # Tasks
IssueType.objects.create(project=instance, name=name, order=order) for order, name, is_closed, is_default, color in choices.TASK_STATUSES:
obj = TaskStatus.objects.create(name=name, order=order, color=color,
is_closed=is_closed, project=instance)
if is_default:
instance.default_task_status = obj
# Issues
for order, name, is_default in choices.PRIORITY_CHOICES:
obj = Priority.objects.create(project=instance, name=name, order=order)
if is_default:
instance.default_priority = obj
for order, name, is_default in choices.SEVERITY_CHOICES:
obj = Severity.objects.create(project=instance, name=name, order=order)
if is_default:
instance.default_severity = obj
for order, name, is_closed, is_default in choices.ISSUE_STATUSES:
obj = IssueStatus.objects.create(name=name, order=order,
is_closed=is_closed, project=instance)
if is_default:
instance.default_issue_status = obj
>>>>>>> Set a default value per project for all statuses, types, points, priorities, sverityes...
for order, name, is_default in choices.ISSUE_TYPES:
obj = IssueType.objects.create(project=instance, name=name, order=order)
if is_default:
instance.default_issue_type = obj
# Questions # Questions
<<<<<<< HEAD
for order, name, is_closed in choices.QUESTION_STATUS: for order, name, is_closed in choices.QUESTION_STATUS:
QuestionStatus.objects.create(name=name, order=order, QuestionStatus.objects.create(name=name, order=order,
is_closed=is_closed, project=instance) is_closed=is_closed, project=instance)
=======
for order, name, is_closed, is_default in choices.QUESTION_STATUS:
obj = QuestionStatus.objects.create(name=name, order=order,
is_closed=is_closed, project=instance)
if is_default:
instance.default_question_status = obj
instance.save()
>>>>>>> Set a default value per project for all statuses, types, points, priorities, sverityes...