mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-01-12 10:32:04 +01:00
- Added new model `CatchAllEmail` to store catch-all email configurations per domain. - Implemented views for fetching, saving, and deleting catch-all email configurations, enhancing email management capabilities. - Updated URL routing to include endpoints for catch-all email operations. - Enhanced error handling and permission checks for email forwarding actions. These changes improve the flexibility and user experience of email management within CyberPanel.
66 lines
2.1 KiB
Python
66 lines
2.1 KiB
Python
# This is an auto-generated Django model module.
|
|
# You'll have to do the following manually to clean this up:
|
|
# * Rearrange models' order
|
|
# * Make sure each model has one field with primary_key=True
|
|
# * Make sure each ForeignKey has `on_delete` set to the desired behavior.
|
|
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
|
|
# Feel free to rename the models, but don't rename db_table values or field names.
|
|
|
|
from django.db import models
|
|
from websiteFunctions.models import Websites, ChildDomains
|
|
|
|
|
|
class Domains(models.Model):
|
|
domainOwner = models.ForeignKey(Websites,on_delete=models.CASCADE, null=True)
|
|
childOwner = models.ForeignKey(ChildDomains, on_delete=models.CASCADE, null=True)
|
|
domain = models.CharField(primary_key=True, max_length=50)
|
|
|
|
class Meta:
|
|
db_table = 'e_domains'
|
|
|
|
|
|
class EUsers(models.Model):
|
|
emailOwner = models.ForeignKey(Domains, on_delete=models.CASCADE)
|
|
email = models.CharField(primary_key=True, max_length=80)
|
|
password = models.CharField(max_length=200)
|
|
mail = models.CharField(max_length=200, default='')
|
|
DiskUsage = models.CharField(max_length=200, default='0')
|
|
|
|
|
|
class Meta:
|
|
db_table = 'e_users'
|
|
|
|
class Forwardings(models.Model):
|
|
source = models.CharField(max_length=80)
|
|
destination = models.TextField()
|
|
|
|
class Meta:
|
|
db_table = 'e_forwardings'
|
|
|
|
|
|
class Transport(models.Model):
|
|
domain = models.CharField(unique=True, max_length=128)
|
|
transport = models.CharField(max_length=128)
|
|
|
|
class Meta:
|
|
db_table = 'e_transport'
|
|
|
|
|
|
class Pipeprograms(models.Model):
|
|
source = models.CharField(max_length=80)
|
|
destination = models.TextField()
|
|
|
|
class Meta:
|
|
db_table = 'e_pipeprograms'
|
|
|
|
|
|
class CatchAllEmail(models.Model):
|
|
"""Stores catch-all email configuration per domain"""
|
|
domain = models.OneToOneField(Domains, on_delete=models.CASCADE, primary_key=True, db_column='domain_id')
|
|
destination = models.CharField(max_length=255)
|
|
enabled = models.BooleanField(default=True)
|
|
|
|
class Meta:
|
|
db_table = 'e_catchall'
|
|
managed = False
|