diff --git a/processes/templates/processes/request_list.html b/processes/templates/processes/request_list.html index 611a8de..ecd2956 100644 --- a/processes/templates/processes/request_list.html +++ b/processes/templates/processes/request_list.html @@ -151,35 +151,10 @@ {% for val, label in status_choices %} - {% endfor %}@require_POST - @login_required - def delete_request(request, instance_id): - """حذف درخواست""" - instance = get_object_or_404(ProcessInstance, id=instance_id) - # Only BROKER can delete requests and only within their scope - try: - profile = getattr(request.user, 'profile', None) - if not (profile and profile.has_role(UserRoles.BROKER)): - return JsonResponse({'success': False, 'message': 'فقط کارگزار مجاز به حذف درخواست است'}, status=403) - # Enforce ownership by broker (prevent deleting others' requests) - if instance.broker_id and profile.broker and instance.broker_id != profile.broker.id: - return JsonResponse({'success': False, 'message': 'شما مجاز به حذف این درخواست نیستید'}, status=403) - except Exception: - return JsonResponse({'success': False, 'message': 'فقط کارگزار مجاز به حذف درخواست است'}, status=403) - code = instance.code - if instance.status == 'completed': - return JsonResponse({ - 'success': False, - 'message': 'درخواست تکمیل شده نمی‌تواند حذف شود' - }) - instance.delete() - return JsonResponse({ - 'success': True, - 'message': f'درخواست {code} با موفقیت حذف شد' - }) - + {% endfor %} + {% if request.user|is_admin or request.user|is_manager or request.user|is_accountant %}
+ {% endif %} + {% if request.user|is_admin or request.user|is_manager or request.user|is_accountant %}
+ {% endif %}