fix next step in quote payments approved.
This commit is contained in:
		
							parent
							
								
									db61f35711
								
							
						
					
					
						commit
						a819e841f9
					
				
					 2 changed files with 22 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
                    instance.save()
 | 
			
		||||
                    return redirect('processes:step_detail', instance_id=instance.id, step_id=next_step.id)
 | 
			
		||||
                return redirect(redirect_url)
 | 
			
		||||
                    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=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)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue