PonyConf/accounts/signals.py

42 lines
1.6 KiB
Python
Raw Normal View History

2016-06-14 19:39:04 +00:00
from django.contrib import messages
from django.contrib.auth.models import User
from django.contrib.auth.signals import user_logged_in, user_logged_out
2016-06-14 19:39:04 +00:00
from django.contrib.sites.shortcuts import get_current_site
from django.db.models.signals import post_save
from django.dispatch import receiver
2016-06-14 19:39:04 +00:00
2016-07-11 19:33:34 +00:00
from .models import Connector, Participation, Profile, Transport
def create_default_options(sender, **kwargs):
Transport.objects.get_or_create(name='Train')
2016-07-22 15:51:21 +00:00
Transport.objects.get_or_create(name='Plane')
Transport.objects.get_or_create(name='Carpooling')
Connector.objects.get_or_create(name='VGA')
Connector.objects.get_or_create(name='HDMI')
Connector.objects.get_or_create(name='miniDP')
Connector.objects.get_or_create(name='I need a computer')
2016-06-12 17:50:11 +00:00
@receiver(user_logged_in)
def on_user_logged_in(sender, request, user, **kwargs):
participation, created = Participation.objects.get_or_create(user=user, site=get_current_site(request))
if user.is_superuser:
participation.orga = True
participation.save()
if created:
2016-06-20 18:59:43 +00:00
messages.info(request, "Please check your profile!\n", fail_silently=True) # FIXME
2016-06-12 20:09:40 +00:00
messages.success(request, 'Welcome!', fail_silently=True) # FIXME
2016-06-12 17:50:11 +00:00
2016-06-12 19:31:11 +00:00
2016-06-12 17:50:11 +00:00
@receiver(user_logged_out)
def on_user_logged_out(sender, request, **kwargs):
2016-06-12 20:09:40 +00:00
messages.success(request, 'Goodbye!', fail_silently=True) # FIXME
def create_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)
post_save.connect(create_profile, sender=User, weak=False, dispatch_uid='create_profile')