Build and Push Docker Images / Build and Push Docker Images (push) Failing after 9s
43 lines
1.9 KiB
Python
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)
|