diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2014-12-17 08:30:02 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2014-12-17 08:30:02 +0100 |
commit | aa6919047fab362e6251f087f5be78ad0df14fa5 (patch) | |
tree | 5705326404d55f17ca52355e4961f1c55ccb85e0 | |
parent | 2755bb9f45567a57d042208117ffb3f2fd1f9245 (diff) | |
download | Ishtar-aa6919047fab362e6251f087f5be78ad0df14fa5.tar.bz2 Ishtar-aa6919047fab362e6251f087f5be78ad0df14fa5.zip |
Allow user creation when db is not synced
-rw-r--r-- | ishtar_common/models.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index e0fd05a03..7fa2d73aa 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -53,16 +53,19 @@ from ishtar_common.utils import get_cache def post_save_user(sender, **kwargs): user = kwargs['instance'] ishtaruser = None - q = IshtarUser.objects.filter(username=user.username) - if not q.count(): - ishtaruser = IshtarUser.create_from_user(user) - else: - ishtaruser = q.all()[0] - ADMINISTRATOR, created = PersonType.objects.get_or_create( - txt_idx='administrator') - if ishtaruser.is_superuser \ - and not ishtaruser.has_right('administrator'): - ishtaruser.person.person_types.add(ADMINISTRATOR) + try: + q = IshtarUser.objects.filter(username=user.username) + if not q.count(): + ishtaruser = IshtarUser.create_from_user(user) + else: + ishtaruser = q.all()[0] + ADMINISTRATOR, created = PersonType.objects.get_or_create( + txt_idx='administrator') + if ishtaruser.is_superuser \ + and not ishtaruser.has_right('administrator'): + ishtaruser.person.person_types.add(ADMINISTRATOR) + except DatabaseError: # manage when db is not synced + pass post_save.connect(post_save_user, sender=User) class ValueGetter(object): |