add backend support for saved views

This commit is contained in:
jonaswinkler
2020-12-12 15:46:56 +01:00
parent 2bd9bb0d9c
commit d4fba4a521
6 changed files with 152 additions and 5 deletions

View File

@@ -9,6 +9,7 @@ import pathvalidate
import dateutil.parser
from django.conf import settings
from django.contrib.auth.models import User
from django.db import models
from django.utils import timezone
from django.utils.text import slugify
@@ -305,6 +306,47 @@ class Log(models.Model):
return self.message
class SavedView(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=128)
show_on_dashboard = models.BooleanField()
show_in_sidebar = models.BooleanField()
sort_field = models.CharField(max_length=128)
sort_reverse = models.BooleanField(default=False)
class SavedViewFilterRule(models.Model):
RULE_TYPES = [
(0, "Title contains"),
(1, "Content contains"),
(2, "ASN is"),
(3, "Correspondent is"),
(4, "Document type is"),
(5, "Is in inbox"),
(6, "Has tag"),
(7, "Has any tag"),
(8, "Created before"),
(9, "Created after"),
(10, "Created year is"),
(11, "Created month is"),
(12, "Created day is"),
(13, "Added before"),
(14, "Added after"),
(15, "Modified before"),
(16, "Modified after"),
(17, "Does not have tag"),
]
saved_view = models.ForeignKey(SavedView, on_delete=models.CASCADE, related_name="filter_rules")
rule_type = models.PositiveIntegerField(choices=RULE_TYPES)
value = models.CharField(max_length=128)
# TODO: why is this in the models file?
class FileInfo: