summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar_common/models.py13
-rw-r--r--ishtar_common/tests.py9
2 files changed, 18 insertions, 4 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index fa2b348bf..7185bfda6 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -73,17 +73,20 @@ logger = logging.getLogger(__name__)
def post_save_user(sender, **kwargs):
user = kwargs['instance']
+
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(
+ '''
+ 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)
+ ishtaruser.person.person_types.add(administrator)
+ '''
except DatabaseError: # manage when db is not synced
pass
post_save.connect(post_save_user, sender=User)
@@ -2805,8 +2808,10 @@ class IshtarUser(User):
name=name, email=email,
history_modifier=user)
person.person_types.add(person_type)
- return IshtarUser.objects.create(user_ptr=user, username=default,
- person=person)
+ password = user.password
+ isht_user = IshtarUser.objects.create(
+ user_ptr=user, username=default, person=person, password=password)
+ return isht_user
def has_right(self, right_name, session=None):
return self.person.has_right(right_name, session=session)
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index 8953e3c1b..42bb1860e 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -319,6 +319,15 @@ class AdminGenTypeTest(TestCase):
for model in self.models_with_data:
self.assertTrue(str(model.objects.all()[0]))
+ def test_user_creation(self):
+ url = '/admin/auth/user/add/'
+ password = 'ishtar is the queen'
+ response = self.client.post(
+ url, {'username': 'test', 'password1': password,
+ 'password2': password})
+ self.assertEqual(response.status_code, 302)
+ self.assertTrue(self.client.login(username='test', password=password))
+
class MergeTest(TestCase):
def setUp(self):