def create(self, **kwargs): print 'custom_user_create' # from django.contrib.auth.models import User from breeze.models import OrderedUser has_name_info_domains = ['fimm.fi', ] email = kwargs.get('email', '') pass_on = kwargs pass_on['is_active'] = True user_institute = '' if email and '@' in email and '.' in email: full_split = email.split('@') nick = full_split[0].split('.') domain = full_split[1] if domain in has_name_info_domains: pass_on['first_name'] = nick[0] pass_on['last_name'] = nick[1] try: from breeze.models import Institute user_institute = Institute.objects.get(domain=domain) except Exception as e: from utilz import logger logger.exception(str(e)) user = super(CustomUserManager, self).create(**pass_on) # TODO alert admin about new user assert isinstance(user, OrderedUser) if user_institute: user.userprofile.institute_info = user_institute user.userprofile.save() user.save() return user
def trigger_logout(request): """ Default handler to login user :param request: HttpRequest """ if request.user.is_authenticated(): user = request.user auth.logout(request) logger.info('LOGOUT %s (%s)' % (user.username, user.email)) url = settings.AUTH0_LOGOUT_URL try: url = user.userprofile.institute_info.url or settings.AUTH0_LOGOUT_REDIRECT except Exception as e: logger.exception(str(e)) return redirect('%s?returnTo=%s' % (settings.AUTH0_LOGOUT_URL, url)) # return redirect('https://www.fimm.fi') else: return HttpResponse(status=503)