diff --git a/db.sqlite3 b/db.sqlite3 index d2eb7a1..ac3e854 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/installations/templates/installations/installation_report_step.html b/installations/templates/installations/installation_report_step.html index 9ff6c20..d6a7cfc 100644 --- a/installations/templates/installations/installation_report_step.html +++ b/installations/templates/installations/installation_report_step.html @@ -75,7 +75,6 @@
این گزارش رد شده است.
-
علت رد: {{ step_instance.get_latest_rejection.reason }}
{% endif %} @@ -157,7 +156,7 @@ تغییری ثبت نشده است {% endfor %} - nvoices/instance/69/step/3/payments/ + diff --git a/processes/models.py b/processes/models.py index 19b612d..9cd0ddd 100644 --- a/processes/models.py +++ b/processes/models.py @@ -378,7 +378,7 @@ class StepInstance(models.Model): def get_latest_rejection(self): """دریافت آخرین رد شدن""" - return self.rejections.order_by('-created_at').first() + return self.rejections.filter(is_deleted=False).order_by('-created_at').first() # -------- Multi-role approval helpers -------- def required_roles(self): @@ -386,7 +386,7 @@ class StepInstance(models.Model): def approvals_by_role(self): decisions = {} - for a in self.approvals.select_related('role').order_by('created_at'): + for a in self.approvals.filter(is_deleted=False).select_related('role').order_by('created_at'): decisions[a.role_id] = 'approved' return decisions @@ -436,8 +436,9 @@ class StepRejection(models.Model): def save(self, *args, **kwargs): """ذخیره با تغییر وضعیت مرحله""" - self.step_instance.status = 'rejected' - self.step_instance.save() + if self.is_deleted == False: + self.step_instance.status = 'rejected' + self.step_instance.save() super().save(*args, **kwargs) def hard_delete(self):