Procházet zdrojové kódy

searchagent overhaul

Juan Carlos před 4 roky
rodič
revize
6b2ec3d681
3 změnil soubory, kde provedl 9 přidání a 12 odebrání
  1. 2 0
      marktplatz/models.py
  2. 6 11
      marktplatz/signals.py
  3. 1 1
      project_base/settings.py

+ 2 - 0
marktplatz/models.py

@@ -426,6 +426,8 @@ class Trigger(models.Model):
 
     ort             = MultiSelectField   ( 'Ort', max_length = 4096 ,    choices=Product.ORT, default='', help_text="Ort des Projektes", null = True, blank=False )
     instancepk      = IntegerField       ( 'Id of original instance', help_text="Id of the product instance", default = 0, null = False,  )
+    sent            = BooleanField       ( 'Sent', default=False, help_text="Wurde es berreits gesendet?", blank=False )
+    sentdate        = DateTimeField      (  auto_now=False, auto_now_add=False, help_text="Wann wurde es gesendet?", blank=True, null = True, )
 
 
 class Link(models.Model):

+ 6 - 11
marktplatz/signals.py

@@ -1,3 +1,6 @@
+import datetime
+
+from django.utils import timezone
 from django.dispatch import receiver
 from django.urls import reverse
 from django.forms.models import model_to_dict
@@ -52,18 +55,13 @@ def search_agent(sender, instance, update_fields=None, **kwargs):
 
 def process_triggers():
 
-    for trigger in Trigger.objects.all():
-        print("there is a trigger!")
+    for trigger in Trigger.objects.filter(sent=False):
         instance = Product.objects.get(pk = trigger.instancepk)
 
-
-        for agent in SearchAgent.objects.all():
+        for agent in SearchAgent.objects.all(  ):
 
             for agentOrt in agent.ort:
                 if agentOrt == instance.ort:
-
-
-
                     context = {}
                     context['product'] = model_to_dict ( instance )
                     context['agent']   = model_to_dict ( agent )
@@ -86,7 +84,4 @@ def process_triggers():
                         priority='medium',
                     )
 
-        # trigger.delete()
-
-
-# process_triggers()
+        Trigger.objects.filter(pk=trigger.pk).update( sent=True, sentdate = timezone.now()  )

+ 1 - 1
project_base/settings.py

@@ -266,7 +266,7 @@ NEWSLETTER_BATCH_SIZE = 100
 CRONJOBS = [
     ('*/5 * * * *', 'django.core.management.call_command', ['submit_newsletter', ], {}, '>   /dev/null 2>&1' ), #> /dev/null 2>&1
     ('*/5 * * * *', 'django.core.management.call_command', ['send_queued_mail'], {}, '> /dev/null 2>&1'  ), #'> /dev/null 2>&1'
-    ('*/10 * * * *', 'marktplatz.signals.process_triggers', [''], {}, '> /dev/null 2>&1'  ), #'> /dev/null 2>&1'
+    ('*/10 * * * *', 'marktplatz.signals.process_triggers', [''], {},  ), #'> /dev/null 2>&1'
 ]
 
 CRISPY_TEMPLATE_PACK = 'bootstrap4'