misc: add singleton accessor to site settings (#63223)
This commit is contained in:
parent
07d52f797c
commit
6f040993b2
|
@ -2298,7 +2298,7 @@ class SiteSettings(models.Model):
|
|||
|
||||
@classmethod
|
||||
def export_json(cls):
|
||||
settings = SiteSettings.objects.get()
|
||||
settings = cls.get_singleton()
|
||||
return {
|
||||
'initial_login_page_path': settings.initial_login_page_path,
|
||||
'welcome_page_path': settings.welcome_page_path,
|
||||
|
@ -2307,3 +2307,10 @@ class SiteSettings(models.Model):
|
|||
@classmethod
|
||||
def import_json(cls, data):
|
||||
SiteSettings.objects.update(**data)
|
||||
|
||||
@classmethod
|
||||
def get_singleton(cls):
|
||||
try:
|
||||
return cls.objects.get()
|
||||
except cls.DoesNotExist:
|
||||
return cls()
|
||||
|
|
|
@ -1080,7 +1080,7 @@ class SiteSettingsView(UpdateView):
|
|||
success_url = reverse_lazy('combo-manager-homepage')
|
||||
|
||||
def get_object(self):
|
||||
return SiteSettings.objects.get()
|
||||
return SiteSettings.get_singleton()
|
||||
|
||||
|
||||
site_settings = SiteSettingsView.as_view()
|
||||
|
|
|
@ -464,7 +464,7 @@ def page(request):
|
|||
if not parts:
|
||||
parts = ['index']
|
||||
|
||||
site_settings = SiteSettings.objects.get()
|
||||
site_settings = SiteSettings.get_singleton()
|
||||
if (
|
||||
parts == ['index']
|
||||
and (site_settings.initial_login_page or site_settings.initial_login_page_path)
|
||||
|
|
|
@ -489,7 +489,7 @@ def test_import_export_payment(app):
|
|||
|
||||
|
||||
def test_import_export_settings(app):
|
||||
site_settings = SiteSettings.objects.get()
|
||||
site_settings = SiteSettings.get_singleton()
|
||||
site_settings.initial_login_page_path = '/test/'
|
||||
site_settings.welcome_page_path = '/hop/'
|
||||
site_settings.save()
|
||||
|
|
|
@ -2801,7 +2801,7 @@ def test_site_settings(app, admin_user):
|
|||
resp.form['initial_login_page_path'] = '/initial-login/'
|
||||
resp.form.submit()
|
||||
|
||||
site_settings = SiteSettings.objects.get()
|
||||
site_settings = SiteSettings.get_singleton()
|
||||
assert site_settings.welcome_page_path == '/welcome/'
|
||||
assert site_settings.initial_login_page_path == '/initial-login/'
|
||||
|
||||
|
|
|
@ -651,7 +651,7 @@ def test_initial_login_page(app, admin_user):
|
|||
page = Page(title='Initial Login', slug='initial-login', template_name='standard', public=False)
|
||||
page.save()
|
||||
|
||||
site_settings = SiteSettings.objects.get()
|
||||
site_settings = SiteSettings.get_singleton()
|
||||
site_settings.initial_login_page_path = '/initial-login/'
|
||||
site_settings.save()
|
||||
|
||||
|
@ -721,7 +721,7 @@ def test_welcome_page(app, admin_user):
|
|||
page = Page(title='Welcome', slug='welcome', template_name='standard')
|
||||
page.save()
|
||||
|
||||
site_settings = SiteSettings.objects.get()
|
||||
site_settings = SiteSettings.get_singleton()
|
||||
site_settings.welcome_page_path = '/welcome/'
|
||||
site_settings.save()
|
||||
|
||||
|
|
Loading…
Reference in New Issue