Files
shihaam 00d25698c6
Build and Push Docker Images / Build and Push Docker Images (push) Failing after 9s
remove email related code
2026-08-02 14:25:41 +05:00

43 lines
1.9 KiB
Python

from django.dispatch import receiver
from django.db.models.signals import post_save
from api.models import User, TemporaryUser
from django.contrib.auth.models import Permission
from api.tasks import verify_user_with_person_api_task
@receiver(post_save, sender=User)
def assign_device_permissions(sender, instance, created, **kwargs):
if created:
device_permissions = Permission.objects.filter(content_type__model="device")
atoll_read_permission = Permission.objects.get(codename="view_atoll")
island_read_permission = Permission.objects.get(codename="view_island")
payment_permissions = Permission.objects.filter(
content_type__model="payment"
).exclude(codename__startswith="delete_")
topup_permissions = Permission.objects.filter(
content_type__model="topup"
).exclude(codename__startswith="delete_")
wallet_transaction_permissions = Permission.objects.filter(
content_type__model="wallettransaction"
).exclude(codename__startswith="delete_")
user_read_only_permission = Permission.objects.get(
codename="view_user", content_type__model="user"
)
instance.user_permissions.add(user_read_only_permission)
for permission in topup_permissions:
instance.user_permissions.add(permission)
for permission in device_permissions:
instance.user_permissions.add(permission)
instance.user_permissions.add(atoll_read_permission, island_read_permission)
for permission in payment_permissions:
instance.user_permissions.add(permission)
for permission in wallet_transaction_permissions:
instance.user_permissions.add(permission)
@receiver(post_save, sender=TemporaryUser)
def verify_user_with_person_api(sender, instance, created, **kwargs):
if created:
print(f"Temporary User Instance: {instance}")
verify_user_with_person_api_task(instance.t_id)