Remove equal original optionally

remotes/origin/3.4.0rc
Miguel Gonzalez 2018-03-15 11:35:31 +01:00
parent fab4364cc0
commit 46558ea63d
2 changed files with 5 additions and 4 deletions

View File

@ -24,7 +24,7 @@ from taiga.projects import models
from contextlib import suppress 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 `base_orders` must be a dict containing all the elements that can be affected by
order modifications. 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] [base_orders.pop(id, None) for id in removing_keys]
# Remove elements that are equal to the original # Remove elements that are equal to the original
common_keys = original_orders.keys() & base_orders.keys() if remove_equal_original:
[base_orders.pop(id, None) for id in common_keys if base_orders[id] == original_orders[id]] 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): def update_projects_order_in_bulk(bulk_data: list, field: str, user):

View File

@ -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} 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} 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() user_story_ids = us_orders.keys()
events.emit_event_for_ids(ids=user_story_ids, events.emit_event_for_ids(ids=user_story_ids,