summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-10-19 01:08:53 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-10-19 01:08:53 +0200
commit64b8c24de9263baf6207f7c6d64b892e37be083a (patch)
tree849675be7d3d42da25b0d9a53ca5b72d50c0ee33 /ishtar_common/models.py
parent7d2aa560ba859ebb593d34b062bf1faf09c8724c (diff)
downloadIshtar-64b8c24de9263baf6207f7c6d64b892e37be083a.tar.bz2
Ishtar-64b8c24de9263baf6207f7c6d64b892e37be083a.zip
Fix account creation
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 747643718..56c381e94 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -41,11 +41,18 @@ from simple_history.models import HistoricalRecords as BaseHistoricalRecords
JOINT = u" - "
def post_save_user(sender, **kwargs):
- if not kwargs['created']:
- return
user = kwargs['instance']
- if not IshtarUser.objects.filter(username=user.username).count():
- IshtarUser.create_from_user(user)
+ ishtaruser = None
+ q = IshtarUser.objects.filter(username=user.username)
+ if not q.count():
+ ishtaruser = IshtarUser.create_from_user(user)
+ else:
+ ishtaruser = q.all()[0]
+ if ishtaruser.is_superuser \
+ and ishtaruser.person.person_type.txt_idx != 'administrator':
+ ishtaruser.person.person_type = PersonType.objects.get(
+ txt_idx='administrator')
+ ishtaruser.person.save()
post_save.connect(post_save_user, sender=User)
# HistoricalRecords enhancement: don't save identical versions