From 3fc0a9de67aa546c15ed06c6f4bc87b67fc77b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Sat, 30 Mar 2013 13:38:23 +0100 Subject: [PATCH] Removing base/services.py now not needed --- greenmine/base/admin.py | 3 +-- greenmine/base/services.py | 30 ------------------------------ greenmine/scrum/models.py | 27 +++++++++++---------------- greenmine/scrum/sigdispatch.py | 3 --- 4 files changed, 12 insertions(+), 51 deletions(-) delete mode 100644 greenmine/base/services.py diff --git a/greenmine/base/admin.py b/greenmine/base/admin.py index 8d8ef304..e0e734c3 100644 --- a/greenmine/base/admin.py +++ b/greenmine/base/admin.py @@ -29,8 +29,7 @@ class UserAdmin(DjangoUserAdmin): (None, {'fields': ('username', 'password')}), (_('Personal info'), {'fields': ('first_name', 'last_name', 'email', 'description', 'photo')}), (_('Extra info'), {'fields': ('color', 'default_language', 'default_timezone', 'token', 'colorize_tags')}), - (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', - 'groups', 'user_permissions')}), + (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser',)}), (_('Important dates'), {'fields': ('last_login', 'date_joined')}), ) form = UserChangeForm diff --git a/greenmine/base/services.py b/greenmine/base/services.py deleted file mode 100644 index 9a69d922..00000000 --- a/greenmine/base/services.py +++ /dev/null @@ -1,30 +0,0 @@ -from django.contrib.auth.models import Group - -from greenmine.scrum.models import Project -from greenmine.base.models import Role - - -class RoleGroupsService(object): - def replicate_role_on_all_projects(self, role): - for group in role.groups.all(): - self._replicate_role_permissions_on_group(role, group) - for project in Project.objects.all(): - self._replicate_role_on_project_if_needed(role, project) - - def replicate_all_roles_on_one_project(self, project): - for role in Role.objects.all(): - group = Group(name="p%d-r%d" % (project.pk, role.pk), role=role, project=project) - group.save() - self._replicate_role_permissions_on_group(role, group) - - def _replicate_role_on_project_if_needed(self, role, project): - if project.groups.filter(role=role).count() == 0: - group = Group(name="p%d-r%d" % (project.pk, role.pk), role=role, project=project) - group.save() - self._replicate_role_permissions_on_group(role, group) - - def _replicate_role_permissions_on_group(self, role, group): - group.permissions.clear() - for permission in role.permissions.all(): - group.permissions.add(permission) - group.save() diff --git a/greenmine/scrum/models.py b/greenmine/scrum/models.py index a5a5eb03..3256472d 100644 --- a/greenmine/scrum/models.py +++ b/greenmine/scrum/models.py @@ -10,9 +10,10 @@ from django.contrib.contenttypes import generic from picklefield.fields import PickledObjectField from greenmine.base.utils.slug import slugify_uniquely, ref_uniquely -from greenmine.base.fields import DictField from greenmine.base.utils import iter_points -from greenmine.scrum.choices import * +from greenmine.scrum.choices import (ISSUESTATUSES, TASKSTATUSES, USSTATUSES, + POINTS_CHOICES, SEVERITY_CHOICES, + ISSUETYPES, TASK_CHANGE_CHOICES) class Severity(models.Model): @@ -113,6 +114,7 @@ class Membership(models.Model): class Meta: unique_together = ('user', 'project') + class Project(models.Model): uuid = models.CharField(max_length=40, unique=True, blank=True) name = models.CharField(max_length=250, unique=True) @@ -239,7 +241,6 @@ class UserStory(models.Model): ('can_add_userstory_to_milestones', 'Can add user stories to milestones'), ) - def __repr__(self): return u"" % (self.id) @@ -313,7 +314,7 @@ class Task(models.Model): class Meta: unique_together = ('ref', 'project') - permissions = [ + permissions = ( ('can_comment_task', 'Can comment tasks'), ('can_change_owned_task', 'Can modify owned tasks'), ('can_change_assigned_task', 'Can modify assigned tasks'), @@ -321,8 +322,7 @@ class Task(models.Model): ('can_assign_task_to_myself', 'Can assign tasks to myself'), ('can_change_task_state', 'Can change the task state'), ('can_add_task_to_us', 'Can add tasks to a user story'), - ] - + ) def __unicode__(self): return self.subject @@ -371,14 +371,14 @@ class Issue(models.Model): class Meta: unique_together = ('ref', 'project') - permissions = [ + permissions = ( ('can_comment_issue', 'Can comment issues'), ('can_change_owned_issue', 'Can modify owned issues'), ('can_change_assigned_issue', 'Can modify assigned issues'), ('can_assign_issue_to_other', 'Can assign issues to others'), ('can_assign_issue_to_myself', 'Can assign issues to myself'), ('can_change_issue_state', 'Can change the issue state'), - ] + ) def __unicode__(self): return self.subject @@ -396,26 +396,21 @@ class Issue(models.Model): # Model related signals handlers @receiver(models.signals.post_save, sender=Project, dispatch_uid="project_post_save") def project_post_save(sender, instance, created, **kwargs): - from greenmine.base.services import RoleGroupsService - if not created: return - RoleGroupsService().replicate_all_roles_on_one_project(instance) - # Populate new project dependen default data - for order, name, is_closed in ISSUESTATUSES: IssueStatus.objects.create(name=name, order=order, - is_closed=is_closed, project=instance) + is_closed=is_closed, project=instance) for order, name, is_closed, color in TASKSTATUSES: TaskStatus.objects.create(name=name, order=order, color=color, - is_closed=is_closed, project=instance) + is_closed=is_closed, project=instance) for order, name, is_closed in USSTATUSES: UserStoryStatus.objects.create(name=name, order=order, - is_closed=is_closed, project=instance) + is_closed=is_closed, project=instance) for order, name in POINTS_CHOICES: Priority.objects.create(project=instance, name=name, order=order) diff --git a/greenmine/scrum/sigdispatch.py b/greenmine/scrum/sigdispatch.py index 070bec6b..ec46bbef 100644 --- a/greenmine/scrum/sigdispatch.py +++ b/greenmine/scrum/sigdispatch.py @@ -4,13 +4,10 @@ from django.dispatch import receiver from django.conf import settings from django.utils.translation import ugettext from django.template.loader import render_to_string -from django.db.models.signals import post_save from greenmine.base import signals from greenmine.base.utils.auth import set_token from greenmine.base.mail.tasks import send_mail, send_bulk_mail -from greenmine.scrum.models import Project -from greenmine.base.services import RoleGroupsService @receiver(signals.mail_new_user)