Add char field to set a password that is required to join the server

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
[james: Apply yapf formatting]
[james: Minor adjustment to help text]
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
schiriki 2022-06-11 01:30:59 +02:00 committed by James Valleroy
parent a7c9248200
commit 7028e3d022
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
3 changed files with 27 additions and 0 deletions

View File

@ -39,6 +39,10 @@ def parse_arguments():
subparsers.add_parser('get-root-channel-name',
help='Print the root channel name')
subparser = subparsers.add_parser(
'change-join-password', help='Set the password to join the server')
subparser.add_argument('join_password', help='New join password')
subparsers.required = True
return parser.parse_args()
@ -92,6 +96,14 @@ def subcommand_set_domain(arguments):
domain_file.write_text(arguments.domain_name)
def subcommand_change_join_password(arguments):
"""Change to password that is required to join the server"""
aug = load_augeas()
aug.set('.anon/serverpassword', arguments.join_password)
aug.save()
action_utils.service_try_restart('mumble-server')
def subcommand_change_root_channel_name(arguments):
"""Change the name of the Root channel."""
aug = load_augeas()

View File

@ -35,6 +35,15 @@ class MumbleForm(forms.Form):
required=False,
)
join_password = forms.CharField(
max_length=32,
label=_('Set a password to join the server'),
widget=forms.PasswordInput,
help_text=_('Set a password that is required to join the server. '
'Leave empty to use the current password.'),
required=False,
)
root_channel_name = forms.CharField(
label=_('Set the name for the root channel'),
min_length=1,

View File

@ -39,6 +39,12 @@ class MumbleAppView(AppView):
messages.success(self.request,
_('SuperUser password successfully updated.'))
join_password = new_config.get('join_password')
if join_password:
actions.superuser_run('mumble',
['change-join-password', join_password])
messages.success(self.request, _('Join password changed'))
name = new_config.get('root_channel_name')
if name:
actions.superuser_run('mumble', ['change-root-channel-name', name])