diff options
| -rw-r--r-- | archaeological_finds/forms.py | 2 | ||||
| -rw-r--r-- | archaeological_operations/tests.py | 34 | 
2 files changed, 35 insertions, 1 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 4de4bdaf9..b0e90eda0 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -1252,7 +1252,7 @@ class FindFormSelection(CustomFormSearch):      def clean(self):          pk = self.cleaned_data[self.pk_key] -        if "," in pk: +        if "," in str(pk):              pks = [k.strip() for k in pk.split(',')]          else:              pks = [pk] diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 9fa17b5f9..b3eac54d3 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -3146,6 +3146,40 @@ class OperationQATest(OperationInitTest, TestCase):          self.alt_user.user_permissions.add(Permission.objects.get(              codename='change_operation')) +    def test_lock(self): +        c = Client() +        op0, op1 = self.operations[0], self.operations[1] +        pks = u"{}-{}".format(op0.pk, op1.pk) +        url = reverse('operation-qa-lock', args=[pks]) + +        response = c.get(url) +        self.assertEqual(response.status_code, 404) + +        c.login(username=self.username, password=self.password) +        response = c.get(reverse('operation-qa-lock', args=[pks])) +        self.assertEqual(response.status_code, 200) + +        response = c.post(url, {"action": "lock"}) +        if response.status_code != 200: +            self.assertRedirects(response, '/success/') +        for ope in (op0, op1): +            ope = models.Operation.objects.get(pk=ope.pk) +            self.assertEqual(ope.locked, True) +            self.assertEqual(ope.lock_user, self.user) + +        c = Client() +        c.login(username=self.alt_username, password=self.alt_password) +        response = c.get(reverse('operation-qa-lock', args=[pks])) +        self.assertEqual(response.status_code, 200) + +        response = c.post(url, {"action": "lock"}) +        if response.status_code != 200: +            self.assertRedirects(response, '/success/') +        for ope in (op0, op1): +            ope = models.Operation.objects.get(pk=ope.pk) +            self.assertEqual(ope.locked, True) +            self.assertEqual(ope.lock_user, self.alt_user) +      def test_bulk_update(self):          c = Client()          pks = u"{}-{}".format(self.operations[0].pk, self.operations[1].pk) | 
