fix approvals after rejection

This commit is contained in:
aminhashemi92 2025-10-04 11:23:31 +03:30
parent f853ad9784
commit 0cfa86bde3
3 changed files with 6 additions and 6 deletions

Binary file not shown.

View file

@ -75,7 +75,6 @@
<i class="bx bx-error-circle me-2"></i>
<div>
<div><strong>این گزارش رد شده است.</strong></div>
<div class="mt-1 small">علت رد: {{ step_instance.get_latest_rejection.reason }}</div>
</div>
</div>
{% endif %}
@ -157,7 +156,7 @@
<tr><td colspan="5" class="text-center text-muted">تغییری ثبت نشده است</td></tr>
{% endfor %}
</tbody>
</table>nvoices/instance/69/step/3/payments/
</table>
</div>
</div>
</div>

View file

@ -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):