mirror of
https://github.com/zulip/zulip.git
synced 2025-11-18 04:43:58 +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.db.models import Q
|
||||||
from django_stubs_ext import StrPromise
|
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.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.lib.users import get_inaccessible_user_ids
|
||||||
from zerver.models import NamedUserGroup, UserProfile
|
from zerver.models import NamedUserGroup, UserProfile
|
||||||
from zerver.models.groups import SystemGroups
|
from zerver.models.groups import SystemGroups
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ from zerver.lib.stream_subscription import (
|
|||||||
num_subscribers_for_stream_id,
|
num_subscribers_for_stream_id,
|
||||||
)
|
)
|
||||||
from zerver.lib.streams import (
|
from zerver.lib.streams import (
|
||||||
UserGroupMembershipDetails,
|
|
||||||
can_access_stream_history,
|
can_access_stream_history,
|
||||||
get_web_public_streams_queryset,
|
get_web_public_streams_queryset,
|
||||||
is_user_in_groups_granting_content_access,
|
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.types import UserDisplayRecipient
|
||||||
from zerver.lib.user_groups import (
|
from zerver.lib.user_groups import (
|
||||||
|
UserGroupMembershipDetails,
|
||||||
get_recursive_membership_groups,
|
get_recursive_membership_groups,
|
||||||
user_has_permission_for_group_setting,
|
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.timestamp import datetime_to_timestamp
|
||||||
from zerver.lib.types import AnonymousSettingGroupDict, APIStreamDict
|
from zerver.lib.types import AnonymousSettingGroupDict, APIStreamDict
|
||||||
from zerver.lib.user_groups import (
|
from zerver.lib.user_groups import (
|
||||||
|
UserGroupMembershipDetails,
|
||||||
get_recursive_group_members,
|
get_recursive_group_members,
|
||||||
get_recursive_membership_groups,
|
get_recursive_membership_groups,
|
||||||
get_role_based_system_groups_dict,
|
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"])
|
raise IncompatibleParametersError(["stream_id", "stream"])
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class UserGroupMembershipDetails:
|
|
||||||
user_recursive_group_ids: set[int] | None
|
|
||||||
|
|
||||||
|
|
||||||
def user_has_content_access(
|
def user_has_content_access(
|
||||||
user_profile: UserProfile,
|
user_profile: UserProfile,
|
||||||
stream: Stream,
|
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.stream_traffic import get_average_weekly_stream_traffic, get_streams_traffic
|
||||||
from zerver.lib.streams import (
|
from zerver.lib.streams import (
|
||||||
UserGroupMembershipDetails,
|
|
||||||
get_group_setting_value_dict_for_streams,
|
get_group_setting_value_dict_for_streams,
|
||||||
get_setting_values_for_group_settings,
|
get_setting_values_for_group_settings,
|
||||||
get_stream_post_policy_value_based_on_group_setting,
|
get_stream_post_policy_value_based_on_group_setting,
|
||||||
@@ -38,7 +37,7 @@ from zerver.lib.types import (
|
|||||||
SubscriptionInfo,
|
SubscriptionInfo,
|
||||||
SubscriptionStreamDict,
|
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 import Realm, Stream, Subscription, UserProfile
|
||||||
from zerver.models.streams import get_all_streams
|
from zerver.models.streams import get_all_streams
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,11 @@ class LockedUserGroupContext:
|
|||||||
recursive_subgroups: list[NamedUserGroup]
|
recursive_subgroups: list[NamedUserGroup]
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class UserGroupMembershipDetails:
|
||||||
|
user_recursive_group_ids: set[int] | None
|
||||||
|
|
||||||
|
|
||||||
def has_user_group_access_for_subgroup(
|
def has_user_group_access_for_subgroup(
|
||||||
user_group: NamedUserGroup,
|
user_group: NamedUserGroup,
|
||||||
user_profile: UserProfile,
|
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.actions.user_groups import check_add_user_group
|
||||||
from zerver.lib.message import has_message_access
|
from zerver.lib.message import has_message_access
|
||||||
from zerver.lib.streams import (
|
from zerver.lib.streams import (
|
||||||
UserGroupMembershipDetails,
|
|
||||||
can_access_stream_metadata_user_ids,
|
can_access_stream_metadata_user_ids,
|
||||||
update_stream_active_status_for_realm,
|
update_stream_active_status_for_realm,
|
||||||
)
|
)
|
||||||
from zerver.lib.test_classes import ZulipTestCase, get_topic_messages
|
from zerver.lib.test_classes import ZulipTestCase, get_topic_messages
|
||||||
from zerver.lib.test_helpers import queries_captured
|
from zerver.lib.test_helpers import queries_captured
|
||||||
from zerver.lib.url_encoding import near_stream_message_url
|
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 import Message, NamedUserGroup, Stream, UserMessage, UserProfile
|
||||||
from zerver.models.groups import SystemGroups
|
from zerver.models.groups import SystemGroups
|
||||||
from zerver.models.realms import get_realm
|
from zerver.models.realms import get_realm
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ from zerver.lib.stream_traffic import (
|
|||||||
from zerver.lib.streams import (
|
from zerver.lib.streams import (
|
||||||
StreamDict,
|
StreamDict,
|
||||||
StreamsCategorizedByPermissionsForAddingSubscribers,
|
StreamsCategorizedByPermissionsForAddingSubscribers,
|
||||||
UserGroupMembershipDetails,
|
|
||||||
access_stream_by_id,
|
access_stream_by_id,
|
||||||
access_stream_by_name,
|
access_stream_by_name,
|
||||||
can_access_stream_history,
|
can_access_stream_history,
|
||||||
@@ -108,7 +107,7 @@ from zerver.lib.types import (
|
|||||||
NeverSubscribedStreamDict,
|
NeverSubscribedStreamDict,
|
||||||
SubscriptionInfo,
|
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 (
|
from zerver.models import (
|
||||||
Attachment,
|
Attachment,
|
||||||
DefaultStream,
|
DefaultStream,
|
||||||
|
|||||||
@@ -20,14 +20,10 @@ from zerver.actions.invites import (
|
|||||||
from zerver.decorator import require_member_or_admin
|
from zerver.decorator import require_member_or_admin
|
||||||
from zerver.lib.exceptions import InvitationError, JsonableError, OrganizationOwnerRequiredError
|
from zerver.lib.exceptions import InvitationError, JsonableError, OrganizationOwnerRequiredError
|
||||||
from zerver.lib.response import json_success
|
from zerver.lib.response import json_success
|
||||||
from zerver.lib.streams import (
|
from zerver.lib.streams import access_stream_by_id, get_streams_to_which_user_cannot_add_subscribers
|
||||||
UserGroupMembershipDetails,
|
|
||||||
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 import ApiParamConfig, PathOnly, typed_endpoint
|
||||||
from zerver.lib.typed_endpoint_validators import check_int_in_validator
|
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
|
from zerver.models import MultiuseInvite, NamedUserGroup, PreregistrationUser, Stream, UserProfile
|
||||||
|
|
||||||
# Convert INVITATION_LINK_VALIDITY_DAYS into minutes.
|
# 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.stream_traffic import get_streams_traffic
|
||||||
from zerver.lib.streams import (
|
from zerver.lib.streams import (
|
||||||
StreamDict,
|
StreamDict,
|
||||||
UserGroupMembershipDetails,
|
|
||||||
access_default_stream_group_by_id,
|
access_default_stream_group_by_id,
|
||||||
access_stream_by_id,
|
access_stream_by_id,
|
||||||
access_stream_by_name,
|
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.types import AnonymousSettingGroupDict
|
||||||
from zerver.lib.user_groups import (
|
from zerver.lib.user_groups import (
|
||||||
GroupSettingChangeRequest,
|
GroupSettingChangeRequest,
|
||||||
|
UserGroupMembershipDetails,
|
||||||
access_user_group_for_setting,
|
access_user_group_for_setting,
|
||||||
get_group_setting_value_for_api,
|
get_group_setting_value_for_api,
|
||||||
get_role_based_system_groups_dict,
|
get_role_based_system_groups_dict,
|
||||||
|
|||||||
Reference in New Issue
Block a user