Skip to content

Commit 3032714

Browse files
moacirmodarenzon
authored andcommitted
removing pytools sell
1 parent c736206 commit 3032714

26 files changed

Lines changed: 41 additions & 4320 deletions

‎pythonpro/checkout/templates/checkout/pytools_oto_lp.html‎

Lines changed: 0 additions & 587 deletions
This file was deleted.

‎pythonpro/checkout/tests/test_pytools_lp.py‎

Lines changed: 0 additions & 29 deletions
This file was deleted.

‎pythonpro/checkout/tests/test_pytools_lp_oto.py‎

Lines changed: 0 additions & 75 deletions
This file was deleted.

‎pythonpro/checkout/urls.py‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44

55
app_name = 'checkout'
66
urlpatterns = [
7-
path('curso-de-python-intermediario', views.pytools_lp, name='pytools_lp'),
8-
path('curso-de-python-intermediario-oto', views.pytools_oto_lp, name='pytools_oto_lp'),
97
path('inscricao', views.membership_lp, name='membership_lp'),
108
path('lista-de-espera', views.waiting_list_ty, name='waiting_list_ty'),
119
]

‎pythonpro/checkout/views.py‎

Lines changed: 0 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,15 @@
11
import time
22

3-
from django.http import HttpResponseRedirect
43
from django.shortcuts import render, redirect
54
from django.urls import reverse
65
from django.utils.http import urlencode
7-
from django.utils.timezone import now
86
from django_pagarme import facade
97

108
from pythonpro.checkout import facade as checkout_facade
119
from pythonpro.checkout import forms as checkout_forms
1210
from pythonpro.checkout.forms import WaitingForm
1311
from pythonpro.core.facade import is_client
1412
from pythonpro.domain import user_facade
15-
from pythonpro.payments import facade as payment_facade
16-
17-
18-
def pytools_lp(request):
19-
user = request.user
20-
slug = 'pytools'
21-
if user.is_authenticated:
22-
user_facade.visit_client_landing_page(user, source=request.GET.get('utm_source', default='unknown'))
23-
data = {'name': user.first_name, 'email': user.email}
24-
form = facade.ContactForm(data)
25-
else:
26-
form = facade.ContactForm()
27-
user_creation = user.date_joined if user.is_authenticated else now()
28-
is_promotion_season = payment_facade.is_on_pytools_promotion_season(user_creation)
29-
payment_item_config = facade.find_payment_item_config(slug)
30-
payment_form_config = payment_item_config.default_config
31-
price_float = payment_item_config.price / 100
32-
installments = payment_form_config.max_installments
33-
price_installment = payment_form_config.calculate_amount(payment_item_config.price, installments) / installments
34-
price_installment /= 100
35-
_, promotion_end_date = payment_facade.calculate_pytools_promotion_interval()
36-
return render(
37-
request,
38-
'checkout/pytools_lp.html', {
39-
'contact_form': form,
40-
'slug': slug,
41-
'payment_item_config': payment_item_config,
42-
'price_float': price_float,
43-
'price_installment': price_installment,
44-
'is_promotion_season': is_promotion_season,
45-
'promotion_end_date': promotion_end_date,
46-
'is_promotion_expired': False,
47-
})
48-
49-
50-
def pytools_oto_lp(request):
51-
is_debug = bool(request.GET.get('debug', False))
52-
user = request.user
53-
if not (user.is_authenticated or is_debug):
54-
return HttpResponseRedirect(reverse('checkout:pytools_lp'))
55-
56-
slug = 'pytools-oto'
57-
if user.is_authenticated:
58-
user_facade.visit_client_landing_page(user, source=request.GET.get('utm_source', default='unknown'))
59-
data = {'name': user.first_name, 'email': user.email}
60-
form = facade.ContactForm(data)
61-
else:
62-
form = facade.ContactForm()
63-
countdown_limit = payment_facade.calculate_oto_expires_datetime(user.date_joined) if not is_debug else now()
64-
is_promotion_expired = not (is_debug or payment_facade.is_on_pytools_oto_season(user.date_joined))
65-
payment_item_config = facade.find_payment_item_config(slug)
66-
payment_form_config = payment_item_config.default_config
67-
price_float = payment_item_config.price / 100
68-
installments = payment_form_config.max_installments
69-
price_installment = payment_form_config.calculate_amount(payment_item_config.price, installments) / installments
70-
price_installment /= 100
71-
return render(
72-
request,
73-
'checkout/pytools_oto_lp.html', {
74-
'contact_form': form,
75-
'slug': slug,
76-
'payment_item_config': payment_item_config,
77-
'price_float': price_float,
78-
'price_installment': price_installment,
79-
'is_promotion_expired': is_promotion_expired,
80-
'countdown_limit': countdown_limit,
81-
})
8213

