fix: Remove emailMarketing references after removal from INSTALLED_APPS

- Comment out emailMarketing menu item in baseTemplate/index.html
- Skip emailMarketing in pluginHolder/views.py when listing plugins
- Prevents HTTP 500 error when template tries to reverse 'emailMarketing' URL

Fixes: HTTP 500 on /plugins/installed after emailMarketing removal
This commit is contained in:
master3395
2026-01-26 03:09:58 +01:00
parent 618ceb61e5
commit 806571e0f1
2 changed files with 7 additions and 6 deletions

View File

@@ -2312,9 +2312,10 @@
<a href="{% url 'SpamAssassin' %}" class="menu-item">
<span>SpamAssassin</span>
</a>
<a href="{% url 'emailMarketing' %}" class="menu-item">
<!-- Email Marketing removed - plugin not in INSTALLED_APPS -->
<!-- <a href="{% url 'emailMarketing' %}" class="menu-item">
<span>Email Marketing</span>
</a>
</a> -->
<a href="{% url 'MailScanner' %}" class="menu-item">
<span>MailScanner</span>
</a>

View File

@@ -184,9 +184,9 @@ def installed(request):
# Priority: settings_url > url > default pattern
# Special handling for core plugins that don't use /plugins/ prefix
# emailMarketing removed from INSTALLED_APPS - skip it
if plugin == 'emailMarketing':
# emailMarketing is a core CyberPanel plugin, uses /emailMarketing/ not /plugins/emailMarketing/
data['manage_url'] = '/emailMarketing/'
continue
elif settings_url_elem is not None and settings_url_elem.text:
data['manage_url'] = settings_url_elem.text
elif url_elem is not None and url_elem.text:
@@ -352,9 +352,9 @@ def installed(request):
# Priority: settings_url > url > default pattern
# Special handling for core plugins that don't use /plugins/ prefix
# emailMarketing removed from INSTALLED_APPS - skip it
if plugin == 'emailMarketing':
# emailMarketing is a core CyberPanel plugin, uses /emailMarketing/ not /plugins/emailMarketing/
data['manage_url'] = '/emailMarketing/'
continue
elif settings_url_elem is not None and settings_url_elem.text:
data['manage_url'] = settings_url_elem.text
elif url_elem is not None and url_elem.text: