Refactoring
This commit is contained in:
@@ -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"),
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user