mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Fixed wrong use of Enum type
This commit is contained in:
@@ -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"),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user