You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
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
|
|
from django.db.models.signals import post_save
|
|
from django.dispatch import receiver
|
|
|
|
|
|
def user_created(sender, user, request, **kwargs):
|
|
group = Group.objects.get(name='Зритель')
|
|
group.user_set.add(user)
|
|
user.save()
|
|
|
|
|
|
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)
|
|
|
|
|
|
@receiver(post_save, sender=Post_and_pvzGroup)
|
|
def post_group_handler(sender, instance, **kwargs):
|
|
objects = Post_and_pvz.objects.filter(group=instance)
|
|
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)
|
|
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)
|
|
|
|
|
|
@receiver(post_save, sender=OtherObjectsCategory)
|
|
def other_category_handler(sender, instance, **kwargs):
|
|
objects = OtherObjectsGroup.objects.filter(category=instance)
|
|
for obj in objects:
|
|
obj.visible = instance.visible
|
|
obj.save()
|