Adding an initial list of permissions
parent
005029cd1e
commit
e0e41c7c95
|
@ -4,30 +4,7 @@
|
|||
"model": "profile.role",
|
||||
"fields": {
|
||||
"name": "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
|
||||
"slug": "developer"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -35,30 +12,7 @@
|
|||
"model": "profile.role",
|
||||
"fields": {
|
||||
"name": "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
|
||||
"slug": "product-owner"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -66,30 +20,7 @@
|
|||
"model": "profile.role",
|
||||
"fields": {
|
||||
"name": "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
|
||||
"slug": "observer"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.db import models
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.contrib.auth.models import Permission
|
||||
|
||||
|
||||
class Profile(models.Model):
|
||||
|
@ -21,34 +23,8 @@ class Profile(models.Model):
|
|||
class Role(models.Model):
|
||||
name = models.CharField(max_length=200)
|
||||
slug = models.SlugField(max_length=250, unique=True, blank=True)
|
||||
|
||||
project_view = models.BooleanField(default=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)
|
||||
permissions = models.ManyToManyField(Permission,
|
||||
verbose_name=_('permissions'), blank=True)
|
||||
|
||||
|
||||
from . import sigdispatch
|
||||
|
|
|
@ -75,6 +75,55 @@ class Project(models.Model):
|
|||
|
||||
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):
|
||||
return self.name
|
||||
|
||||
|
|
Loading…
Reference in New Issue