[Backport] Fixing update_projects_order_in_bulk to check the memberships exist

remotes/origin/issue/4795/notification_even_they_are_disabled
Alejandro Alonso 2016-02-10 14:34:08 +01:00 committed by David Barragán Merino
parent b74f226a8a
commit 2e54452f08
1 changed files with 10 additions and 5 deletions

View File

@ -15,10 +15,14 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from django.db import transaction from django.db import transaction, connection
from django.db import connection from django.core.exceptions import ObjectDoesNotExist
from taiga.projects import models from taiga.projects import models
from contextlib import suppress
def update_projects_order_in_bulk(bulk_data:list, field:str, user): def update_projects_order_in_bulk(bulk_data:list, field:str, user):
""" """
Update the order of user projects in the user membership. Update the order of user projects in the user membership.
@ -30,6 +34,7 @@ def update_projects_order_in_bulk(bulk_data:list, field:str, user):
new_order_values = [] new_order_values = []
for membership_data in bulk_data: for membership_data in bulk_data:
project_id = membership_data["project_id"] project_id = membership_data["project_id"]
with suppress(ObjectDoesNotExist):
membership = user.memberships.get(project_id=project_id) membership = user.memberships.get(project_id=project_id)
membership_ids.append(membership.id) membership_ids.append(membership.id)
new_order_values.append({field: membership_data["order"]}) new_order_values.append({field: membership_data["order"]})