Add view_activity permission so that users can have the default permission to see activity.

Add view_activity to default permissions when adding a new user.
Add view_activity as a permission group, used when inviting a user.
This commit is contained in:
Rebecca Law
2016-03-29 15:35:34 +01:00
parent ed1d988bf4
commit 376a074f5f
5 changed files with 48 additions and 6 deletions

View File

@@ -12,7 +12,8 @@ from app.models import (
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS)
ACCESS_DEVELOPER_DOCS,
VIEW_ACTIVITY)
# Default permissions for a service
@@ -24,7 +25,8 @@ default_service_permissions = [
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS]
ACCESS_DEVELOPER_DOCS,
VIEW_ACTIVITY]
class PermissionDAO(DAOClass):

View File

@@ -308,6 +308,7 @@ SEND_LETTERS = 'send_letters'
MANAGE_API_KEYS = 'manage_api_keys'
ACCESS_DEVELOPER_DOCS = 'access_developer_docs'
PLATFORM_ADMIN = 'platform_admin'
VIEW_ACTIVITY = 'view_activity'
# List of permissions
PERMISSION_LIST = [
@@ -319,7 +320,8 @@ PERMISSION_LIST = [
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS,
PLATFORM_ADMIN]
PLATFORM_ADMIN,
VIEW_ACTIVITY]
class Permission(db.Model):

View File

@@ -6,7 +6,8 @@ from app.models import (
SEND_EMAILS,
SEND_LETTERS,
MANAGE_API_KEYS,
ACCESS_DEVELOPER_DOCS
ACCESS_DEVELOPER_DOCS,
VIEW_ACTIVITY
)
from app.schemas import permission_schema
@@ -14,7 +15,8 @@ from app.schemas import permission_schema
permissions_groups = {'send_messages': [SEND_TEXTS, SEND_EMAILS, SEND_LETTERS],
'manage_service': [MANAGE_USERS, MANAGE_SETTINGS, MANAGE_TEMPLATES],
'manage_api_keys': [MANAGE_API_KEYS, ACCESS_DEVELOPER_DOCS]}
'manage_api_keys': [MANAGE_API_KEYS, ACCESS_DEVELOPER_DOCS],
VIEW_ACTIVITY: [VIEW_ACTIVITY]}
def get_permissions_by_group(permission_groups):

View File

@@ -178,7 +178,6 @@ def remove_user_from_service(service_id, user_id):
def _process_permissions(user, service, permission_groups):
from app.permissions_utils import get_permissions_by_group
from app.dao.permissions_dao import permission_dao
permissions = get_permissions_by_group(permission_groups)
for permission in permissions:
permission.user = user

View File

@@ -0,0 +1,37 @@
"""empty message
Revision ID: 0043_add_view_activity
Revises: 0042_default_stats_to_zero
Create Date: 2016-03-29 13:46:36.219549
"""
# revision identifiers, used by Alembic.
import uuid
revision = '0043_add_view_activity'
down_revision = '0042_default_stats_to_zero'
from alembic import op
def upgrade():
### commands auto generated by Alembic - please adjust! ###
conn = op.get_bind()
conn.execute('COMMIT')
conn.execute("alter type permission_types add value IF NOT EXISTS 'view_activity'")
user_services = conn.execute("SELECT * FROM user_to_service").fetchall()
for user_service in user_services:
conn.execute(
"insert into permissions (id, service_id, user_id, created_at, permission) "
"values('{0}', '{1}', {2}, now(), 'view_activity')".format(
uuid.uuid4(), user_service.service_id, user_service.user_id))
### end Alembic commands ###
def downgrade():
### commands auto generated by Alembic - please adjust! ###
conn = op.get_bind()
conn.execute("delete from permissions where permission = 'view_activity'")
conn.execute("delete from pg_enum where enumlabel = 'view_activity'")
### end Alembic commands ###