Adding an initial list of permissions
parent
005029cd1e
commit
e0e41c7c95
|
@ -4,30 +4,7 @@
|
||||||
"model": "profile.role",
|
"model": "profile.role",
|
||||||
"fields": {
|
"fields": {
|
||||||
"name": "Developer",
|
"name": "Developer",
|
||||||
"slug": "developer",
|
"slug": "developer"
|
||||||
"project_view": true,
|
|
||||||
"project_edit": false,
|
|
||||||
"project_delete": false,
|
|
||||||
"userstory_view": true,
|
|
||||||
"userstory_create": true,
|
|
||||||
"userstory_edit": true,
|
|
||||||
"userstory_delete": true,
|
|
||||||
"milestone_view": true,
|
|
||||||
"milestone_create": true,
|
|
||||||
"milestone_edit": true,
|
|
||||||
"milestone_delete": true,
|
|
||||||
"task_view": true,
|
|
||||||
"task_create": true,
|
|
||||||
"task_edit": true,
|
|
||||||
"task_delete": true,
|
|
||||||
"wiki_view": true,
|
|
||||||
"wiki_create": true,
|
|
||||||
"wiki_edit": true,
|
|
||||||
"wiki_delete": true,
|
|
||||||
"question_view": true,
|
|
||||||
"question_create": true,
|
|
||||||
"question_edit": true,
|
|
||||||
"question_delete": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -35,30 +12,7 @@
|
||||||
"model": "profile.role",
|
"model": "profile.role",
|
||||||
"fields": {
|
"fields": {
|
||||||
"name": "Product Owner",
|
"name": "Product Owner",
|
||||||
"slug": "product-owner",
|
"slug": "product-owner"
|
||||||
"project_view": true,
|
|
||||||
"project_edit": false,
|
|
||||||
"project_delete": false,
|
|
||||||
"userstory_view": true,
|
|
||||||
"userstory_create": true,
|
|
||||||
"userstory_edit": true,
|
|
||||||
"userstory_delete": true,
|
|
||||||
"milestone_view": true,
|
|
||||||
"milestone_create": false,
|
|
||||||
"milestone_edit": false,
|
|
||||||
"milestone_delete": false,
|
|
||||||
"task_view": true,
|
|
||||||
"task_create": false,
|
|
||||||
"task_edit": false,
|
|
||||||
"task_delete": false,
|
|
||||||
"wiki_view": true,
|
|
||||||
"wiki_create": true,
|
|
||||||
"wiki_edit": true,
|
|
||||||
"wiki_delete": true,
|
|
||||||
"question_view": true,
|
|
||||||
"question_create": true,
|
|
||||||
"question_edit": true,
|
|
||||||
"question_delete": true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -66,30 +20,7 @@
|
||||||
"model": "profile.role",
|
"model": "profile.role",
|
||||||
"fields": {
|
"fields": {
|
||||||
"name": "Observer",
|
"name": "Observer",
|
||||||
"slug": "observer",
|
"slug": "observer"
|
||||||
"project_view": true,
|
|
||||||
"project_edit": false,
|
|
||||||
"project_delete": false,
|
|
||||||
"userstory_view": true,
|
|
||||||
"userstory_create": false,
|
|
||||||
"userstory_edit": false,
|
|
||||||
"userstory_delete": false,
|
|
||||||
"milestone_view": true,
|
|
||||||
"milestone_create": false,
|
|
||||||
"milestone_edit": false,
|
|
||||||
"milestone_delete": false,
|
|
||||||
"task_view": true,
|
|
||||||
"task_create": false,
|
|
||||||
"task_edit": false,
|
|
||||||
"task_delete": false,
|
|
||||||
"wiki_view": true,
|
|
||||||
"wiki_create": false,
|
|
||||||
"wiki_edit": false,
|
|
||||||
"wiki_delete": false,
|
|
||||||
"question_view": true,
|
|
||||||
"question_create": false,
|
|
||||||
"question_edit": false,
|
|
||||||
"question_delete": false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
from django.contrib.auth.models import Permission
|
||||||
|
|
||||||
|
|
||||||
class Profile(models.Model):
|
class Profile(models.Model):
|
||||||
|
@ -21,34 +23,8 @@ class Profile(models.Model):
|
||||||
class Role(models.Model):
|
class Role(models.Model):
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
slug = models.SlugField(max_length=250, unique=True, blank=True)
|
slug = models.SlugField(max_length=250, unique=True, blank=True)
|
||||||
|
permissions = models.ManyToManyField(Permission,
|
||||||
project_view = models.BooleanField(default=True)
|
verbose_name=_('permissions'), blank=True)
|
||||||
project_edit = models.BooleanField(default=False)
|
|
||||||
project_delete = models.BooleanField(default=False)
|
|
||||||
userstory_view = models.BooleanField(default=True)
|
|
||||||
userstory_create = models.BooleanField(default=False)
|
|
||||||
userstory_edit = models.BooleanField(default=False)
|
|
||||||
userstory_delete = models.BooleanField(default=False)
|
|
||||||
milestone_view = models.BooleanField(default=True)
|
|
||||||
milestone_create = models.BooleanField(default=False)
|
|
||||||
milestone_edit = models.BooleanField(default=False)
|
|
||||||
milestone_delete = models.BooleanField(default=False)
|
|
||||||
task_view = models.BooleanField(default=True)
|
|
||||||
task_create = models.BooleanField(default=False)
|
|
||||||
task_edit = models.BooleanField(default=False)
|
|
||||||
task_delete = models.BooleanField(default=False)
|
|
||||||
wiki_view = models.BooleanField(default=True)
|
|
||||||
wiki_create = models.BooleanField(default=False)
|
|
||||||
wiki_edit = models.BooleanField(default=False)
|
|
||||||
wiki_delete = models.BooleanField(default=False)
|
|
||||||
question_view = models.BooleanField(default=True)
|
|
||||||
question_create = models.BooleanField(default=True)
|
|
||||||
question_edit = models.BooleanField(default=True)
|
|
||||||
question_delete = models.BooleanField(default=False)
|
|
||||||
document_view = models.BooleanField(default=True)
|
|
||||||
document_create = models.BooleanField(default=True)
|
|
||||||
document_edit = models.BooleanField(default=True)
|
|
||||||
document_delete = models.BooleanField(default=True)
|
|
||||||
|
|
||||||
|
|
||||||
from . import sigdispatch
|
from . import sigdispatch
|
||||||
|
|
|
@ -75,6 +75,55 @@ class Project(models.Model):
|
||||||
|
|
||||||
objects = ProjectManager()
|
objects = ProjectManager()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
permissions = (
|
||||||
|
# global permissions
|
||||||
|
('list_projects', 'Can list projects'),
|
||||||
|
('list_my_projects', 'Can list my projects'),
|
||||||
|
|
||||||
|
# per project permissions
|
||||||
|
('view_projects', 'Can view projects'),
|
||||||
|
|
||||||
|
('create_tasks', 'Can create tasks'),
|
||||||
|
('comment_tasks', 'Can comment tasks'),
|
||||||
|
('modify_tasks', 'Can modify tasks'),
|
||||||
|
('delete_task', 'Can delete tasks'),
|
||||||
|
('modify_owned_tasks', 'Can modify owned tasks'),
|
||||||
|
('modify_assigned_tasks', 'Can modify assigned tasks'),
|
||||||
|
('assign_tasks_to_others', 'Can assign tasks to others'),
|
||||||
|
('assign_tasks_to_myself', 'Can assign tasks to myself'),
|
||||||
|
('change_tasks_state', 'Can change the task state'),
|
||||||
|
('add_tasks_to_us', 'Can add tasks to a user story'),
|
||||||
|
|
||||||
|
('create_us', 'Can create user stories'),
|
||||||
|
('comment_us', 'Can comment user stories'),
|
||||||
|
('modify_us', 'Can modify user stories'),
|
||||||
|
('delete_us', 'Can delete user stories'),
|
||||||
|
('modify_owned_us', 'Can modify owned user stories'),
|
||||||
|
('add_us_to_milestones', 'Can add user stories to milestones'),
|
||||||
|
|
||||||
|
('create_questions', 'Can create questions'),
|
||||||
|
('reply_questions', 'Can reply questions'),
|
||||||
|
('modify_questions', 'Can modify questions'),
|
||||||
|
('delete_questions', 'Can delete questions'),
|
||||||
|
('modify_owned_questions', 'Can modify owned questions'),
|
||||||
|
|
||||||
|
('create_wiki_page', 'Can create wiki pages'),
|
||||||
|
('modify_wiki_page', 'Can modify wiki pages'),
|
||||||
|
('delete_wiki_page', 'Can delete wiki pages'),
|
||||||
|
('modify_owned_wiki_page', 'Can modify owned wiki pages'),
|
||||||
|
|
||||||
|
('create_documents', 'Can create documents'),
|
||||||
|
('modify_documents', 'Can modify documents'),
|
||||||
|
('delete_documents', 'Can delete documents'),
|
||||||
|
('modify_owned_documents', 'Can modify owned documents'),
|
||||||
|
|
||||||
|
('create_milestone', 'Can create milestones'),
|
||||||
|
('modify_milestone', 'Can modify milestones'),
|
||||||
|
|
||||||
|
('manage_users', 'Can manage users'),
|
||||||
|
)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue