summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
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