Refactoring

This commit is contained in:
shamoon
2024-04-19 00:07:14 -07:00
parent eb1eab1dfc
commit 9a2d30cb33
29 changed files with 672 additions and 652 deletions

View File

@@ -40,7 +40,7 @@ class Migration(migrations.Migration):
),
migrations.AddField(
model_name="savedview",
name="document_display_fields",
name="display_fields",
field=multiselectfield.db.fields.MultiSelectField(
choices=[
("title", "Title"),

View File

@@ -552,12 +552,12 @@ class DynamicMultiSelectField(MultiSelectField):
class SavedView(ModelWithOwner):
class ViewDisplayMode(models.TextChoices):
class DisplayMode(models.TextChoices):
TABLE = ("table", _("Table"))
SMALL_CARDS = ("smallCards", _("Small Cards"))
LARGE_CARDS = ("largeCards", _("Large Cards"))
class DocumentDisplayFields(models.TextChoices):
class DisplayFields(models.TextChoices):
TITLE = ("title", _("Title"))
CREATED = ("created", _("Created"))
ADDED = ("added", _("Added"))
@@ -566,7 +566,7 @@ class SavedView(ModelWithOwner):
CORRESPONDENT = ("correspondent", _("Correspondent"))
STORAGE_PATH = ("storagepath", _("Storage Path"))
class DynamicDocumentDisplayFields:
class DynamicDisplayFields:
CUSTOM_FIELD = ("custom_field_%d", CustomField)
name = models.CharField(_("name"), max_length=128)
@@ -596,17 +596,17 @@ class SavedView(ModelWithOwner):
display_mode = models.CharField(
max_length=128,
verbose_name=_("View display mode"),
choices=ViewDisplayMode.choices,
choices=DisplayMode.choices,
null=True,
blank=True,
)
document_display_fields = DynamicMultiSelectField(
display_fields = DynamicMultiSelectField(
max_length=128,
verbose_name=_("Document display fields"),
choices=DocumentDisplayFields.choices,
dyanmic_choices=[DynamicDocumentDisplayFields.CUSTOM_FIELD],
default=f"{DocumentDisplayFields.CREATED},{DocumentDisplayFields.TITLE},{DocumentDisplayFields.TAGS},{DocumentDisplayFields.CORRESPONDENT}",
choices=DisplayFields.choices,
dyanmic_choices=[DynamicDisplayFields.CUSTOM_FIELD],
default=f"{DisplayFields.CREATED},{DisplayFields.TITLE},{DisplayFields.TAGS},{DisplayFields.CORRESPONDENT}",
)
class Meta:

View File

@@ -839,8 +839,8 @@ class DynamicOrderedMultipleChoiceField(fields.MultipleChoiceField):
class SavedViewSerializer(OwnedObjectSerializer):
filter_rules = SavedViewFilterRuleSerializer(many=True)
document_display_fields = DynamicOrderedMultipleChoiceField(
choices=SavedView.DocumentDisplayFields.choices,
display_fields = DynamicOrderedMultipleChoiceField(
choices=SavedView.DisplayFields.choices,
dyanmic_choices=[("custom_field_%d", CustomField)],
required=False,
)
@@ -857,7 +857,7 @@ class SavedViewSerializer(OwnedObjectSerializer):
"filter_rules",
"page_size",
"display_mode",
"document_display_fields",
"display_fields",
"owner",
"permissions",
"user_can_change",

View File

@@ -1614,7 +1614,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
status.HTTP_404_NOT_FOUND,
)
def test_savedview_create_update_patch(self):
def test_saved_view_create_update_patch(self):
User.objects.create_user("user1")
view = {
@@ -1661,7 +1661,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
v1 = SavedView.objects.get(id=v1.id)
self.assertEqual(v1.filter_rules.count(), 0)
def test_saved_view_dashboard_view_options(self):
def test_saved_view_display_options(self):
User.objects.create_user("user1")
view = {
@@ -1671,10 +1671,10 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
"sort_field": "created2",
"filter_rules": [{"rule_type": 4, "value": "test"}],
"page_size": 20,
"display_mode": SavedView.ViewDisplayMode.SMALL_CARDS,
"document_display_fields": [
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
"display_mode": SavedView.DisplayMode.SMALL_CARDS,
"display_fields": [
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
],
}
@@ -1685,23 +1685,23 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
self.assertEqual(v1.page_size, 20)
self.assertEqual(
v1.display_mode,
SavedView.ViewDisplayMode.SMALL_CARDS,
SavedView.DisplayMode.SMALL_CARDS,
)
self.assertEqual(
v1.document_display_fields,
v1.display_fields,
[
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
],
)
response = self.client.patch(
f"/api/saved_views/{v1.id}/",
{
"document_display_fields": [
SavedView.DocumentDisplayFields.TAGS,
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
"display_fields": [
SavedView.DisplayFields.TAGS,
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
],
},
format="json",
@@ -1710,15 +1710,15 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
v1.refresh_from_db()
self.assertEqual(
v1.document_display_fields,
v1.display_fields,
[
SavedView.DocumentDisplayFields.TAGS,
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
SavedView.DisplayFields.TAGS,
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
],
)
def test_saved_view_dashboard_view_customfields(self):
def test_saved_view_display_customfields(self):
view = {
"name": "test",
"show_on_dashboard": True,
@@ -1726,10 +1726,10 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
"sort_field": "created2",
"filter_rules": [{"rule_type": 4, "value": "test"}],
"page_size": 20,
"display_mode": SavedView.ViewDisplayMode.SMALL_CARDS,
"document_display_fields": [
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
"display_mode": SavedView.DisplayMode.SMALL_CARDS,
"display_fields": [
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
],
}
@@ -1746,11 +1746,10 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
response = self.client.patch(
f"/api/saved_views/{v1.id}/",
{
"document_display_fields": [
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
SavedView.DynamicDocumentDisplayFields.CUSTOM_FIELD[0]
% custom_field.id,
"display_fields": [
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
SavedView.DynamicDisplayFields.CUSTOM_FIELD[0] % custom_field.id,
],
},
format="json",
@@ -1759,12 +1758,11 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
v1.refresh_from_db()
self.assertEqual(
v1.document_display_fields,
v1.display_fields,
[
str(SavedView.DocumentDisplayFields.TITLE),
str(SavedView.DocumentDisplayFields.CREATED),
SavedView.DynamicDocumentDisplayFields.CUSTOM_FIELD[0]
% custom_field.id,
str(SavedView.DisplayFields.TITLE),
str(SavedView.DisplayFields.CREATED),
SavedView.DynamicDisplayFields.CUSTOM_FIELD[0] % custom_field.id,
],
)
@@ -1772,10 +1770,10 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
response = self.client.patch(
f"/api/saved_views/{v1.id}/",
{
"document_display_fields": [
SavedView.DocumentDisplayFields.TITLE,
SavedView.DocumentDisplayFields.CREATED,
SavedView.DynamicDocumentDisplayFields.CUSTOM_FIELD[0] % 99,
"display_fields": [
SavedView.DisplayFields.TITLE,
SavedView.DisplayFields.CREATED,
SavedView.DynamicDisplayFields.CUSTOM_FIELD[0] % 99,
],
},
format="json",

File diff suppressed because it is too large Load Diff