Merge pull request #615 from taigaio/fix-sorting-projects-if-project-doesnt-exist

Fixing update_projects_order_in_bulk to check the memberships exist
remotes/origin/issue/4795/notification_even_they_are_disabled
David Barragán Merino 2016-02-10 20:41:06 +01:00
commit db6b00ae67
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"]})