Ejemplo n.º 1
0
def _render_cpl(description,
                request,
                title,
                user,
                video_id,
                visit_function,
                video_id_next_class=None):
    if user.is_authenticated:
        visit_function(user, request.GET.get('utm_source', 'unknown'))

    launch_status = get_launch_status()
    if launch_status == LAUNCH_STATUS_PPL and not request.GET.get('debug'):
        return redirect(reverse('launch:landing_page'))

    if launch_status == LAUNCH_STATUS_OPEN_CART and not request.GET.get(
            'debug'):
        return redirect(reverse('checkout:bootcamp_lp'))

    ctx = {
        'data_href': f'https://{build_absolute_uri(request.path)}',
        'video_id': video_id,
        'video_id_next_class': video_id_next_class,
        'title': title,
        'description': description,
        'launch_status': launch_status,
        'opened_cpls': get_opened_cpls(),
        'DEBUG': settings.DEBUG,
    }
    return render(request, 'launch/cpl.html', ctx)
Ejemplo n.º 2
0
def landing_page(request):
    user = request.user

    launch_status = get_launch_status()
    if launch_status == LAUNCH_STATUS_OPEN_CART and not request.GET.get('debug'):
        return redirect(reverse('checkout:bootcamp_lp'))

    if user.is_authenticated:
        form = LeadForm({'email': user.email})
        user_domain.visit_launch_landing_page(user, request.GET.get('utm_source', 'unknown'))
    else:
        form = LeadForm()
    return render(request, 'launch/landing_page.html', {'form': form})
Ejemplo n.º 3
0
def test_should_return_launch_status_closed_on_day_after_closed(mocker):
    fake_today = timezone.make_aware(datetime(2020, 8, 19, 17))
    mocker.patch('pythonpro.launch.facade.timezone.now',
                 return_value=fake_today)
    assert get_launch_status() == LAUNCH_STATUS_CLOSED
Ejemplo n.º 4
0
def test_should_return_launch_status_open_cart_on_last_day(mocker):
    fake_today = timezone.make_aware(datetime(2020, 8, 19, 16, 59, 59))
    mocker.patch('pythonpro.launch.facade.timezone.now',
                 return_value=fake_today)
    assert get_launch_status() == LAUNCH_STATUS_OPEN_CART
Ejemplo n.º 5
0
def test_should_return_launch_status_cpl4_on_thu_early(mocker):
    fake_today = timezone.make_aware(datetime(2020, 8, 13))
    mocker.patch('pythonpro.launch.facade.timezone.now',
                 return_value=fake_today)
    assert get_launch_status() == LAUNCH_STATUS_CPL3
Ejemplo n.º 6
0
def test_should_return_launch_status_ppl_before_monday(mocker):
    fake_today = timezone.make_aware(datetime(2020, 8, 9, 23, 59, 59))
    mocker.patch('pythonpro.launch.facade.timezone.now',
                 return_value=fake_today)
    assert get_launch_status() == LAUNCH_STATUS_PPL