mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-08-26 12:46:08 +00:00
config: Implement get_initial and form_valid
Fixes #1675. Signed-off-by: James Valleroy <jvalleroy@mailbox.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
da0325e4b5
commit
b338501778
@ -41,67 +41,71 @@ class ConfigAppView(views.AppView):
|
|||||||
manual_page = config.manual_page
|
manual_page = config.manual_page
|
||||||
show_status_block = False
|
show_status_block = False
|
||||||
|
|
||||||
|
def get_initial(self):
|
||||||
|
"""Return the current status"""
|
||||||
|
return {
|
||||||
|
'hostname': config.get_hostname(),
|
||||||
|
'domainname': config.get_domainname(),
|
||||||
|
'homepage': config.get_home_page(),
|
||||||
|
'advanced_mode': config.get_advanced_mode(),
|
||||||
|
}
|
||||||
|
|
||||||
def get_status():
|
def form_valid(self, form):
|
||||||
"""Return the current status"""
|
"""Apply the form changes"""
|
||||||
return {
|
old_status = form.initial
|
||||||
'hostname': config.get_hostname(),
|
new_status = form.cleaned_data
|
||||||
'domainname': config.get_domainname(),
|
|
||||||
'homepage': config.get_home_page(),
|
|
||||||
'advanced_mode': config.get_advanced_mode(),
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if old_status['hostname'] != new_status['hostname']:
|
||||||
def _apply_changes(request, old_status, new_status):
|
try:
|
||||||
"""Apply the form changes"""
|
set_hostname(new_status['hostname'])
|
||||||
if old_status['hostname'] != new_status['hostname']:
|
except Exception as exception:
|
||||||
try:
|
messages.error(
|
||||||
set_hostname(new_status['hostname'])
|
self.request,
|
||||||
except Exception as exception:
|
_('Error setting hostname: {exception}').format(
|
||||||
messages.error(
|
exception=exception))
|
||||||
request,
|
|
||||||
_('Error setting hostname: {exception}').format(
|
|
||||||
exception=exception))
|
|
||||||
else:
|
|
||||||
messages.success(request, _('Hostname set'))
|
|
||||||
|
|
||||||
if old_status['domainname'] != new_status['domainname']:
|
|
||||||
try:
|
|
||||||
set_domainname(new_status['domainname'], old_status['domainname'])
|
|
||||||
except Exception as exception:
|
|
||||||
messages.error(
|
|
||||||
request,
|
|
||||||
_('Error setting domain name: {exception}').format(
|
|
||||||
exception=exception))
|
|
||||||
else:
|
|
||||||
messages.success(request, _('Domain name set'))
|
|
||||||
|
|
||||||
if old_status['homepage'] != new_status['homepage']:
|
|
||||||
try:
|
|
||||||
config.change_home_page(new_status['homepage'])
|
|
||||||
except Exception as exception:
|
|
||||||
messages.error(
|
|
||||||
request,
|
|
||||||
_('Error setting webserver home page: {exception}').format(
|
|
||||||
exception=exception))
|
|
||||||
else:
|
|
||||||
messages.success(request, _('Webserver home page set'))
|
|
||||||
|
|
||||||
if old_status['advanced_mode'] != new_status['advanced_mode']:
|
|
||||||
try:
|
|
||||||
config.set_advanced_mode(new_status['advanced_mode'])
|
|
||||||
except Exception as exception:
|
|
||||||
messages.error(
|
|
||||||
request,
|
|
||||||
_('Error changing advanced mode: {exception}').format(
|
|
||||||
exception=exception))
|
|
||||||
else:
|
|
||||||
if new_status['advanced_mode']:
|
|
||||||
messages.success(request,
|
|
||||||
_('Showing advanced apps and features'))
|
|
||||||
else:
|
else:
|
||||||
messages.success(request,
|
messages.success(self.request, _('Hostname set'))
|
||||||
_('Hiding advanced apps and features'))
|
|
||||||
|
if old_status['domainname'] != new_status['domainname']:
|
||||||
|
try:
|
||||||
|
set_domainname(new_status['domainname'],
|
||||||
|
old_status['domainname'])
|
||||||
|
except Exception as exception:
|
||||||
|
messages.error(
|
||||||
|
self.request,
|
||||||
|
_('Error setting domain name: {exception}').format(
|
||||||
|
exception=exception))
|
||||||
|
else:
|
||||||
|
messages.success(self.request, _('Domain name set'))
|
||||||
|
|
||||||
|
if old_status['homepage'] != new_status['homepage']:
|
||||||
|
try:
|
||||||
|
config.change_home_page(new_status['homepage'])
|
||||||
|
except Exception as exception:
|
||||||
|
messages.error(
|
||||||
|
self.request,
|
||||||
|
_('Error setting webserver home page: {exception}').format(
|
||||||
|
exception=exception))
|
||||||
|
else:
|
||||||
|
messages.success(self.request, _('Webserver home page set'))
|
||||||
|
|
||||||
|
if old_status['advanced_mode'] != new_status['advanced_mode']:
|
||||||
|
try:
|
||||||
|
config.set_advanced_mode(new_status['advanced_mode'])
|
||||||
|
except Exception as exception:
|
||||||
|
messages.error(
|
||||||
|
self.request,
|
||||||
|
_('Error changing advanced mode: {exception}').format(
|
||||||
|
exception=exception))
|
||||||
|
else:
|
||||||
|
if new_status['advanced_mode']:
|
||||||
|
messages.success(self.request,
|
||||||
|
_('Showing advanced apps and features'))
|
||||||
|
else:
|
||||||
|
messages.success(self.request,
|
||||||
|
_('Hiding advanced apps and features'))
|
||||||
|
|
||||||
|
return super(views.AppView, self).form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
def set_hostname(hostname):
|
def set_hostname(hostname):
|
||||||
@ -122,8 +126,9 @@ def set_hostname(hostname):
|
|||||||
LOGGER.info('Setting domain name after hostname change - %s', domainname)
|
LOGGER.info('Setting domain name after hostname change - %s', domainname)
|
||||||
actions.superuser_run('domainname-change', [domainname])
|
actions.superuser_run('domainname-change', [domainname])
|
||||||
|
|
||||||
post_hostname_change.send_robust(
|
post_hostname_change.send_robust(sender='config',
|
||||||
sender='config', old_hostname=old_hostname, new_hostname=hostname)
|
old_hostname=old_hostname,
|
||||||
|
new_hostname=hostname)
|
||||||
|
|
||||||
|
|
||||||
def set_domainname(domainname, old_domainname):
|
def set_domainname(domainname, old_domainname):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user