diff options
-rw-r--r-- | ishtar_common/models.py | 13 | ||||
-rw-r--r-- | ishtar_common/tests.py | 9 |
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): |