Esempio n. 1
0
def register(request):
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = User(
                    first_name=form.cleaned_data['first_name'],
                    last_name=form.cleaned_data['last_name'],
                    email=form.cleaned_data['email'],
                    is_active=True#False
                    )
        user.gen_activation_code()
        user.set_password(form.cleaned_data['password1'])
        user.save()
        profile = user.profile
        profile.mobile = form.cleaned_data['phone']
        profile.save()
        #user.send_activation_code() # uncomment for send activation code

        invite_id = request.session.get('invite_id')

        if invite_id:
            invite = Invite.objects.with_id(invite_id)

            # временная заглушка для неуникальных приглашений
            inviter = User.objects.with_id(invite_id)
            if not invite and inviter:
                invite = Invite(sender=inviter)
                invite.save()
            # временная заглушка для неуникальных приглашений end

            if invite:
                if invite.recipient:
                    messages.add_message(request, messages.WARNING,
                             _('The invitation has already been used by another user'))
                else:
                    invite.register(user)
            else:
                messages.add_message(request, messages.WARNING,
                             _('Incorrect reference to an invitation'))

        if user.is_active:
            login_form = LoginForm()
            request.session.set_test_cookie()
            return direct_to_template(request, 
                            'registration_complete_without_activation.html',
                            {'login_form': login_form,})
        return direct_to_template(request, 'registration_complete.html')

    return form
Esempio n. 2
0
def user(request, user_id=None):
    page_user = get_document_or_404(User, id=user_id)
    if page_user == request.user:
        return redirect('social:home')

    invitee_count = Invite.invitee_count(page_user)
    is_friend = not request.user.friends.can_add(page_user)
    camera = page_user.get_camera()

    data = {
        'camera': camera,
        'invitee_count': invitee_count,
        'page_user': page_user,
        'profile': page_user.profile.for_html(),
        'settings': settings,
        'show_friend_button': not is_friend,
    }

    if camera:
        data.update({
            'billing':
            camera.billing(request.user, request.session),
            'show_bookmark_button':
            camera.can_bookmark_add(request.user),
            'show_view_access_link':
            camera.is_view_enabled and camera.is_view_paid
            and camera.is_view_public or is_friend,
            'show_manage_access_link':
            camera.is_management_enabled and camera.is_managed
            and camera.is_management_paid
            and (camera.is_management_public or is_friend),
        })
    return direct_to_template(request, 'social/home.html', data)
Esempio n. 3
0
def user(request, user_id=None):
    page_user = get_document_or_404(User, id=user_id)
    if page_user == request.user:
        return redirect("social:home")

    invitee_count = Invite.invitee_count(page_user)
    is_friend = not request.user.friends.can_add(page_user)
    camera = page_user.get_camera()

    data = {
        "camera": camera,
        "invitee_count": invitee_count,
        "page_user": page_user,
        "profile": page_user.profile.for_html(),
        "settings": settings,
        "show_friend_button": not is_friend,
    }

    if camera:
        data.update(
            {
                "billing": camera.billing(request.user, request.session),
                "show_bookmark_button": camera.can_bookmark_add(request.user),
                "show_view_access_link": camera.is_view_enabled
                and camera.is_view_paid
                and camera.is_view_public
                or is_friend,
                "show_manage_access_link": camera.is_management_enabled
                and camera.is_managed
                and camera.is_management_paid
                and (camera.is_management_public or is_friend),
            }
        )
    return direct_to_template(request, "social/home.html", data)
Esempio n. 4
0
def user(request, user_id=None):
    page_user = get_document_or_404(User, id=user_id)
    if page_user == request.user:
        return redirect('social:home')

    invitee_count = Invite.invitee_count(page_user)
    is_friend = not request.user.friends.can_add(page_user)
    camera = page_user.get_camera()

    data = {
        'camera': camera,
        'invitee_count': invitee_count,
        'page_user': page_user,
        'profile': page_user.profile.for_html(),
        'settings': settings,
        'show_friend_button': not is_friend,
    }

    if camera:
        data.update({
            'billing': camera.billing(request.user, request.session),
            'show_bookmark_button': camera.can_bookmark_add(request.user),
            'show_view_access_link': camera.is_view_enabled and
                                     camera.is_view_paid and
                                     camera.is_view_public or
                                     is_friend,
            'show_manage_access_link': camera.is_management_enabled and
                                       camera.is_managed and
                                       camera.is_management_paid and
                                       (camera.is_management_public or
                                       is_friend),
        })
    return direct_to_template(request, 'social/home.html', data)
