fixed some issues with the ordering, test cases and migrations.

This commit is contained in:
jonaswinkler 2020-12-16 18:40:19 +01:00
parent 69c04a209a
commit ecfae9dadd
4 changed files with 40 additions and 12 deletions

View File

@ -2,6 +2,7 @@ import textwrap
from django.conf import settings from django.conf import settings
from django.core.checks import Error, register from django.core.checks import Error, register
from django.core.exceptions import FieldError
from django.db.utils import OperationalError, ProgrammingError from django.db.utils import OperationalError, ProgrammingError
from documents.signals import document_consumer_declaration from documents.signals import document_consumer_declaration
@ -16,7 +17,7 @@ def changed_password_check(app_configs, **kwargs):
try: try:
encrypted_doc = Document.objects.filter( encrypted_doc = Document.objects.filter(
storage_type=Document.STORAGE_TYPE_GPG).first() storage_type=Document.STORAGE_TYPE_GPG).first()
except (OperationalError, ProgrammingError): except (OperationalError, ProgrammingError, FieldError):
return [] # No documents table yet return [] # No documents table yet
if encrypted_doc: if encrypted_doc:

View File

@ -0,0 +1,34 @@
# Generated by Django 3.1.4 on 2020-12-16 17:36
from django.db import migrations
import django.db.models.functions.text
class Migration(migrations.Migration):
dependencies = [
('documents', '1007_savedview_savedviewfilterrule'),
]
operations = [
migrations.AlterModelOptions(
name='correspondent',
options={'ordering': (django.db.models.functions.text.Lower('name'),)},
),
migrations.AlterModelOptions(
name='document',
options={'ordering': ('-created',)},
),
migrations.AlterModelOptions(
name='documenttype',
options={'ordering': (django.db.models.functions.text.Lower('name'),)},
),
migrations.AlterModelOptions(
name='savedview',
options={'ordering': (django.db.models.functions.text.Lower('name'),)},
),
migrations.AlterModelOptions(
name='tag',
options={'ordering': (django.db.models.functions.text.Lower('name'),)},
),
]

View File

@ -13,7 +13,6 @@ from django.contrib.auth.models import User
from django.db import models from django.db import models
from django.db.models.functions import Lower from django.db.models.functions import Lower
from django.utils import timezone from django.utils import timezone
from django.utils.text import slugify
from documents.file_handling import archive_name_from_filename from documents.file_handling import archive_name_from_filename
from documents.parsers import get_default_file_extension from documents.parsers import get_default_file_extension
@ -80,9 +79,6 @@ class Correspondent(MatchingModel):
# better safe than sorry. # better safe than sorry.
SAFE_REGEX = re.compile(r"^[\w\- ,.']+$") SAFE_REGEX = re.compile(r"^[\w\- ,.']+$")
class Meta:
ordering = ("name",)
class Tag(MatchingModel): class Tag(MatchingModel):
@ -206,7 +202,7 @@ class Document(models.Model):
) )
class Meta: class Meta:
ordering = ("correspondent", "title") ordering = ("-created",)
def __str__(self): def __str__(self):
created = datetime.date.isoformat(self.created) created = datetime.date.isoformat(self.created)

View File

@ -169,15 +169,13 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
results = response.data['results'] results = response.data['results']
self.assertEqual(len(results), 2) self.assertEqual(len(results), 2)
self.assertEqual(results[0]['id'], doc2.id) self.assertCountEqual([results[0]['id'], results[1]['id']], [doc2.id, doc3.id])
self.assertEqual(results[1]['id'], doc3.id)
response = self.client.get("/api/documents/?tags__id__in={},{}".format(tag_inbox.id, tag_3.id)) response = self.client.get("/api/documents/?tags__id__in={},{}".format(tag_inbox.id, tag_3.id))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
results = response.data['results'] results = response.data['results']
self.assertEqual(len(results), 2) self.assertEqual(len(results), 2)
self.assertEqual(results[0]['id'], doc1.id) self.assertCountEqual([results[0]['id'], results[1]['id']], [doc1.id, doc3.id])
self.assertEqual(results[1]['id'], doc3.id)
response = self.client.get("/api/documents/?tags__id__all={},{}".format(tag_2.id, tag_3.id)) response = self.client.get("/api/documents/?tags__id__all={},{}".format(tag_2.id, tag_3.id))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
@ -199,8 +197,7 @@ class TestDocumentApi(DirectoriesMixin, APITestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
results = response.data['results'] results = response.data['results']
self.assertEqual(len(results), 2) self.assertEqual(len(results), 2)
self.assertEqual(results[0]['id'], doc1.id) self.assertCountEqual([results[0]['id'], results[1]['id']], [doc1.id, doc2.id])
self.assertEqual(results[1]['id'], doc2.id)
response = self.client.get("/api/documents/?tags__id__none={},{}".format(tag_3.id, tag_2.id)) response = self.client.get("/api/documents/?tags__id__none={},{}".format(tag_3.id, tag_2.id))
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)