forked from erp-dev/erp
feat: mission replied calling task
This commit is contained in:
@@ -50,6 +50,19 @@ class Mission(ModelBase):
|
||||
is_urgent = models.BooleanField(default=False, db_index=True, verbose_name="是否紧急")
|
||||
is_completed = models.BooleanField(default=False, db_index=True, verbose_name="是否完成")
|
||||
is_cancelled = models.BooleanField(default=False, db_index=True, verbose_name="是否取消")
|
||||
notify_if_unreplied = models.BooleanField(default=False, db_index=True, verbose_name="是否开启未回复提醒")
|
||||
unreplied_notify_interval_minutes = models.PositiveIntegerField(
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name="未回复提醒间隔(分钟)",
|
||||
)
|
||||
unreplied_notify_max_count = models.PositiveIntegerField(default=5, verbose_name="未回复最大提醒次数")
|
||||
unreplied_notify_sent_count = models.PositiveIntegerField(default=0, verbose_name="未回复已提醒次数")
|
||||
unreplied_last_notified_at = models.DateTimeField(
|
||||
null=True,
|
||||
blank=True,
|
||||
verbose_name="上一次未回复提醒时间",
|
||||
)
|
||||
cancelled_at = models.DateTimeField(null=True, blank=True, verbose_name="取消时间")
|
||||
creator = models.ForeignKey(
|
||||
"basic_info.Employee",
|
||||
@@ -84,6 +97,10 @@ class Mission(ModelBase):
|
||||
def can_reply(self) -> bool:
|
||||
return not self.is_cancelled and not self.has_ending_reply
|
||||
|
||||
@property
|
||||
def has_effective_reply(self) -> bool:
|
||||
return self.replies.filter(is_rejected=False).exists()
|
||||
|
||||
def get_participants(self):
|
||||
return self.participants.select_related("employee")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user