mirror of
https://github.com/zulip/zulip.git
synced 2025-11-16 20:02:15 +00:00
user_group: Move UserGroupMembershipDetails from lib/streams.py.
This commit is contained in:
committed by
Tim Abbott
parent
63a4aea7a8
commit
f6bb990b91
@@ -8,9 +8,12 @@ from django.conf import settings
|
||||
from django.db.models import Q
|
||||
from django_stubs_ext import StrPromise
|
||||
|
||||
from zerver.lib.streams import UserGroupMembershipDetails, get_content_access_streams
|
||||
from zerver.lib.streams import get_content_access_streams
|
||||
from zerver.lib.topic import get_first_message_for_user_in_topic
|
||||
from zerver.lib.user_groups import get_root_id_annotated_recursive_subgroups_for_groups
|
||||
from zerver.lib.user_groups import (
|
||||
UserGroupMembershipDetails,
|
||||
get_root_id_annotated_recursive_subgroups_for_groups,
|
||||
)
|
||||
from zerver.lib.users import get_inaccessible_user_ids
|
||||
from zerver.models import NamedUserGroup, UserProfile
|
||||
from zerver.models.groups import SystemGroups
|
||||
|
||||
@@ -28,7 +28,6 @@ from zerver.lib.stream_subscription import (
|
||||
num_subscribers_for_stream_id,
|
||||
)
|
||||
from zerver.lib.streams import (
|
||||
UserGroupMembershipDetails,
|
||||
can_access_stream_history,
|
||||
get_web_public_streams_queryset,
|
||||
is_user_in_groups_granting_content_access,
|
||||
@@ -41,6 +40,7 @@ from zerver.lib.topic import (
|
||||
)
|
||||
from zerver.lib.types import UserDisplayRecipient
|
||||
from zerver.lib.user_groups import (
|
||||
UserGroupMembershipDetails,
|
||||
get_recursive_membership_groups,
|
||||
user_has_permission_for_group_setting,
|
||||
)
|
||||
|
||||
@@ -25,6 +25,7 @@ from zerver.lib.string_validation import check_stream_name
|
||||
from zerver.lib.timestamp import datetime_to_timestamp
|
||||
from zerver.lib.types import AnonymousSettingGroupDict, APIStreamDict
|
||||
from zerver.lib.user_groups import (
|
||||
UserGroupMembershipDetails,
|
||||
get_recursive_group_members,
|
||||
get_recursive_membership_groups,
|
||||
get_role_based_system_groups_dict,
|
||||
@@ -549,11 +550,6 @@ def check_for_exactly_one_stream_arg(stream_id: int | None, stream: str | None)
|
||||
raise IncompatibleParametersError(["stream_id", "stream"])
|
||||
|
||||
|
||||
@dataclass
|
||||
class UserGroupMembershipDetails:
|
||||
user_recursive_group_ids: set[int] | None
|
||||
|
||||
|
||||
def user_has_content_access(
|
||||
user_profile: UserProfile,
|
||||
stream: Stream,
|
||||
|
||||
@@ -19,7 +19,6 @@ from zerver.lib.stream_subscription import (
|
||||
)
|
||||
from zerver.lib.stream_traffic import get_average_weekly_stream_traffic, get_streams_traffic
|
||||
from zerver.lib.streams import (
|
||||
UserGroupMembershipDetails,
|
||||
get_group_setting_value_dict_for_streams,
|
||||
get_setting_values_for_group_settings,
|
||||
get_stream_post_policy_value_based_on_group_setting,
|
||||
@@ -38,7 +37,7 @@ from zerver.lib.types import (
|
||||
SubscriptionInfo,
|
||||
SubscriptionStreamDict,
|
||||
)
|
||||
from zerver.lib.user_groups import get_recursive_membership_groups
|
||||
from zerver.lib.user_groups import UserGroupMembershipDetails, get_recursive_membership_groups
|
||||
from zerver.models import Realm, Stream, Subscription, UserProfile
|
||||
from zerver.models.streams import get_all_streams
|
||||
|
||||
|
||||
@@ -76,6 +76,11 @@ class LockedUserGroupContext:
|
||||
recursive_subgroups: list[NamedUserGroup]
|
||||
|
||||
|
||||
@dataclass
|
||||
class UserGroupMembershipDetails:
|
||||
user_recursive_group_ids: set[int] | None
|
||||
|
||||
|
||||
def has_user_group_access_for_subgroup(
|
||||
user_group: NamedUserGroup,
|
||||
user_profile: UserProfile,
|
||||
|
||||
@@ -13,13 +13,13 @@ from zerver.actions.streams import do_change_stream_group_based_setting, do_chan
|
||||
from zerver.actions.user_groups import check_add_user_group
|
||||
from zerver.lib.message import has_message_access
|
||||
from zerver.lib.streams import (
|
||||
UserGroupMembershipDetails,
|
||||
can_access_stream_metadata_user_ids,
|
||||
update_stream_active_status_for_realm,
|
||||
)
|
||||
from zerver.lib.test_classes import ZulipTestCase, get_topic_messages
|
||||
from zerver.lib.test_helpers import queries_captured
|
||||
from zerver.lib.url_encoding import near_stream_message_url
|
||||
from zerver.lib.user_groups import UserGroupMembershipDetails
|
||||
from zerver.models import Message, NamedUserGroup, Stream, UserMessage, UserProfile
|
||||
from zerver.models.groups import SystemGroups
|
||||
from zerver.models.realms import get_realm
|
||||
|
||||
@@ -72,7 +72,6 @@ from zerver.lib.stream_traffic import (
|
||||
from zerver.lib.streams import (
|
||||
StreamDict,
|
||||
StreamsCategorizedByPermissionsForAddingSubscribers,
|
||||
UserGroupMembershipDetails,
|
||||
access_stream_by_id,
|
||||
access_stream_by_name,
|
||||
can_access_stream_history,
|
||||
@@ -108,7 +107,7 @@ from zerver.lib.types import (
|
||||
NeverSubscribedStreamDict,
|
||||
SubscriptionInfo,
|
||||
)
|
||||
from zerver.lib.user_groups import is_user_in_group
|
||||
from zerver.lib.user_groups import UserGroupMembershipDetails, is_user_in_group
|
||||
from zerver.models import (
|
||||
Attachment,
|
||||
DefaultStream,
|
||||
|
||||
@@ -20,14 +20,10 @@ from zerver.actions.invites import (
|
||||
from zerver.decorator import require_member_or_admin
|
||||
from zerver.lib.exceptions import InvitationError, JsonableError, OrganizationOwnerRequiredError
|
||||
from zerver.lib.response import json_success
|
||||
from zerver.lib.streams import (
|
||||
UserGroupMembershipDetails,
|
||||
access_stream_by_id,
|
||||
get_streams_to_which_user_cannot_add_subscribers,
|
||||
)
|
||||
from zerver.lib.streams import access_stream_by_id, get_streams_to_which_user_cannot_add_subscribers
|
||||
from zerver.lib.typed_endpoint import ApiParamConfig, PathOnly, typed_endpoint
|
||||
from zerver.lib.typed_endpoint_validators import check_int_in_validator
|
||||
from zerver.lib.user_groups import access_user_group_for_update
|
||||
from zerver.lib.user_groups import UserGroupMembershipDetails, access_user_group_for_update
|
||||
from zerver.models import MultiuseInvite, NamedUserGroup, PreregistrationUser, Stream, UserProfile
|
||||
|
||||
# Convert INVITATION_LINK_VALIDITY_DAYS into minutes.
|
||||
|
||||
@@ -62,7 +62,6 @@ from zerver.lib.retention import parse_message_retention_days
|
||||
from zerver.lib.stream_traffic import get_streams_traffic
|
||||
from zerver.lib.streams import (
|
||||
StreamDict,
|
||||
UserGroupMembershipDetails,
|
||||
access_default_stream_group_by_id,
|
||||
access_stream_by_id,
|
||||
access_stream_by_name,
|
||||
@@ -90,6 +89,7 @@ from zerver.lib.typed_endpoint_validators import check_color
|
||||
from zerver.lib.types import AnonymousSettingGroupDict
|
||||
from zerver.lib.user_groups import (
|
||||
GroupSettingChangeRequest,
|
||||
UserGroupMembershipDetails,
|
||||
access_user_group_for_setting,
|
||||
get_group_setting_value_for_api,
|
||||
get_role_based_system_groups_dict,
|
||||
|
||||
Reference in New Issue
Block a user