mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-03-04 08:53:42 +00:00
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>
54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
from django.contrib import messages
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from plinth import actions
|
|
from plinth.modules import mumble
|
|
from plinth.modules.mumble.forms import MumbleForm
|
|
from plinth.views import AppView
|
|
|
|
|
|
class MumbleAppView(AppView):
|
|
app_id = 'mumble'
|
|
form_class = MumbleForm
|
|
|
|
def get_initial(self):
|
|
"""Return the values to fill in the form."""
|
|
initial = super().get_initial()
|
|
initial['domain'] = mumble.get_domain()
|
|
initial['root_channel_name'] = mumble.get_root_channel_name()
|
|
return initial
|
|
|
|
def form_valid(self, form):
|
|
"""Apply new superuser password if it exists"""
|
|
new_config = form.cleaned_data
|
|
|
|
if mumble.get_domain() != new_config['domain']:
|
|
mumble.set_domain(new_config['domain'])
|
|
mumble.app.get_component('letsencrypt-mumble').setup_certificates()
|
|
messages.success(self.request, _('Configuration updated'))
|
|
|
|
password = new_config.get('super_user_password')
|
|
if password:
|
|
actions.run_as_user(
|
|
'mumble',
|
|
['create-password'],
|
|
input=password.encode(),
|
|
become_user="mumble-server",
|
|
)
|
|
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])
|
|
messages.success(self.request, _('Root channel name changed.'))
|
|
|
|
return super().form_valid(form)
|