def register(request, success_url=None, form_class=RegistrationForm, profile_callback=None, template_name='registration/registration_form.html', extra_context=None): if 'INVITE_MODE' in dir(settings) and settings.INVITE_MODE: if 'invitation_key' in request.REQUEST \ and is_key_valid(request.REQUEST['invitation_key']): if extra_context is None: extra_context = { 'invitation_key': request.REQUEST['invitation_key'] } else: extra_context.update({'invitation_key': invitation_key}) return registration_register(request, success_url, form_class, profile_callback, template_name, extra_context) else: return direct_to_template(request, 'invitation/wrong_invitation_key.html') else: return registration_register(request, success_url, form_class, profile_callback, template_name, extra_context)
def register(request, backend, success_url=None, form_class=RegistrationForm, disallowed_url='registration_disallowed', post_registration_redirect=None, template_name=registration_template, wrong_template_name='invitation/wrong_invitation_key.html', extra_context=None): extra_context = extra_context is not None and extra_context.copy() or {} if getattr(settings, 'INVITE_MODE', False): invitation_key = request.REQUEST.get('invitation_key', False) if invitation_key: extra_context.update({'invitation_key': invitation_key}) if is_key_valid(invitation_key): print '----register key is valid' return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context) else: extra_context.update({'invalid_key': True}) else: extra_context.update({'no_key': True}) return render(request, wrong_template_name, extra_context) else: return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context)
def register(request, backend, success_url=None, form_class=RegistrationForm, disallowed_url='registration_disallowed', post_registration_redirect=None, template_name=registration_template, wrong_template_name='invitation/wrong_invitation_key.html', extra_context=None): extra_context = extra_context is not None and extra_context.copy() or {} if getattr(settings, 'INVITE_MODE', False): invitation_key = request.REQUEST.get('invitation_key', False) if invitation_key: extra_context.update({'invitation_key': invitation_key}) if is_key_valid(invitation_key): return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context) else: extra_context.update({'invalid_key': True}) else: extra_context.update({'no_key': True}) return render(request, wrong_template_name, extra_context) else: return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context)
def register( request, backend, success_url=None, form_class=None, disallowed_url='registration_disallowed', template_name='registration/registration_form.html', wrong_template_name='invitation/wrong_invitation_key.html', extra_context={ 'ADMIN_MAIL': settings.ADMIN_MAIL, 'INVITATION_MAIL': settings.INVITATION_MAIL, }): extra_context = extra_context is not None and extra_context.copy() or {} if getattr(settings, 'INVITE_MODE', False): invitation_key = request.REQUEST.get('invitation_key', False) if invitation_key: extra_context.update({'invitation_key': invitation_key}) if is_key_valid(invitation_key): return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context) else: extra_context.update({'invalid_key': True}) else: extra_context.update({'no_key': True}) return direct_to_template(request, wrong_template_name, extra_context) else: return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context)
def register( request, backend, success_url=None, form_class=RegistrationForm, disallowed_url="registration_disallowed", post_registration_redirect=None, template_name="registration/registration_form.html", wrong_template_name="invitation/wrong_invitation_key.html", extra_context=None, ): extra_context = extra_context is not None and extra_context.copy() or {} if getattr(settings, "INVITE_MODE", True): invitation_key = request.REQUEST.get("invitation_key", False) if invitation_key: extra_context.update({"invitation_key": invitation_key}) if is_key_valid(invitation_key): return registration_register( request, backend, success_url, form_class, disallowed_url, template_name, extra_context ) else: extra_context.update({"invalid_key": True}) else: extra_context.update({"no_key": True}) return direct_to_template(request, wrong_template_name, extra_context) else: return registration_register( request, backend, success_url, form_class, disallowed_url, template_name, extra_context )
def register(request, backend, success_url=None, form_class=None, disallowed_url='registration_disallowed', template_name='registration/registration_form.html', wrong_template_name='invitation/wrong_invitation_key.html', extra_context={ 'ADMIN_MAIL': settings.ADMIN_MAIL, 'INVITATION_MAIL': settings.INVITATION_MAIL, }): extra_context = extra_context is not None and extra_context.copy() or {} if getattr(settings, 'INVITE_MODE', False): invitation_key = request.REQUEST.get('invitation_key', False) if invitation_key: extra_context.update({'invitation_key': invitation_key}) if is_key_valid(invitation_key): return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context) else: extra_context.update({'invalid_key': True}) else: extra_context.update({'no_key': True}) return direct_to_template(request, wrong_template_name, extra_context) else: return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context)
def register(request, backend, success_url=None, form_class=None, disallowed_url='registration_disallowed', template_name='registration/registration_form.html', wrong_template_name='invitation/wrong_invitation_key.html', extra_context=None, initial_form_data=None): extra_context = extra_context is not None and extra_context.copy() or {} initial_form_data = initial_form_data is not None and initial_form_data.copy() or {} try: invitation_key = request.session.get('invitation_key', None) invitation_email = request.session.get('invitation_email', '') if getattr(settings, 'INVITE_MODE', False): if invitation_key is None: raise InvalidInvitationError('Invitation not valid') elif not invitation_key.is_usable(): raise InvalidInvitationError('Invitation not usable') if getattr(settings, 'INVITE_MODE_STRICT', False): if not invitation_key.validate_email(invitation_email): raise InvalidInvitationError('E-mail does not match invitation') initial_form_data['email'] = invitation_email if 'email' not in initial_form_data: initial_form_data['email'] = invitation_email extra_context['invitation_key'] = invitation_key extra_context['invitation_email'] = invitation_email return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context, initial_form_data) except InvalidInvitationError: return HttpResponseRedirect(reverse('invitation_invited'))
def register(request, success_url=None, form_class=RegistrationForm, profile_callback=None, template_name='registration/registration_form.html', extra_context=None): if 'INVITE_MODE' in settings.get_all_members() and settings.INVITE_MODE: if 'invitation_key' in request.REQUEST \ and is_key_valid(request.REQUEST['invitation_key']): if extra_context is None: extra_context = {'invitation_key': request.REQUEST['invitation_key']} else: extra_context.update({'invitation_key': invitation_key}) return registration_register(request, success_url, form_class, profile_callback, template_name, extra_context) else: return direct_to_template(request, 'invitation/wrong_invitation_key.html') else: return registration_register(request, success_url, form_class, profile_callback, template_name, extra_context)
def register(request, success_url=None, form_class=RegistrationForm, profile_callback=None, backend="registration.backends.default.DefaultBackend", template_name='registration/registration_form.html', extra_context=None): if hasattr(settings, 'INVITE_MODE') and settings.INVITE_MODE: if 'invitation_key' in request.REQUEST \ and is_key_valid(request.REQUEST['invitation_key']): if extra_context is None: extra_context = {'invitation_key': request.REQUEST['invitation_key']} else: extra_context.update({'invitation_key': invitation_key}) print success_url return registration_register(request, backend, success_url, form_class, profile_callback, template_name, extra_context) else: return direct_to_template(request, 'invitation/wrong_invitation_key.html') else: return registration_register(request, backend, success_url, form_class, profile_callback, template_name, extra_context)
def invited_register(request, backend, invitation_key, success_url=None, form_class=RegistrationForm, disallowed_url='registration_disallowed', post_registration_redirect=None, template_name='registration/registration_form.html', wrong_template_name='invitations/wrong_invitation_key.html', extra_context=None): extra_context = extra_context is not None and extra_context.copy() or {} if getattr(settings, 'INVITE_MODE', False): if invitation_key: extra_context.update({'invitation_key': invitation_key}) # if key is valid if is_key_valid(invitation_key): key_object = get_key(invitation_key) # if email is assigned to an access content_object # but not user - if user is assigned then this invitation has # already been accepted if ((key_object.content_object and \ key_object.content_object.email) and not \ key_object.content_object.user): extra_context.update( {'email': key_object.content_object.email}) if request.POST: backend = get_backend(backend) form = form_class(data=request.POST, files=request.FILES) if form.is_valid(): new_user = backend.register(request, **extra_context) to, args, kwargs = backend.post_registration_redirect( request, new_user, invitation_key=invitation_key) messages.success(request, _("You've been registered and logged in.")) return redirect(to, *args, **kwargs) else: form = form_class() extra_context.update({'form': form}) return render(request, template_name, extra_context) #return registration_register(request, backend, success_url, # form_class, disallowed_url, # template_name, extra_context) extra_context.update({'invalid_key': True}) else: extra_context.update({'no_key': True}) return render(request, wrong_template_name, extra_context) else: return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context)
def register_invited(request): invitation_code = request.GET.get('code', None) if invitation_code and Invitation.objects.is_valid_code(invitation_code): backend = 'website.registration_backends.RegistrationByInvitation' success_url = 'home' form_class = InviteRegistrationForm disallowed_url = 'registration_disallowed' #Default post_registration_redirect = None #Default template_name = 'registration/register_invited.html' return registration_register(request, backend, success_url, form_class, disallowed_url, template_name) else: return render(request, 'registration/invalid_invitation_code.html')
def register(request, backend, success_url=None, form_class=None, disallowed_url='registration_disallowed', template_name='registration/registration_form.html', wrong_template_name='invitation/wrong_invitation_key.html', extra_context=None, initial_form_data=None): extra_context = extra_context is not None and extra_context.copy() or {} initial_form_data = initial_form_data is not None and initial_form_data.copy( ) or {} try: invitation_key = request.session.get('invitation_key', None) invitation_email = request.session.get('invitation_email', '') if getattr(settings, 'INVITE_MODE', False): if invitation_key is None: raise InvalidInvitationError('Invitation not valid') elif not invitation_key.is_usable(): raise InvalidInvitationError('Invitation not usable') if getattr(settings, 'INVITE_MODE_STRICT', False): if not invitation_key.validate_email(invitation_email): raise InvalidInvitationError( 'E-mail does not match invitation') initial_form_data['email'] = invitation_email if 'email' not in initial_form_data: initial_form_data['email'] = invitation_email extra_context['invitation_key'] = invitation_key extra_context['invitation_email'] = invitation_email return registration_register(request, backend, success_url, form_class, disallowed_url, template_name, extra_context, initial_form_data) except InvalidInvitationError: return HttpResponseRedirect(reverse('invitation_invited'))