fix next step in quote payments approved.

This commit is contained in:
aminhashemi92 2025-10-09 11:34:29 +03:30
parent db61f35711
commit a819e841f9
2 changed files with 22 additions and 6 deletions

Binary file not shown.

View file

@ -422,13 +422,29 @@ def quote_payment_step(request, instance_id, step_id):
step_instance.status = 'completed'
step_instance.completed_at = timezone.now()
step_instance.save()
# move to next step
redirect_url = 'processes:request_list'
# Auto-complete next step if it exists
if next_step:
instance.current_step = next_step
next_step_instance, _ = StepInstance.objects.get_or_create(
process_instance=instance,
step=next_step,
defaults={'status': 'in_progress'}
)
next_step_instance.status = 'completed'
next_step_instance.completed_at = timezone.now()
next_step_instance.save()
# Move to the step after next
step_after_next = instance.process.steps.filter(order__gt=next_step.order).first()
if step_after_next:
instance.current_step = step_after_next
instance.save()
return redirect('processes:step_detail', instance_id=instance.id, step_id=next_step.id)
return redirect(redirect_url)
return redirect('processes:step_detail', instance_id=instance.id, step_id=step_after_next.id)
else:
# No more steps, go to request list
return redirect('processes:request_list')
return redirect('processes:request_list')
messages.success(request, 'تایید شما ثبت شد. منتظر تایید سایر نقش‌ها.')
return redirect('invoices:quote_payment_step', instance_id=instance.id, step_id=step.id)