Skipped autoupdate for user during login. See #2804.

This commit is contained in:
Norman Jäckel 2017-01-10 21:43:53 +01:00
parent 286119108c
commit aefd5073a7

View File

@ -14,6 +14,7 @@ from django.db.models import Prefetch, Q
from openslides.utils.search import user_name_helper from openslides.utils.search import user_name_helper
from ..utils.collection import CollectionElement
from ..utils.models import RESTModelMixin from ..utils.models import RESTModelMixin
from .access_permissions import GroupAccessPermissions, UserAccessPermissions from .access_permissions import GroupAccessPermissions, UserAccessPermissions
@ -196,6 +197,16 @@ class User(RESTModelMixin, PermissionsMixin, AbstractBaseUser):
# Return result # Return result
return name return name
def save(self, *args, **kwargs):
"""
Overridden method to skip autoupdate if only last_login field was
updated as it is done during login.
"""
if kwargs.get('update_fields') == ['last_login']:
kwargs['skip_autoupdate'] = True
CollectionElement.from_instance(self)
return super().save(*args, **kwargs)
def get_search_index_string(self): def get_search_index_string(self):
""" """
Returns a string that can be indexed for the search. Returns a string that can be indexed for the search.