Fix insights
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import logging
|
||||
|
||||
import stripe
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import AbstractUser
|
||||
from django.db import models
|
||||
from yaml import load
|
||||
@@ -24,15 +25,13 @@ PRIORITY_CHOICES = (
|
||||
)
|
||||
|
||||
INTERVAL_CHOICES = (
|
||||
("ondemand", "On demand"),
|
||||
("minute", "Every minute"),
|
||||
("15m", "Every 15 minutes"),
|
||||
("30m", "Every 30 minutes"),
|
||||
("hour", "Every hour"),
|
||||
("4h", "Every 4 hours"),
|
||||
("day", "Every day"),
|
||||
("week", "Every week"),
|
||||
("month", "Every month"),
|
||||
(0, "On demand"),
|
||||
(60, "Every minute"),
|
||||
(900, "Every 15 minutes"),
|
||||
(1800, "Every 30 minutes"),
|
||||
(3600, "Every hour"),
|
||||
(14400, "Every 4 hours"),
|
||||
(86400, "Every day"),
|
||||
)
|
||||
|
||||
|
||||
@@ -90,6 +89,19 @@ class User(AbstractUser):
|
||||
def get_notification_settings(self):
|
||||
return NotificationSettings.objects.get_or_create(user=self)[0]
|
||||
|
||||
@property
|
||||
def allowed_indices(self):
|
||||
indices = [settings.INDEX_MAIN]
|
||||
if self.has_perm("core.index_meta"):
|
||||
indices.append(settings.INDEX_META)
|
||||
if self.has_perm("core.index_internal"):
|
||||
indices.append(settings.INDEX_INT)
|
||||
if self.has_perm("core.index_restricted"):
|
||||
if self.has_perm("core.restricted_sources"):
|
||||
indices.append(settings.INDEX_RESTRICTED)
|
||||
|
||||
return indices
|
||||
|
||||
|
||||
class Session(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
@@ -137,16 +149,10 @@ class ContentBlock(models.Model):
|
||||
class Perms(models.Model):
|
||||
class Meta:
|
||||
permissions = (
|
||||
("bypass_hashing", "Can bypass field hashing"), #
|
||||
("bypass_blacklist", "Can bypass the blacklist"), #
|
||||
("bypass_encryption", "Can bypass field encryption"), #
|
||||
("bypass_obfuscation", "Can bypass field obfuscation"), #
|
||||
("bypass_delay", "Can bypass data delay"), #
|
||||
("bypass_randomisation", "Can bypass data randomisation"), #
|
||||
("post_irc", "Can post to IRC"),
|
||||
("post_discord", "Can post to Discord"),
|
||||
("query_search", "Can search with query strings"), #
|
||||
("use_insights", "Can use the Insights page"),
|
||||
("use_rules", "Can use the Rules page"),
|
||||
("index_internal", "Can use the internal index"),
|
||||
("index_meta", "Can use the meta index"),
|
||||
("index_restricted", "Can use the restricted index"),
|
||||
@@ -159,9 +165,7 @@ class NotificationRule(models.Model):
|
||||
name = models.CharField(max_length=255)
|
||||
priority = models.IntegerField(choices=PRIORITY_CHOICES, default=1)
|
||||
topic = models.CharField(max_length=255, null=True, blank=True)
|
||||
interval = models.CharField(
|
||||
choices=INTERVAL_CHOICES, max_length=255, default="ondemand"
|
||||
)
|
||||
interval = models.IntegerField(choices=INTERVAL_CHOICES, default=0)
|
||||
window = models.CharField(max_length=255, null=True, blank=True)
|
||||
enabled = models.BooleanField(default=True)
|
||||
data = models.TextField()
|
||||
|
||||
Reference in New Issue
Block a user