mirror of
https://github.com/zulip/zulip.git
synced 2025-10-29 11:03:54 +00:00
decorator: Refactor @require_non_guest_human_user decorator.
Rename @require_non_guest_human_user to @require_member_or_admin. This is a refactor commit prior to introduction of Administrator Bots.
This commit is contained in:
@@ -75,7 +75,7 @@ def stats(request: HttpRequest) -> HttpResponse:
|
||||
realm = request.user.realm
|
||||
if request.user.is_guest:
|
||||
# TODO: Make @zulip_login_required pass the UserProfile so we
|
||||
# can use @require_non_guest_human_user
|
||||
# can use @require_member_or_admin
|
||||
raise JsonableError(_("Not allowed for guest users"))
|
||||
return render_stats(request, '', realm.name or realm.string_id)
|
||||
|
||||
|
||||
@@ -507,7 +507,7 @@ def require_non_guest_user(view_func: ViewFuncT) -> ViewFuncT:
|
||||
return view_func(request, user_profile, *args, **kwargs)
|
||||
return _wrapped_view_func # type: ignore # https://github.com/python/mypy/issues/1927
|
||||
|
||||
def require_non_guest_human_user(view_func: ViewFuncT) -> ViewFuncT:
|
||||
def require_member_or_admin(view_func: ViewFuncT) -> ViewFuncT:
|
||||
@wraps(view_func)
|
||||
def _wrapped_view_func(request: HttpRequest, user_profile: UserProfile, *args: Any,
|
||||
**kwargs: Any) -> HttpResponse:
|
||||
|
||||
@@ -1569,7 +1569,7 @@ class TestRequireDecorators(ZulipTestCase):
|
||||
result = self.common_subscribe_to_streams(guest_user.email, ["Denmark"])
|
||||
self.assert_json_error(result, "Not allowed for guest users")
|
||||
|
||||
def test_require_non_guest_human_user_decorator(self) -> None:
|
||||
def test_require_member_or_admin_decorator(self) -> None:
|
||||
result = self.api_get("outgoing-webhook@zulip.com", '/api/v1/bots')
|
||||
self.assert_json_error(result, "This endpoint does not accept bot requests.")
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ from django.http import HttpRequest, HttpResponse
|
||||
from django.utils.translation import ugettext as _
|
||||
from typing import List, Optional, Set
|
||||
|
||||
from zerver.decorator import require_realm_admin, require_non_guest_human_user
|
||||
from zerver.decorator import require_realm_admin, require_member_or_admin
|
||||
from zerver.lib.actions import do_invite_users, do_revoke_user_invite, \
|
||||
do_revoke_multi_use_invite, do_resend_user_invite_email, \
|
||||
do_get_user_invites, do_create_multiuse_invite_link
|
||||
@@ -14,7 +14,7 @@ from zerver.models import PreregistrationUser, Stream, UserProfile, MultiuseInvi
|
||||
|
||||
import re
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def invite_users_backend(request: HttpRequest, user_profile: UserProfile,
|
||||
invitee_emails_raw: str=REQ("invitee_emails"),
|
||||
|
||||
@@ -7,7 +7,7 @@ from zerver.lib.emoji import check_emoji_admin, check_valid_emoji_name
|
||||
from zerver.lib.request import JsonableError, REQ, has_request_variables
|
||||
from zerver.lib.response import json_success, json_error
|
||||
from zerver.lib.actions import check_add_realm_emoji, do_remove_realm_emoji
|
||||
from zerver.decorator import require_non_guest_human_user
|
||||
from zerver.decorator import require_member_or_admin
|
||||
|
||||
|
||||
def list_emoji(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
|
||||
@@ -17,7 +17,7 @@ def list_emoji(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
|
||||
return json_success({'emoji': user_profile.realm.get_emoji()})
|
||||
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def upload_emoji(request: HttpRequest, user_profile: UserProfile,
|
||||
emoji_name: str=REQ()) -> HttpResponse:
|
||||
|
||||
@@ -3,7 +3,7 @@ from django.utils.translation import ugettext as _
|
||||
|
||||
from typing import List
|
||||
|
||||
from zerver.decorator import require_non_guest_human_user
|
||||
from zerver.decorator import require_member_or_admin
|
||||
from zerver.lib.actions import check_add_user_group, do_update_user_group_name, \
|
||||
do_update_user_group_description, bulk_add_members_to_user_group, \
|
||||
remove_members_from_user_group, check_delete_user_group
|
||||
@@ -17,7 +17,7 @@ from zerver.lib.user_groups import access_user_group_by_id, get_memberships_of_u
|
||||
from zerver.models import UserProfile
|
||||
from zerver.views.streams import compose_views, FuncKwargPair
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def add_user_group(request: HttpRequest, user_profile: UserProfile,
|
||||
name: str=REQ(),
|
||||
@@ -27,13 +27,13 @@ def add_user_group(request: HttpRequest, user_profile: UserProfile,
|
||||
check_add_user_group(user_profile.realm, name, user_profiles, description)
|
||||
return json_success()
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def get_user_group(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
|
||||
user_groups = user_groups_in_realm_serialized(user_profile.realm)
|
||||
return json_success({"user_groups": user_groups})
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def edit_user_group(request: HttpRequest, user_profile: UserProfile,
|
||||
user_group_id: int=REQ(validator=check_int),
|
||||
@@ -55,7 +55,7 @@ def edit_user_group(request: HttpRequest, user_profile: UserProfile,
|
||||
|
||||
return json_success(result)
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def delete_user_group(request: HttpRequest, user_profile: UserProfile,
|
||||
user_group_id: int=REQ(validator=check_int)) -> HttpResponse:
|
||||
@@ -63,7 +63,7 @@ def delete_user_group(request: HttpRequest, user_profile: UserProfile,
|
||||
check_delete_user_group(user_group_id, user_profile)
|
||||
return json_success()
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def update_user_group_backend(request: HttpRequest, user_profile: UserProfile,
|
||||
user_group_id: int=REQ(validator=check_int),
|
||||
|
||||
@@ -8,8 +8,7 @@ from django.utils.translation import ugettext as _
|
||||
from django.shortcuts import redirect, render
|
||||
from django.conf import settings
|
||||
|
||||
from zerver.decorator import require_realm_admin, \
|
||||
require_non_guest_human_user
|
||||
from zerver.decorator import require_realm_admin, require_member_or_admin
|
||||
from zerver.forms import CreateUserForm
|
||||
from zerver.lib.actions import do_change_avatar_fields, do_change_bot_owner, \
|
||||
do_change_is_admin, do_change_default_all_public_streams, \
|
||||
@@ -160,7 +159,7 @@ def get_stream_name(stream: Optional[Stream]) -> Optional[str]:
|
||||
return stream.name
|
||||
return None
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def patch_bot_backend(
|
||||
request: HttpRequest, user_profile: UserProfile, bot_id: int,
|
||||
@@ -245,7 +244,7 @@ def patch_bot_backend(
|
||||
|
||||
return json_success(json_result)
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def regenerate_bot_api_key(request: HttpRequest, user_profile: UserProfile, bot_id: int) -> HttpResponse:
|
||||
bot = access_bot_by_id(user_profile, bot_id)
|
||||
@@ -256,7 +255,7 @@ def regenerate_bot_api_key(request: HttpRequest, user_profile: UserProfile, bot_
|
||||
)
|
||||
return json_success(json_result)
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
@has_request_variables
|
||||
def add_bot_backend(
|
||||
request: HttpRequest, user_profile: UserProfile,
|
||||
@@ -360,7 +359,7 @@ def add_bot_backend(
|
||||
)
|
||||
return json_success(json_result)
|
||||
|
||||
@require_non_guest_human_user
|
||||
@require_member_or_admin
|
||||
def get_bots_backend(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
|
||||
bot_profiles = UserProfile.objects.filter(is_bot=True, is_active=True,
|
||||
bot_owner=user_profile)
|
||||
|
||||
Reference in New Issue
Block a user