master - part 2

This commit is contained in:
IGNY8 VPS (Salman)
2025-12-30 09:47:58 +00:00
parent 2af7bb725f
commit 885158e152
13 changed files with 538 additions and 63 deletions

View File

@@ -371,16 +371,16 @@ class GlobalModuleSettings(models.Model):
help_text="Enable Automation module platform-wide"
)
site_builder_enabled = models.BooleanField(
default=True,
help_text="Enable Site Builder module platform-wide"
default=False, # DEPRECATED: SiteBuilder module is disabled - Phase 2 feature
help_text="Enable Site Builder module platform-wide (DEPRECATED)"
)
linker_enabled = models.BooleanField(
default=True,
help_text="Enable Linker module platform-wide"
default=False, # Phase 2 feature - not active
help_text="Enable Linker module platform-wide (Phase 2)"
)
optimizer_enabled = models.BooleanField(
default=True,
help_text="Enable Optimizer module platform-wide"
default=False, # Phase 2 feature - not active
help_text="Enable Optimizer module platform-wide (Phase 2)"
)
publisher_enabled = models.BooleanField(
default=True,

View File

@@ -0,0 +1,59 @@
"""
Migration: Disable SiteBuilder, Linker, Optimizer by default
These modules are deprecated (SiteBuilder) or Phase 2 features (Linker, Optimizer).
This migration updates defaults and sets existing records to disabled.
"""
from django.db import migrations
def disable_phase2_modules(apps, schema_editor):
"""
Disable SiteBuilder, Linker, and Optimizer in existing settings records.
These are Phase 2 features not currently active.
"""
GlobalModuleSettings = apps.get_model('system', 'GlobalModuleSettings')
ModuleEnableSettings = apps.get_model('system', 'ModuleEnableSettings')
# Update GlobalModuleSettings (singleton pk=1)
GlobalModuleSettings.objects.filter(pk=1).update(
site_builder_enabled=False,
linker_enabled=False,
optimizer_enabled=False
)
# Update all ModuleEnableSettings (per-account settings)
ModuleEnableSettings.objects.all().update(
site_builder_enabled=False,
linker_enabled=False,
optimizer_enabled=False
)
def reverse_migration(apps, schema_editor):
"""Re-enable modules (reverting to old defaults)"""
GlobalModuleSettings = apps.get_model('system', 'GlobalModuleSettings')
ModuleEnableSettings = apps.get_model('system', 'ModuleEnableSettings')
GlobalModuleSettings.objects.filter(pk=1).update(
site_builder_enabled=True,
linker_enabled=True,
optimizer_enabled=True
)
ModuleEnableSettings.objects.all().update(
site_builder_enabled=True,
linker_enabled=True,
optimizer_enabled=True
)
class Migration(migrations.Migration):
dependencies = [
('system', '0010_globalmodulesettings_and_more'),
]
operations = [
migrations.RunPython(disable_phase2_modules, reverse_migration),
]

View File

@@ -98,9 +98,9 @@ class ModuleEnableSettings(AccountBaseModel):
writer_enabled = models.BooleanField(default=True, help_text="Enable Writer module")
thinker_enabled = models.BooleanField(default=True, help_text="Enable Thinker module")
automation_enabled = models.BooleanField(default=True, help_text="Enable Automation module")
site_builder_enabled = models.BooleanField(default=True, help_text="Enable Site Builder module")
linker_enabled = models.BooleanField(default=True, help_text="Enable Linker module")
optimizer_enabled = models.BooleanField(default=True, help_text="Enable Optimizer module")
site_builder_enabled = models.BooleanField(default=False, help_text="Enable Site Builder module (DEPRECATED)")
linker_enabled = models.BooleanField(default=False, help_text="Enable Linker module (Phase 2)")
optimizer_enabled = models.BooleanField(default=False, help_text="Enable Optimizer module (Phase 2)")
publisher_enabled = models.BooleanField(default=True, help_text="Enable Publisher module")
class Meta: