示例#1
0
 def permissions(self, permissions):
     if isinstance(permissions, list):
         self._permissions = permissions
     else:
         self._permissions = permissions.split(',')
     self._permissions = translate_permissions_from_db_to_admin_roles(
         self.permissions)
示例#2
0
def test_translate_permissions_from_db_to_admin_roles():
    db_perms = [
        'send_texts', 'send_emails', 'send_letters', 'manage_templates',
        'some_unknown_permission'
    ]
    roles = translate_permissions_from_db_to_admin_roles(db_perms)
    assert roles == {
        'send_messages', 'manage_templates', 'some_unknown_permission'
    }
def test_translate_permissions_from_db_to_admin_roles():
    db_perms = [
        "send_texts",
        "send_emails",
        "send_letters",
        "manage_templates",
        "some_unknown_permission",
    ]
    roles = translate_permissions_from_db_to_admin_roles(db_perms)
    assert roles == {
        "send_messages", "manage_templates", "some_unknown_permission"
    }
示例#4
0
    def permissions(self, permissions_by_service):
        """
        Permissions is a dict {'service_id': ['permission a', 'permission b', 'permission c']}

        The api currently returns some granular permissions that we don't set or use separately (but may want
        to in the future):
        * send_texts, send_letters and send_emails become send_messages
        * manage_user and manage_settings become
        users either have all three permissions for a service or none of them, they're not helpful to distinguish
        between on the front end. So lets collapse them into "send_messages" and "manage_service". If we want to split
        them out later, we'll need to rework this function.
        """
        self._permissions = {
            service: translate_permissions_from_db_to_admin_roles(permissions)
            for service, permissions in permissions_by_service.items()
        }