コード例 #1
0
ファイル: event.py プロジェクト: grignards/tracim
def _get_workspace_subscription_event_receiver_ids(event: Event,
                                                   session: TracimSession,
                                                   config: CFG) -> Set[int]:
    user_api = UserApi(current_user=None, session=session, config=config)
    administrators = user_api.get_user_ids_from_profile(Profile.ADMIN)
    author = event.subscription["author"]["user_id"]
    role_api = RoleApi(current_user=None, session=session, config=config)
    workspace_managers = role_api.get_workspace_member_ids(
        event.workspace["workspace_id"],
        min_role=WorkspaceRoles.WORKSPACE_MANAGER)
    return set(administrators + workspace_managers + [author])
コード例 #2
0
ファイル: event.py プロジェクト: grignards/tracim
def _get_user_event_receiver_ids(event: Event, session: TracimSession,
                                 config: CFG) -> Set[int]:
    user_api = UserApi(current_user=event.user, session=session, config=config)
    receiver_ids = user_api.get_user_ids_from_profile(Profile.ADMIN)
    try:
        receiver_ids.append(event.user["user_id"])
        same_workspaces_user_ids = user_api.get_users_ids_in_same_workpaces(
            event.user["user_id"])
        receiver_ids = set(receiver_ids + same_workspaces_user_ids)
    except AttributeError:
        # no user in event
        pass
    return receiver_ids
コード例 #3
0
ファイル: event.py プロジェクト: grignards/tracim
def _get_members_and_administrators_ids(event: Event, session: TracimSession,
                                        config: CFG) -> Set[int]:
    """
    Return administrators + members of the event's workspace + user subject of the action if there is one
    """
    user_api = UserApi(current_user=None, session=session, config=config)
    administrators = user_api.get_user_ids_from_profile(Profile.ADMIN)
    role_api = RoleApi(current_user=None, session=session, config=config)
    workspace_members = role_api.get_workspace_member_ids(
        event.workspace["workspace_id"])
    receiver_ids = set(administrators + workspace_members)
    try:
        receiver_ids.add(event.user["user_id"])
    except AttributeError:
        # no user in event
        pass
    return receiver_ids