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): | 
