Merge ~lloydwaltersj/maas:ui-theme-config into maas:master

Proposed by Jack Lloyd-Walters
Status: Merged
Approved by: Jack Lloyd-Walters
Approved revision: d174627868d573a942f6d32412dfa6d445d79758
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~lloydwaltersj/maas:ui-theme-config
Merge into: maas:master
Diff against target: 67 lines (+26/-0)
4 files modified
src/maasserver/forms/__init__.py (+1/-0)
src/maasserver/forms/settings.py (+8/-0)
src/maasserver/forms/tests/test_settings.py (+16/-0)
src/maasserver/models/config.py (+1/-0)
Reviewer Review Type Date Requested Status
Alberto Donato (community) Approve
MAAS Lander Approve
Review via email: mp+425873@code.launchpad.net

Commit message

add UI theme configuration to MAAS

Description of the change

I believe this implements the UI config that was requested in #1979256

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ui-theme-config lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 9e358e80a0e19d66af07ea0cbafd2f8cd9689ffa

review: Approve
Revision history for this message
Adam Collard (adam-collard) wrote :

Please add a test that theme is a valid config option and is str-like

Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ui-theme-config lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: FAILED
LOG: http://maas-ci.internal:8080/job/maas/job/branch-tester/13099/console
COMMIT: c8d0ad2008f58506d7e512b10e158d05936e8b4e

review: Needs Fixing
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ui-theme-config lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: 39075efc8e80e13df4deef2f4b8c257ed8b604da

review: Approve
Revision history for this message
Alberto Donato (ack) :
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b ui-theme-config lp:~lloydwaltersj/maas/+git/maas into -b master lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: d174627868d573a942f6d32412dfa6d445d79758

review: Approve
Revision history for this message
Alberto Donato (ack) wrote :

+1, nice

review: Approve
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNABLE TO START LANDING

STATUS: MISSING COMMIT MESSAGE

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/maasserver/forms/__init__.py b/src/maasserver/forms/__init__.py
index 63e07cc..59b1b12 100644
--- a/src/maasserver/forms/__init__.py
+++ b/src/maasserver/forms/__init__.py
@@ -1706,6 +1706,7 @@ class MAASForm(ConfigForm):
1706 """Settings page, MAAS section."""1706 """Settings page, MAAS section."""
17071707
1708 maas_name = get_config_field("maas_name")1708 maas_name = get_config_field("maas_name")
1709 theme = get_config_field("theme")
1709 enable_analytics = get_config_field("enable_analytics")1710 enable_analytics = get_config_field("enable_analytics")
17101711
17111712
diff --git a/src/maasserver/forms/settings.py b/src/maasserver/forms/settings.py
index d9e7d6e..f9887e1 100644
--- a/src/maasserver/forms/settings.py
+++ b/src/maasserver/forms/settings.py
@@ -287,6 +287,14 @@ CONFIG_ITEMS = {
287 "form": forms.CharField,287 "form": forms.CharField,
288 "form_kwargs": {"label": "MAAS name"},288 "form_kwargs": {"label": "MAAS name"},
289 },289 },
290 "theme": {
291 "default": "",
292 "form": forms.CharField,
293 "form_kwargs": {
294 "label": "MAAS theme",
295 "required": False,
296 },
297 },
290 "kernel_opts": {298 "kernel_opts": {
291 "default": None,299 "default": None,
292 "form": forms.CharField,300 "form": forms.CharField,
diff --git a/src/maasserver/forms/tests/test_settings.py b/src/maasserver/forms/tests/test_settings.py
index f0cd075..010dbfb 100644
--- a/src/maasserver/forms/tests/test_settings.py
+++ b/src/maasserver/forms/tests/test_settings.py
@@ -107,3 +107,19 @@ class TestMAASSyslogPortConfigSettings(MAASServerTestCase):
107 def test_doesnt_allow_port_5248(self):107 def test_doesnt_allow_port_5248(self):
108 field = get_config_field("maas_syslog_port")108 field = get_config_field("maas_syslog_port")
109 self.assertRaises(ValidationError, field.clean, "5248")109 self.assertRaises(ValidationError, field.clean, "5248")
110
111
112class TestMAASThemeConfigSettings(MAASServerTestCase):
113 def test_default_value(self):
114 form = get_config_form("theme")
115 self.assertEqual({"theme": ""}, form.initial)
116
117 def test_theme_config(self):
118 value = factory.make_hex_string(size=6)
119 field = get_config_field("theme")
120 self.assertEqual(value, field.clean(value))
121
122 def test_theme_string_like(self):
123 value = [1, 2, 3]
124 field = get_config_field("theme")
125 self.assertEqual(str(value), field.clean(value))
diff --git a/src/maasserver/models/config.py b/src/maasserver/models/config.py
index 0a90053..d1540d0 100644
--- a/src/maasserver/models/config.py
+++ b/src/maasserver/models/config.py
@@ -59,6 +59,7 @@ def get_default_config():
59 # Network section configuration.59 # Network section configuration.
60 "maas_url": "http://localhost:5240/MAAS",60 "maas_url": "http://localhost:5240/MAAS",
61 "maas_name": gethostname(),61 "maas_name": gethostname(),
62 "theme": "",
62 "default_osystem": DEFAULT_OS.name,63 "default_osystem": DEFAULT_OS.name,
63 "default_distro_series": DEFAULT_OS.get_default_release(),64 "default_distro_series": DEFAULT_OS.get_default_release(),
64 # Proxy settings65 # Proxy settings

Subscribers

People subscribed via source and target branches