|
|
|
|
@ -1,12 +1,9 @@
|
|
|
|
|
from django.contrib.auth.models import Group
|
|
|
|
|
from rest_registration.signals import user_registered
|
|
|
|
|
|
|
|
|
|
from service.layer_service import LayerService
|
|
|
|
|
from service.models import Post_and_pvz, Post_and_pvzGroup, Post_and_pvzCategory, OtherObjects, OtherObjectsGroup, \
|
|
|
|
|
OtherObjectsCategory, PostMLChecker
|
|
|
|
|
from service.models import OtherObjects, OtherObjectsGroup, \
|
|
|
|
|
OtherObjectsCategory
|
|
|
|
|
from django.db.models.signals import post_save
|
|
|
|
|
from django.dispatch import receiver
|
|
|
|
|
from service.tasks import raschet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def user_created(sender, user, request, **kwargs):
|
|
|
|
|
@ -18,41 +15,6 @@ def user_created(sender, user, request, **kwargs):
|
|
|
|
|
user_registered.connect(user_created)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=Post_and_pvz)
|
|
|
|
|
def post_pvz_handler(sender, instance, **kwargs):
|
|
|
|
|
LayerService().count_post_pvz_for_placementpoint(instance)
|
|
|
|
|
checker = PostMLChecker.objects.first()
|
|
|
|
|
if not checker:
|
|
|
|
|
raschet.delay()
|
|
|
|
|
else:
|
|
|
|
|
if checker.current >= checker.target - 1:
|
|
|
|
|
raschet.delay()
|
|
|
|
|
PostMLChecker.objects.all().delete()
|
|
|
|
|
else:
|
|
|
|
|
checker.current += 1
|
|
|
|
|
checker.save()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=Post_and_pvzGroup)
|
|
|
|
|
def post_group_handler(sender, instance, **kwargs):
|
|
|
|
|
objects = Post_and_pvz.objects.filter(group=instance)
|
|
|
|
|
PostMLChecker.objects.create(target=objects.count())
|
|
|
|
|
for obj in objects:
|
|
|
|
|
obj.include_in_ml = instance.include_in_ml
|
|
|
|
|
obj.visible = instance.visible
|
|
|
|
|
obj.save()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=Post_and_pvzCategory)
|
|
|
|
|
def post_category_handler(sender, instance, **kwargs):
|
|
|
|
|
objects = Post_and_pvzGroup.objects.filter(category=instance)
|
|
|
|
|
PostMLChecker.objects.create(target=Post_and_pvz.objects.filter(category=instance).count())
|
|
|
|
|
for obj in objects:
|
|
|
|
|
obj.include_in_ml = instance.include_in_ml
|
|
|
|
|
obj.visible = instance.visible
|
|
|
|
|
obj.save()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@receiver(post_save, sender=OtherObjectsGroup)
|
|
|
|
|
def other_group_handler(sender, instance, **kwargs):
|
|
|
|
|
OtherObjects.objects.filter(group=instance).update(visible=instance.visible)
|
|
|
|
|
|