Fixed wrong use of Enum type

This commit is contained in:
Antoine Nguyen
2026-02-02 14:30:09 +01:00
parent c1a7dcb6de
commit c3e8f2016f
6 changed files with 17 additions and 30 deletions
+4 -4
View File
@@ -21,10 +21,10 @@ class SchedulingState(Enum):
EMAIL_SCHEDULING_STATES = (
(SchedulingState.SCHEDULED, "scheduled"),
(SchedulingState.SENDING, "sending"),
(SchedulingState.SEND_ERROR, "send_error"),
(SchedulingState.MOVE_ERROR, "move_error"),
(SchedulingState.SCHEDULED.value, "scheduled"),
(SchedulingState.SENDING.value, "sending"),
(SchedulingState.SEND_ERROR.value, "send_error"),
(SchedulingState.MOVE_ERROR.value, "move_error"),
)
+1 -2
View File
@@ -4,7 +4,7 @@ import factory
from modoboa.admin import factories as admin_factories
from modoboa.webmail import constants, models
from modoboa.webmail import models
class ScheduledMessageFactory(factory.django.DjangoModelFactory):
@@ -13,7 +13,6 @@ class ScheduledMessageFactory(factory.django.DjangoModelFactory):
class Meta:
model = models.ScheduledMessage
status = constants.SchedulingState.SCHEDULED
account = factory.SubFactory(admin_factories.UserFactory)
sender = "sender@test.com"
subject = "Scheduled Message"
+2 -2
View File
@@ -17,10 +17,10 @@ def send_scheduled_message(message_id: int):
def send_scheduled_messages():
messages = models.ScheduledMessage.objects.filter(
scheduled_datetime__lte=timezone.now(),
status=constants.SchedulingState.SCHEDULED,
status=constants.SchedulingState.SCHEDULED.value,
)
queue = django_rq.get_queue("modoboa")
for message in messages:
message.status = constants.SchedulingState.SENDING
message.status = constants.SchedulingState.SENDING.value
message.save()
queue.enqueue(send_scheduled_message, message_id=message.id)
+1 -1
View File
@@ -134,7 +134,7 @@ def send_scheduled_message(sched_msg: models.ScheduledMessage) -> bool:
)
else:
error = str(inst.smtp_error)
sched_msg.status = constants.SchedulingState.SEND_ERROR
sched_msg.status = constants.SchedulingState.SEND_ERROR.value
sched_msg.error = error
sched_msg.save()
return False
+7 -19
View File
@@ -1,7 +1,6 @@
# Generated by Django 5.2.10 on 2026-01-31 10:44
# Generated by Django 5.2.10 on 2026-02-02 13:29
import django.db.models.deletion
import modoboa.webmail.constants
from django.conf import settings
from django.db import migrations, models
@@ -43,24 +42,13 @@ class Migration(migrations.Migration):
"status",
models.CharField(
choices=[
(
modoboa.webmail.constants.SchedulingState["SCHEDULED"],
"scheduled",
),
(
modoboa.webmail.constants.SchedulingState["SENDING"],
"sending",
),
(
modoboa.webmail.constants.SchedulingState["SEND_ERROR"],
"send_error",
),
(
modoboa.webmail.constants.SchedulingState["MOVE_ERROR"],
"move_error",
),
("scheduled", "scheduled"),
("sending", "sending"),
("send_error", "send_error"),
("move_error", "move_error"),
],
default=modoboa.webmail.constants.SchedulingState["SCHEDULED"],
db_index=True,
default="scheduled",
max_length=15,
),
),
+2 -2
View File
@@ -23,7 +23,7 @@ class ScheduledMessage(models.Model):
imap_uid = models.IntegerField(blank=True, null=True)
status = models.CharField(
choices=constants.EMAIL_SCHEDULING_STATES,
default=constants.SchedulingState.SCHEDULED,
default=constants.SchedulingState.SCHEDULED.value,
max_length=15,
db_index=True,
)
@@ -57,7 +57,7 @@ class ScheduledMessage(models.Model):
f"header {constants.CUSTOM_HEADER_SCHEDULED_ID} {self.id}"
)
if code:
self.status = constants.SchedulingState.MOVE_ERROR
self.status = constants.SchedulingState.MOVE_ERROR.value
self.error = output
self.save()
return False