Vince Salvino 2 years ago
parent
commit
9496dfeaf3

+ 10 - 0
wagtailcrx/management/commands/from_coderedcms.py

@@ -0,0 +1,10 @@
+from django.core.management.base import BaseCommand, CommandError
+
+
+
+class Command(BaseCommand):
+    help = "Converts core parts of a coderedcms 0.x project to wagtailcrx 1.x"
+
+    def handle(self, *args, **options):
+        # TODO - rename migrations in database from "coderedcms" to
+        # "wagtailcrx". Confirmed this works OK.

+ 18 - 7
wagtailcrx/models/page_models.py

@@ -108,13 +108,19 @@ class CoderedPageMeta(PageBase):
         super().__init__(name, bases, dct)
         # Copy of how django generates `db_table`, for compatibility with
         # renaming `wagtailcrx` app to `wagtailcrx`.
-        if crx_settings.CRX_DB_PREFIX:
-            from django.db import connection
-            from django.db.backends.utils import truncate_name
-            cls.db_table = "%s_%s" % (crx_settings.CRX_DB_PREFIX, cls.model_name)
-            cls.db_table = truncate_name(
-                cls.db_table, connection.ops.max_name_length()
-            )
+        # if (
+        #     not cls._meta.abstract
+        #     and cls._meta.app_label == "wagtailcrx"
+        #     and crx_settings.CRX_DB_TABLE_CODEREDCMS
+        # ):
+        #     from django.db import connection
+        #     from django.db.backends.utils import truncate_name
+        #     print(f"HERE - `{cls._meta.db_table}`")
+        #     cls._meta.db_table = "coderedcms_%s" % cls._meta.model_name
+        #     cls._meta.db_table = truncate_name(
+        #         cls._meta.db_table, connection.ops.max_name_length()
+        #     )
+        #     print(f"     - `{cls._meta.db_table}`")
 
         # Append to our registry of known models derived from CoderedPage.
         if not cls._meta.abstract:
@@ -124,6 +130,9 @@ class CoderedPageMeta(PageBase):
 class CoderedTag(TaggedItemBase):
     class Meta:
         verbose_name = _('CodeRed Tag')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_coderedtag"
+
     content_object = ParentalKey('wagtailcrx.CoderedPage', related_name='tagged_items')
 
 
@@ -134,6 +143,8 @@ class CoderedPage(WagtailCacheMixin, SeoMixin, Page, metaclass=CoderedPageMeta):
     """
     class Meta:
         verbose_name = _('CodeRed Page')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_coderedpage"
 
     # Do not allow this page type to be created in wagtail admin
     is_creatable = False

+ 14 - 0
wagtailcrx/models/snippet_models.py

@@ -30,6 +30,8 @@ class Carousel(ClusterableModel):
     """
     class Meta:
         verbose_name = _('Carousel')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_carousel"
 
     name = models.CharField(
         max_length=255,
@@ -94,6 +96,8 @@ class CarouselSlide(Orderable, models.Model):
     """
     class Meta(Orderable.Meta):
         verbose_name = _('Carousel Slide')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_carouselslide"
 
     carousel = ParentalKey(
         Carousel,
@@ -151,6 +155,8 @@ class Classifier(ClusterableModel):
         verbose_name = _('Classifier')
         verbose_name_plural = _('Classifiers')
         ordering = ['name']
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_classifier"
 
     slug = models.SlugField(
         allow_unicode=True,
@@ -192,6 +198,8 @@ class ClassifierTerm(Orderable, models.Model):
     class Meta(Orderable.Meta):
         verbose_name = _('Classifier Term')
         verbose_name_plural = _('Classifier Terms')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_classifierterm"
 
     classifier = ParentalKey(
         Classifier,
@@ -282,6 +290,8 @@ class Footer(models.Model):
     """
     class Meta:
         verbose_name = _('Footer')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_footer"
 
     name = models.CharField(
         max_length=255,
@@ -328,6 +338,8 @@ class ReusableContent(models.Model):
     class Meta:
         verbose_name = _('Reusable Content')
         verbose_name_plural = _('Reusable Content')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_reusablecontent"
 
     name = models.CharField(
         max_length=255,
@@ -356,6 +368,8 @@ class ContentWall(models.Model):
     """
     class Meta:
         verbose_name = _('Content Wall')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_contentwall"
 
     name = models.CharField(
         max_length=255,

+ 25 - 3
wagtailcrx/models/wagtailsettings_models.py

@@ -24,6 +24,8 @@ class LayoutSettings(ClusterableModel, BaseSetting):
     """
     class Meta:
         verbose_name = _('Layout')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_layoutsettings"
 
     logo = models.ForeignKey(
         get_image_model_string(),
@@ -168,6 +170,11 @@ class LayoutSettings(ClusterableModel, BaseSetting):
 
 
 class NavbarOrderable(Orderable, models.Model):
+
+    class Meta:
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_navbarorderable"
+
     navbar_chooser = ParentalKey(
         LayoutSettings,
         related_name="site_navbar",
@@ -186,6 +193,11 @@ class NavbarOrderable(Orderable, models.Model):
 
 
 class FooterOrderable(Orderable, models.Model):
+
+    class Meta:
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_footerorderable"
+
     footer_chooser = ParentalKey(
         LayoutSettings,
         related_name="site_footer",
@@ -210,6 +222,8 @@ class AnalyticsSettings(BaseSetting):
     """
     class Meta:
         verbose_name = _('Tracking')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_analyticssettings"
 
     ga_tracking_id = models.CharField(
         blank=True,
@@ -289,6 +303,8 @@ class ADASettings(BaseSetting):
     """
     class Meta:
         verbose_name = 'Accessibility'
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_adasettings"
 
     skip_navigation = models.BooleanField(
         default=False,
@@ -313,6 +329,11 @@ class GeneralSettings(BaseSetting):
     one-off settings that don't belong anywhere else.
     """
 
+    class Meta:
+        verbose_name = _('General')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_generalsettings"
+
     from_email_address = models.CharField(
 
         blank=True,
@@ -350,9 +371,6 @@ class GeneralSettings(BaseSetting):
         ),
     ]
 
-    class Meta:
-        verbose_name = _('General')
-
 
 @register_setting(icon='cr-puzzle-piece')
 class GoogleApiSettings(BaseSetting):
@@ -361,6 +379,8 @@ class GoogleApiSettings(BaseSetting):
     """
     class Meta:
         verbose_name = _('Google API')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_googleapisettings"
 
     google_maps_api_key = models.CharField(
         blank=True,
@@ -377,6 +397,8 @@ class MailchimpApiSettings(BaseSetting):
     """
     class Meta:
         verbose_name = _('Mailchimp API')
+        if crx_settings.CRX_DB_TABLE_CODEREDCMS:
+            db_table = "coderedcms_mailchimpapisettings"
 
     mailchimp_api_key = models.CharField(
         blank=True,

+ 1 - 1
wagtailcrx/settings.py

@@ -9,7 +9,7 @@ class _DefaultSettings:
     CRX_BANNER_BACKGROUND = '#f00'
     CRX_BANNER_TEXT_COLOR = '#fff'
 
-    CRX_DB_PREFIX = None
+    CRX_DB_TABLE_CODEREDCMS = False
 
     CRX_FRONTEND_BTN_SIZE_DEFAULT = ''
     CRX_FRONTEND_BTN_SIZE_CHOICES = [