Esempio n. 5
0
def register(request):
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = User(
            first_name=form.cleaned_data["first_name"],
            last_name=form.cleaned_data["last_name"],
            email=form.cleaned_data["email"],
            is_active=False,
        )
        user.gen_activation_code()
        user.set_password(form.cleaned_data["password1"])
        user.save()
        profile = user.profile
        profile.mobile = form.cleaned_data["phone"]
        profile.save()
        user.send_activation_code()

        invite_id = request.session.get("invite_id")

        if invite_id:
            invite = Invite.objects.with_id(invite_id)

            # временная заглушка для неуникальных приглашений
            inviter = User.objects.with_id(invite_id)
            if not invite and inviter:
                invite = Invite(sender=inviter)
                invite.save()
            # временная заглушка для неуникальных приглашений end

            if invite:
                if invite.recipient:
                    messages.add_message(
                        request, messages.WARNING, _("The invitation has already been used by another user")
                    )
                else:
                    invite.register(user)
            else:
                messages.add_message(request, messages.WARNING, _("Incorrect reference to an invitation"))

        return direct_to_template(request, "registration_complete.html")

    return form
Esempio n. 6
0
def home(request):
    camera = request.user.get_camera()
    if camera:
        camera.show = True
    invitee_count = Invite.invitee_count(request.user)

    return direct_to_template(request, 'social/home.html', {
        'camera': camera,
        'invitee_count': invitee_count,
        'is_owner': True,
        'page_user': request.user,
        'profile': request.user.profile.for_html(),
        'billing': camera and camera.billing(request.user, request.session),
        'settings': settings
    })
Esempio n. 7
0
def home(request):
    camera = request.user.get_camera()
    if camera:
        camera.show = True
    invitee_count = Invite.invitee_count(request.user)

    return direct_to_template(
        request, 'social/home.html', {
            'camera': camera,
            'invitee_count': invitee_count,
            'is_owner': True,
            'page_user': request.user,
            'profile': request.user.profile.for_html(),
            'billing': camera
            and camera.billing(request.user, request.session),
            'settings': settings
        })
Esempio n. 8
0
def register(request):
    form = UserCreationForm(request.POST)
    if form.is_valid():
        user = User(
            first_name=form.cleaned_data['first_name'],
            last_name=form.cleaned_data['last_name'],
            email=form.cleaned_data['email'],
            is_active=True  #False
        )
        user.gen_activation_code()
        user.set_password(form.cleaned_data['password1'])
        user.save()
        profile = user.profile
        profile.mobile = form.cleaned_data['phone']
        profile.save()
        #user.send_activation_code() # uncomment for send activation code

        invite_id = request.session.get('invite_id')

        if invite_id:
            invite = Invite.objects.with_id(invite_id)

            # временная заглушка для неуникальных приглашений
            inviter = User.objects.with_id(invite_id)
            if not invite and inviter:
                invite = Invite(sender=inviter)
                invite.save()
            # временная заглушка для неуникальных приглашений end

            if invite:
                if invite.recipient:
                    messages.add_message(
                        request, messages.WARNING,
                        _('The invitation has already been used by another user'
                          ))
                else:
                    invite.register(user)
            else:
                messages.add_message(request, messages.WARNING,
                                     _('Incorrect reference to an invitation'))

        if user.is_active:
            login_form = LoginForm()
            request.session.set_test_cookie()
            return direct_to_template(
                request, 'registration_complete_without_activation.html', {
                    'login_form': login_form,
                })
        return direct_to_template(request, 'registration_complete.html')

    return form
Esempio n. 9
0
def home(request):
    camera = request.user.get_camera()
    if camera:
        camera.show = True
    invitee_count = Invite.invitee_count(request.user)

    return direct_to_template(
        request,
        "social/home.html",
        {
            "camera": camera,
            "invitee_count": invitee_count,
            "is_owner": True,
            "page_user": request.user,
            "profile": request.user.profile.for_html(),
            "billing": camera and camera.billing(request.user, request.session),
            "settings": settings,
        },
    )
Esempio n. 10
0
def activation(request, code=None):
    try:
        user = User.objects.get(is_active=False, activation_code=code)
    except:
        messages.add_message(request, messages.ERROR,
                             _('Activation code corrupted or already used'))
        return redirect('social:index')

    user.is_active = True
    # django needs a backend annotation
    from django.contrib.auth import get_backends
    backend = get_backends()[0]
    user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
    django_login(request, user)

    invite = Invite.objects(recipient=user).first()
    if invite:
        invite.on_activate()

    return redirect('social:home')
Esempio n. 11
0
def activation(request, code=None):
    try:
        user = User.objects.get(is_active=False, activation_code=code)
    except:
        messages.add_message(request, messages.ERROR, _("Activation code corrupted or already used"))
        return redirect("social:index")

    user.is_active = True
    # django needs a backend annotation
    from django.contrib.auth import get_backends

    backend = get_backends()[0]
    user.backend = "%s.%s" % (backend.__module__, backend.__class__.__name__)
    django_login(request, user)

    invite = Invite.objects(recipient=user).first()
    if invite:
        invite.on_activate()

    return redirect("social:home")