Ejemplo n.º 1
0
def delete(workspace, user):
    """ Delete a workspace and its permissions.

    Args:
         workspace:

    Returns:
    """
    permission_api.delete_permission(workspace.read_perm_id)
    permission_api.delete_permission(workspace.write_perm_id)
    workspace.delete()
Ejemplo n.º 2
0
def delete(workspace, user):
    """Delete a workspace and its permissions.

    Args:
         workspace:

    Returns:
    """

    # Can't delete a global workspace
    if workspace.is_global:
        raise exceptions.ModelError("The global workspace can not be deleted.")

    permission_api.delete_permission(workspace.read_perm_id)
    permission_api.delete_permission(workspace.write_perm_id)
    workspace.delete()
Ejemplo n.º 3
0
def create_and_save(title, owner_id=None, is_public=False):
    """ Create and save a workspace. It will also create permissions.

    Args:
        owner_id
        title
        is_public

    Returns:
    """
    workspace = _create_workspace(title, owner_id, is_public)
    try:
        return workspace.save()
    except Exception as ex:
        # Rollback permissions
        permission_api.delete_permission(workspace.read_perm_id)
        permission_api.delete_permission(workspace.write_perm_id)
        raise exceptions.ModelError(ex.message)