add backend support for saved views

This commit is contained in:
jonaswinkler
2020-12-12 15:46:56 +01:00
parent bf9051e44d
commit dfa1f29809
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: