From 46558ea63d844881572f8d2f9349741128d3fd0a Mon Sep 17 00:00:00 2001 From: Miguel Gonzalez Date: Thu, 15 Mar 2018 11:35:31 +0100 Subject: [PATCH] Remove equal original optionally --- taiga/projects/services/bulk_update_order.py | 7 ++++--- taiga/projects/userstories/services.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/taiga/projects/services/bulk_update_order.py b/taiga/projects/services/bulk_update_order.py index 4f201927..8420068d 100644 --- a/taiga/projects/services/bulk_update_order.py +++ b/taiga/projects/services/bulk_update_order.py @@ -24,7 +24,7 @@ from taiga.projects import models from contextlib import suppress -def apply_order_updates(base_orders: dict, new_orders: dict): +def apply_order_updates(base_orders: dict, new_orders: dict, *, remove_equal_original=False): """ `base_orders` must be a dict containing all the elements that can be affected by order modifications. @@ -70,8 +70,9 @@ def apply_order_updates(base_orders: dict, new_orders: dict): [base_orders.pop(id, None) for id in removing_keys] # Remove elements that are equal to the original - common_keys = original_orders.keys() & base_orders.keys() - [base_orders.pop(id, None) for id in common_keys if base_orders[id] == original_orders[id]] + if remove_equal_original: + common_keys = original_orders.keys() & base_orders.keys() + [base_orders.pop(id, None) for id in common_keys if base_orders[id] == original_orders[id]] def update_projects_order_in_bulk(bulk_data: list, field: str, user): diff --git a/taiga/projects/userstories/services.py b/taiga/projects/userstories/services.py index 7295a208..7f9dff20 100644 --- a/taiga/projects/userstories/services.py +++ b/taiga/projects/userstories/services.py @@ -94,7 +94,7 @@ def update_userstories_order_in_bulk(bulk_data: list, field: str, project: objec us_orders = {us.id: getattr(us, field) for us in user_stories} new_us_orders = {e["us_id"]: e["order"] for e in bulk_data} - apply_order_updates(us_orders, new_us_orders) + apply_order_updates(us_orders, new_us_orders, remove_equal_original=True) user_story_ids = us_orders.keys() events.emit_event_for_ids(ids=user_story_ids,