clean up proccess and req_list app.

This commit is contained in:
aminhashemi92 2025-09-07 11:06:21 +03:30
parent 35799b7754
commit 6f3ce51ab9
26 changed files with 287 additions and 744 deletions

View file

@ -68,6 +68,7 @@ class ProcessStep(NameSlugModel):
"""دریافت مراحلی که به این مرحله وابسته هستند"""
return StepDependency.objects.filter(dependency_step=self).values_list('dependent_step', flat=True)
class StepDependency(models.Model):
"""مدل وابستگی بین مراحل"""
dependent_step = models.ForeignKey(
@ -295,6 +296,7 @@ class ProcessInstance(SluggedModel):
return False
return True
class StepInstance(models.Model):
"""مدل نمونه مرحله (برای هر مرحله در هر درخواست)"""
process_instance = models.ForeignKey(ProcessInstance, on_delete=models.CASCADE, related_name='step_instances', verbose_name="نمونه فرآیند")
@ -378,6 +380,7 @@ class StepInstance(models.Model):
return False
return True
class StepRejection(models.Model):
"""مدل رد شدن مرحله"""
step_instance = models.ForeignKey(
@ -415,41 +418,6 @@ class StepRejection(models.Model):
self.step_instance.save()
super().save(*args, **kwargs)
class StepRevision(models.Model):
"""مدل بازبینی و اصلاح مرحله"""
step_instance = models.ForeignKey(
StepInstance,
on_delete=models.CASCADE,
related_name='revisions',
verbose_name="نمونه مرحله"
)
rejection = models.ForeignKey(
StepRejection,
on_delete=models.CASCADE,
related_name='revisions',
verbose_name="رد شدن مربوطه"
)
revised_by = models.ForeignKey(
User,
on_delete=models.CASCADE,
verbose_name="اصلاح کننده",
related_name='step_revisions'
)
changes_description = models.TextField(
verbose_name="توضیح تغییرات",
help_text="توضیح تغییراتی که برای اصلاح انجام شده"
)
created_at = models.DateTimeField(auto_now_add=True, verbose_name="تاریخ اصلاح")
history = HistoricalRecords()
class Meta:
verbose_name = "بازبینی مرحله"
verbose_name_plural = "بازبینی‌های مراحل"
ordering = ['-created_at']
def __str__(self):
return f"بازبینی {self.step_instance} توسط {self.revised_by.get_full_name()}"
class StepApproverRequirement(models.Model):
"""Required approver roles for a step."""