From e417b3b6d63194349e685b324b80a1c4eed2f5af Mon Sep 17 00:00:00 2001
From: Fredrik Jonsson <frjo@xdeb.org>
Date: Fri, 19 Oct 2018 13:23:40 +0200
Subject: [PATCH] Added a wagtailsiteupdate command.

---
 .../management/commands/wagtailsiteupdate.py  | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 opentech/public/home/management/commands/wagtailsiteupdate.py

diff --git a/opentech/public/home/management/commands/wagtailsiteupdate.py b/opentech/public/home/management/commands/wagtailsiteupdate.py
new file mode 100644
index 000000000..700dfc048
--- /dev/null
+++ b/opentech/public/home/management/commands/wagtailsiteupdate.py
@@ -0,0 +1,26 @@
+from django.core.management.base import BaseCommand
+from django.db import transaction
+from wagtail.core.models import Site
+
+
+class Command(BaseCommand):
+    help = "Wagtail site update script. Requires a public hostname, a apply hostname and a port number in that order."
+
+    def add_arguments(self, parser):
+        parser.add_argument('public', type=str, help='Hostname for the public site.')
+        parser.add_argument('apply', type=str, help='Hostname for the apply site.')
+        parser.add_argument('port', type=int, help='Port to use for all sites.')
+
+    @transaction.atomic
+    def handle(self, *args, **options):
+        site_apply = Site.objects.get(id=2)
+        site_apply.hostname = options['apply']
+        site_apply.port = options['port']
+        site_apply.save()
+
+        site_public = Site.objects.get(id=3)
+        site_public.hostname = options['public']
+        site_public.port = options['port']
+        site_public.save()
+
+        self.stdout.write(f"Updated the public site to {options['public']}:{options['port']} and the apply site to {options['apply']}:{options['port']}.")
-- 
GitLab