8314

8415
def membership_lp(request):

‎pythonpro/core/facade.py‎

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -88,22 +88,6 @@ def register_member(first_name, email, source):
8888
return user
8989

9090

91-
def register_client(first_name: str, email: str, source: str) -> User:
92-
"""
93-
Create a new user on the system generation a random password or update existing on based on email.
94-
:param first_name: User's first name
95-
:param email: User's email
96-
:param source: source of User traffic
97-
:return: User
98-
"""
99-
try:
100-
user = User.objects.filter(email=email).get()
101-
except User.DoesNotExist:
102-
user = save_and_sent_password_email(first_name, email, source)
103-
promote_to_client(user, source)
104-
return user
105-
106-
10791
def promote_to_member(user: User, source: str) -> None:
10892
"""
10993
Promote a user do member. Raises exception in case user is a member
@@ -117,24 +101,6 @@ def promote_to_member(user: User, source: str) -> None:
117101
remove_role(user, 'client')
118102

119103

120-
def promote_to_client(user: User, source: str) -> None:
121-
"""
122-
Promote a lead to user. Raises exception in case user is a member
123-
:param user:
124-
"""
125-
if has_role(user, 'member'):
126-
raise UserRoleException('User is already a member')
127-
if has_role(user, 'client'):
128-
raise UserRoleException('User is already a client')
129-
UserInteraction(category=UserInteraction.BECOME_CLIENT, source=source, user=user).save()
130-
assign_role(user, 'client')
131-
remove_role(user, 'lead')
132-
133-
134-
def visit_client_landing_page(user: User, source: str):
135-
return UserInteraction(category=UserInteraction.CLIENT_LP, source=source, user=user).save()
136-
137-
138104
def visit_launch_landing_page(user: User, source: str):
139105
return UserInteraction(category=UserInteraction.LAUNCH_LP, source=source, user=user).save()
140106

@@ -192,14 +158,6 @@ def activate_user(user: User, source: str):
192158
return UserInteraction(category=UserInteraction.ACTIVATED, source=source, user=user).save()
193159

194160

195-
def client_checkout(user: User, source: str) -> None:
196-
return UserInteraction(category=UserInteraction.CLIENT_CHECKOUT, source=source, user=user).save()
197-
198-
199-
def client_checkout_form(user: User, source: str) -> None:
200-
return UserInteraction(category=UserInteraction.CLIENT_CHECKOUT_FORM, source=source, user=user).save()
201-
202-
203161
def member_checkout_form(user: User, source='unknown'):
204162
return UserInteraction(category=UserInteraction.MEMBER_CHECKOUT_FORM, source=source, user=user).save()
205163

@@ -208,10 +166,6 @@ def member_checkout(user: User, source='unknown'):
208166
return UserInteraction(category=UserInteraction.MEMBER_CHECKOUT, source=source, user=user).save()
209167

210168

211-
def client_generated_boleto(user: User, source: str):
212-
return UserInteraction(category=UserInteraction.CLIENT_BOLETO, source=source, user=user).save()
213-
214-
215169
def member_generated_boleto(user, source='unknow'):
216170
return UserInteraction(category=UserInteraction.MEMBER_BOLETO, source=source, user=user).save()
217171

‎pythonpro/core/tests/test_lead_landing_page.py‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,6 @@ def test_only_role_lead_can_change_password(resp_lead_change_pasword, django_use
177177
assert response.status_code == 302
178178

179179

180-
def test_should_redirect_to_OTO_page(resp_lead_creation):
181-
assert resp_lead_creation['Location'] == reverse('payments:client_landing_page_oto')
182-
183-
184180
def test_should_has_a_normal_version(resp):
185181
dj_assert_template_used(resp, 'core/lead_landing_page.html')
186182

‎pythonpro/core/views.py‎

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ def sitemap(request):
6161
named_views = [
6262
'core:index',
6363
'core:lead_landing',
64-
'checkout:pytools_lp',
6564
'member_landing_page',
6665
'core:podcast',
6766
'core:tech_talks',
@@ -164,7 +163,7 @@ def programmer_week_ty(request):
164163
return render(request, 'core/lead_landing_page.html', context={'form': UserSignupForm()})
165164

166165

167-
def _lead_form(request, redirect_to_OTO=True, *args, **kwargs):
166+
def _lead_form(request, *args, **kwargs):
168167
if request.method == 'GET':
169168
form = UserSignupForm()
170169
return render(request, 'core/lead_form_errors.html', context={'form': form})
@@ -179,11 +178,7 @@ def _lead_form(request, redirect_to_OTO=True, *args, **kwargs):
179178
return render(request, 'core/lead_form_errors.html', context={'form': e.form}, status=400)
180179

181180
login(request, user)
182-
183-
if redirect_to_OTO:
184-
return redirect(reverse('payments:client_landing_page_oto'))
185-
else:
186-
return redirect(reverse('core:thanks'))
181+
return redirect(reverse('core:thanks'))
187182

188183

189184
def lead_form(request):

‎pythonpro/domain/checkout_domain.py‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
def contact_info_listener(name, email, phone, payment_item_slug, user=None):
1313
if (user is not None) and user.is_authenticated:
1414
user_id = user.id
15-
if 'pytools' in payment_item_slug:
16-
core_facade.client_checkout_form(user, 'unknown')
17-
elif 'membership' in payment_item_slug:
15+
if 'membership' in payment_item_slug:
1816
core_facade.member_checkout_form(user)
1917
else:
2018
user_id = None
@@ -50,9 +48,7 @@ def payment_handler_task(payment_id):
5048

5149

5250
def _promote(user, slug):
53-
if 'pytools' in slug:
54-
user_facade.promote_client(user, 'unknow')
55-
elif 'membership' in slug:
51+
if 'membership' in slug:
5652
user_facade.promote_member(user, 'unknow')
5753
else:
5854
raise ValueError(f'{slug} should contain pytools or membership')

‎pythonpro/domain/tests/test_checkout/test_contact_info.py‎

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
all_slugs = pytest.mark.parametrize(
99
'slug',
1010
[
11-
'pytools',
12-
'pytools-oto',
13-
'pytools-done',
1411
'membership',
1512
'membership-client',
1613
'membership-client-first-day',
@@ -45,23 +42,6 @@ def test_status_code(resp, client, valid_data, slug):
4542
assert resp.status_code == 302
4643

4744

48-
pytools_slugs = pytest.mark.parametrize(
49-
'slug',
50-
[
51-
'pytools',
52-
'pytools-oto',
53-
'pytools-done',
54-
]
55-
)
56-
57-
58-
@pytools_slugs
59-
def test_client_history(resp, client_with_user, valid_data, slug, logged_user):
60-
make_post(client_with_user, valid_data, slug)
61-
interactions = core_facade.find_user_interactions(logged_user)
62-
assert [i.category for i in interactions] == [UserInteraction.CLIENT_CHECKOUT_FORM]
63-
64-
6545
membership_slugs = pytest.mark.parametrize(
6646
'slug',
6747
[

0 commit comments

Comments
 (0)