mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 22:13:26 +00:00
management: Extract add_create_user_args.
This will avoid code duplication when adding a create_realm management command.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# Library code for use in management commands
|
# Library code for use in management commands
|
||||||
from argparse import ArgumentParser, RawTextHelpFormatter
|
from argparse import SUPPRESS, ArgumentParser, RawTextHelpFormatter
|
||||||
from typing import Any, Dict, List, Optional
|
from typing import Any, Dict, List, Optional
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
@@ -47,6 +47,39 @@ You can use the command list_realms to find ID of the realms in this server."""
|
|||||||
|
|
||||||
parser.add_argument("-r", "--realm", dest="realm_id", required=required, help=help)
|
parser.add_argument("-r", "--realm", dest="realm_id", required=required, help=help)
|
||||||
|
|
||||||
|
def add_create_user_args(self, parser: ArgumentParser) -> None:
|
||||||
|
parser.add_argument(
|
||||||
|
"email",
|
||||||
|
metavar="<email>",
|
||||||
|
nargs="?",
|
||||||
|
default=SUPPRESS,
|
||||||
|
help="email address of new user",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"full_name",
|
||||||
|
metavar="<full name>",
|
||||||
|
nargs="?",
|
||||||
|
default=SUPPRESS,
|
||||||
|
help="full name of new user",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--password",
|
||||||
|
help="password of new user. For development only."
|
||||||
|
"Note that we recommend against setting "
|
||||||
|
"passwords this way, since they can be snooped by any user account "
|
||||||
|
"on the server via `ps -ef` or by any superuser with"
|
||||||
|
"read access to the user's bash history.",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--password-file", help="The file containing the password of the new user."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--this-user-has-accepted-the-tos",
|
||||||
|
dest="tos",
|
||||||
|
action="store_true",
|
||||||
|
help="Acknowledgement that the user has already accepted the ToS.",
|
||||||
|
)
|
||||||
|
|
||||||
def add_user_list_args(
|
def add_user_list_args(
|
||||||
self,
|
self,
|
||||||
parser: ArgumentParser,
|
parser: ArgumentParser,
|
||||||
|
|||||||
@@ -15,43 +15,13 @@ from zerver.lib.management import ZulipBaseCommand
|
|||||||
class Command(ZulipBaseCommand):
|
class Command(ZulipBaseCommand):
|
||||||
help = """Create the specified user with a default initial password.
|
help = """Create the specified user with a default initial password.
|
||||||
|
|
||||||
Set tos_version=None, so that the user needs to do a ToS flow on login.
|
Sets tos_version=None, so that the user needs to do a ToS flow on login.
|
||||||
|
|
||||||
Omit both <email> and <full name> for interactive user creation.
|
Omit both <email> and <full name> for interactive user creation.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def add_arguments(self, parser: argparse.ArgumentParser) -> None:
|
def add_arguments(self, parser: argparse.ArgumentParser) -> None:
|
||||||
parser.add_argument(
|
self.add_create_user_args(parser)
|
||||||
"--this-user-has-accepted-the-tos",
|
|
||||||
dest="tos",
|
|
||||||
action="store_true",
|
|
||||||
help="Acknowledgement that the user has already accepted the ToS.",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--password",
|
|
||||||
help="password of new user. For development only."
|
|
||||||
"Note that we recommend against setting "
|
|
||||||
"passwords this way, since they can be snooped by any user account "
|
|
||||||
"on the server via `ps -ef` or by any superuser with"
|
|
||||||
"read access to the user's bash history.",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--password-file", help="The file containing the password of the new user."
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"email",
|
|
||||||
metavar="<email>",
|
|
||||||
nargs="?",
|
|
||||||
default=argparse.SUPPRESS,
|
|
||||||
help="email address of new user",
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"full_name",
|
|
||||||
metavar="<full name>",
|
|
||||||
nargs="?",
|
|
||||||
default=argparse.SUPPRESS,
|
|
||||||
help="full name of new user",
|
|
||||||
)
|
|
||||||
self.add_realm_args(
|
self.add_realm_args(
|
||||||
parser, required=True, help="The name of the existing realm to which to add the user."
|
parser, required=True, help="The name of the existing realm to which to add the user."
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user