Exemplo n.º 1
0
 def test_current_user_field(self):
     user = User.objects.get(username="******")
     EchelonMiddleware.set_user(user)
     TestModel.objects.create(name="TEST")
     EchelonMiddleware.del_user()
     test_instance = TestModel.objects.get(name="TEST")
     self.assertEqual(test_instance.creator, user)
Exemplo n.º 2
0
 def test_current_user_field(self):
     user = User.objects.get(username="******")
     EchelonMiddleware.set_user(user)
     TestModel.objects.create(name="TEST")
     EchelonMiddleware.del_user()
     test_instance = TestModel.objects.get(name="TEST")
     self.assertEqual(test_instance.creator, user)
Exemplo n.º 3
0
    def test_changelog_actions(self):
        obj = TestModel2(name='log_me', value=1)
        obj.save()
        obj.value = 2
        obj.save()
        EchelonMiddleware.set_user('test')
        TestModel2.objects.all().update(value=3)
        TestModel2.objects.get(pk=obj.pk).delete()

        cl = ChangelogEntry.objects.for_instance(obj).order_by('id')
        self.assertEqual(cl.count(), 4)
        self.assertEqual(list(cl.values_list('action', flat=True)),
                         [u'add', u'change', u'change', u'delete'])
        self.assertEqual(cl[0].changes, {
            'id': (None, '1'),
            'value': (None, u'1'),
            'name': (None, u'log_me')
        })
        self.assertEqual(cl[1].changes, {'value': (u'1', u'2')})
        self.assertEqual(cl[2].changes, {'value': (u'2', u'3')})
        self.assertEqual(cl[3].changes, {
            'id': (u'1', None),
            'value': (u'3', None),
            'name': (u'log_me', None)
        })
        self.assertEqual(cl[0].who, None)
        self.assertEqual(cl[2].who.id, 1)
Exemplo n.º 4
0
 def pre_save(self, model_instance, add):
     if add or not self.add_only:
         user = EchelonMiddleware.get_user()
         if user:
             setattr(model_instance, self.attname, user.pk)
             return user.pk
     return super(CurrentUserField, self).pre_save(model_instance, add)
Exemplo n.º 5
0
 def pre_save(self, model_instance, add):
     if add or not self.add_only:
         user = EchelonMiddleware.get_user()
         if user:
             setattr(model_instance, self.attname, user.pk)
             return user.pk
     return super(CurrentUserField, self).pre_save(model_instance, add)
Exemplo n.º 6
0
    def test_changelog_actions(self):
        obj = TestModel2(name='log_me', value=1)
        obj.save()
        obj.value=2
        obj.save()
        EchelonMiddleware.set_user('test')
        TestModel2.objects.all().update(value=3)
        TestModel2.objects.get(pk=obj.pk).delete()

        cl = ChangelogEntry.objects.for_instance(obj).order_by('id')
        self.assertEqual(cl.count(), 4)
        self.assertEqual(list(cl.values_list('action', flat=True)), [u'add', u'change', u'change', u'delete'])
        self.assertEqual(cl[0].changes, {'id': (None, '1'), 'value': (None, u'1'), 'name': (None, u'log_me')})
        self.assertEqual(cl[1].changes, {'value': (u'1', u'2')})
        self.assertEqual(cl[2].changes, {'value': (u'2', u'3')})
        self.assertEqual(cl[3].changes, {'id': (u'1', None), 'value': (u'3', None), 'name': (u'log_me', None)})
        self.assertEqual(cl[0].who, None)
        self.assertEqual(cl[2].who.id, 1)
Exemplo n.º 7
0
    def pre_save(self, model_instance, add):
        if add or not self.add_only:
            user = EchelonMiddleware.get_user()
            if user and user.is_authenticated():
                # Do something for authenticated users.
                setattr(model_instance, self.attname, user.pk)
                return user.pk

        return super(CurrentUserField, self).pre_save(model_instance, add)
Exemplo n.º 8
0
 def clean_user(self):
     user = self.cleaned_data.get('user', "").strip()
     users = User.objects.filter(username=user)
     if not users:
         raise forms.ValidationError("user can not be none")
     current_user = EchelonMiddleware.get_user()
     if user != current_user.username and not current_user.is_superuser:
         raise forms.ValidationError("user can not be matched")
     return users[0]
Exemplo n.º 9
0
    def pre_save(self, model_instance, add):
        if add or not self.add_only:
            user = EchelonMiddleware.get_user()
            if user and user.is_authenticated():
                # Do something for authenticated users.
                setattr(model_instance, self.attname, user.pk)
                return user.pk

        return super(CurrentUserField, self).pre_save(model_instance, add)
Exemplo n.º 10
0
 def pre_save(self, model_instance, add):
     if add or not self.add_only:
         user = EchelonMiddleware.get_user()
         if user and not user.is_anonymous():
             setattr(model_instance, self.attname, user.pk)
             return user.pk
         else:
             setattr(model_instance, self.attname, None)
             return None
     return super(CurrentUserField, self).pre_save(model_instance, add)
Exemplo n.º 11
0
 def test_anonymous(self):
     EchelonMiddleware.set_user(AnonymousUser())
     TestModel.objects.create(name="TEST")
     test_instance = TestModel.objects.get(name="TEST")
     self.assertEqual(test_instance.creator, None)
Exemplo n.º 12
0
 def test_current_user_field_with_no_active_user(self):
     EchelonMiddleware.del_user()
     TestModel.objects.create(name="TEST")
     test_instance = TestModel.objects.get(name="TEST")
     self.assertEqual(test_instance.creator, None)
Exemplo n.º 13
0
def test_view(request):
    user = EchelonMiddleware.get_user()
    return HttpResponse(user and user.username or u"")
Exemplo n.º 14
0
 def test_current_user_field_with_no_active_user(self):
     EchelonMiddleware.del_user()
     TestModel.objects.create(name="TEST")
     test_instance = TestModel.objects.get(name="TEST")
     self.assertEqual(test_instance.creator, None)
Exemplo n.º 15
0
def test_view(request):
    user = EchelonMiddleware.get_user()
    return HttpResponse(user and user.username or u"")