forked from AFPy/PonyConf
46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
from django.contrib import messages
|
|
from django.contrib.auth.models import User
|
|
from django.contrib.auth.signals import user_logged_in, user_logged_out
|
|
from django.contrib.sites.shortcuts import get_current_site
|
|
from django.db.models.signals import post_save
|
|
from django.dispatch import receiver
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from django.utils.translation import ugettext_noop
|
|
|
|
from ponyconf.decorators import disable_for_loaddata
|
|
|
|
from .models import Connector, Participation, Profile, Transport
|
|
|
|
|
|
def create_default_options(sender, **kwargs):
|
|
Transport.objects.get_or_create(name=ugettext_noop('Train'))
|
|
Transport.objects.get_or_create(name=ugettext_noop('Plane'))
|
|
Transport.objects.get_or_create(name=ugettext_noop('Carpooling'))
|
|
Connector.objects.get_or_create(name=ugettext_noop('VGA'))
|
|
Connector.objects.get_or_create(name=ugettext_noop('HDMI'))
|
|
Connector.objects.get_or_create(name=ugettext_noop('miniDP'))
|
|
Connector.objects.get_or_create(name=ugettext_noop('I need a computer'))
|
|
|
|
|
|
@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:
|
|
messages.info(request, "Please check your profile!\n", fail_silently=True) # FIXME
|
|
messages.success(request, _('Welcome!'), fail_silently=True) # FIXME
|
|
|
|
|
|
@receiver(user_logged_out)
|
|
def on_user_logged_out(sender, request, **kwargs):
|
|
messages.success(request, _('Goodbye!'), fail_silently=True) # FIXME
|
|
|
|
|
|
@receiver(post_save, sender=User, weak=False, dispatch_uid='create_profile')
|
|
@disable_for_loaddata
|
|
def create_profile(sender, instance, created, **kwargs):
|
|
if created:
|
|
Profile.objects.create(user=instance)
|