From 6edaeeae667dd646fde79c769a0d0d3dfd9ed1f2 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 10 Feb 2016 14:34:08 +0100 Subject: [PATCH] Fixing update_projects_order_in_bulk to check the memberships exist --- taiga/projects/services/bulk_update_order.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/taiga/projects/services/bulk_update_order.py b/taiga/projects/services/bulk_update_order.py index e35f05ad..91b33d34 100644 --- a/taiga/projects/services/bulk_update_order.py +++ b/taiga/projects/services/bulk_update_order.py @@ -15,10 +15,14 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from django.db import transaction -from django.db import connection +from django.db import transaction, connection +from django.core.exceptions import ObjectDoesNotExist + from taiga.projects import models +from contextlib import suppress + + def update_projects_order_in_bulk(bulk_data:list, field:str, user): """ Update the order of user projects in the user membership. @@ -30,9 +34,10 @@ def update_projects_order_in_bulk(bulk_data:list, field:str, user): new_order_values = [] for membership_data in bulk_data: project_id = membership_data["project_id"] - membership = user.memberships.get(project_id=project_id) - membership_ids.append(membership.id) - new_order_values.append({field: membership_data["order"]}) + with suppress(ObjectDoesNotExist): + membership = user.memberships.get(project_id=project_id) + membership_ids.append(membership.id) + new_order_values.append({field: membership_data["order"]}) from taiga.base.utils import db