Skip to content

Commit 8d7b356

Browse files
committed
Changed Módulos menu to Cursos (Logged user)
close #2792
1 parent 9d03cde commit 8d7b356

File tree

5 files changed

+300
-118
lines changed

5 files changed

+300
-118
lines changed

pythonpro/core/templates/core/base.html

Lines changed: 97 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
{% load static %}
22
<!DOCTYPE html>
3-
<html lang="pt-br" data-wf-page="5f11fb784cf649f4dd0aa7ab" data-wf-site="5f07a1c9ac6e0b5937b108a7">
3+
<html lang="pt-br" data-wf-page="5f11fb784cf649f4dd0aa7ab" data-wf-site="5f07a1c9ac6e0b5937b108a7">
44
<head>
55
<meta charset="UTF-8">
6-
<title>{% block title %}Python Pro: Curso da linguagem de programação Python, Presencial Online, do Básico ao Avançado!{% endblock %}</title>
7-
8-
<meta name="description" content="{% block description %}{% endblock %}" />
6+
<title>{% block title %}Python Pro: Curso da linguagem de programação Python, Presencial Online, do Básico ao
7+
Avançado!{% endblock %}</title>
8+
9+
<meta name="description" content="{% block description %}{% endblock %}"/>
910
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
10-
11-
<link rel="icon" type="image/png" href="{% static 'img/favicon.png' %}" />
11+
12+
<link rel="icon" type="image/png" href="{% static 'img/favicon.png' %}"/>
1213

1314
{% block scripts %}
1415
{% include 'core/_scripts.html' %}
@@ -17,130 +18,122 @@
1718
{% endblock %}
1819

1920
{% block styles %}
20-
<link rel="stylesheet" href="{% static 'css/custom.css' %}"/>
21-
<link rel="stylesheet" href="{% static 'css/default.css' %}"/>
22-
<link href='//fonts.googleapis.com/css?family=Ubuntu:400,500' rel='stylesheet' type='text/css'/>
21+
<link rel="stylesheet" href="{% static 'css/custom.css' %}"/>
22+
<link rel="stylesheet" href="{% static 'css/default.css' %}"/>
23+
<link href='//fonts.googleapis.com/css?family=Ubuntu:400,500' rel='stylesheet' type='text/css'/>
2324
{% endblock %}
2425

2526
{% block head %}{% endblock %}
2627
</head>
2728
<body class="{% block body_class %}{% endblock %}">
2829
{# Google Tag Manager (noscript)#}
29-
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{GOOGLE_TAG_MANAGER_ID}}"
30-
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
30+
<noscript>
31+
<iframe src="https://www.googletagmanager.com/ns.html?id={{ GOOGLE_TAG_MANAGER_ID }}"
32+
height="0" width="0" style="display:none;visibility:hidden"></iframe>
33+
</noscript>
3134
{# End Google Tag Manager (noscript)#}
3235
{% block navbar %}
33-
<nav class="navbar navbar-dark bg-dark navbar-expand-md">
34-
<a class="navbar-brand" href="/">Python Pro</a>
35-
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
36-
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
37-
<span class="navbar-toggler-icon"></span>
38-
</button>
36+
<nav class="navbar navbar-dark bg-dark navbar-expand-md">
37+
<a class="navbar-brand" href="/">Python Pro</a>
38+
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
39+
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
40+
<span class="navbar-toggler-icon"></span>
41+
</button>
3942

40-
<div class="collapse navbar-collapse" id="navbarSupportedContent">
41-
<ul class="navbar-nav mr-auto">
42-
{% if user.is_authenticated %}
43-
<li class="nav-item dropdown">
44-
<a class="nav-link dropdown-toggle" href="#" id="navbarCohorts" role="button" data-toggle="dropdown"
45-
aria-haspopup="true" aria-expanded="false">
46-
Turmas
47-
</a>
48-
<div class="dropdown-menu bg-dark border-light" aria-labelledby="navbarCohorts">
49-
{% for cohort in ALL_COHORTS %}
50-
<a class="dropdown-item text-light"
51-
href="{{ cohort.get_absolute_url }}">{{ cohort.title }}</a>
52-
{% if not forloop.last %}
53-
<div class="dropdown-divider"></div>
54-
{% endif %}
55-
{% endfor %}
56-
</div>
57-
</li>
58-
<li class="nav-item dropdown">
59-
<a class="nav-link dropdown-toggle" href="#" id="navbarCourses" role="button" data-toggle="dropdown"
60-
aria-haspopup="true" aria-expanded="false">
61-
Módulos
62-
</a>
63-
<div class="dropdown-menu bg-dark border-light" aria-labelledby="navbarCourses">
64-
{% for module in ALL_MODULES %}
65-
<a class="dropdown-item text-light"
66-
href="{{ module.get_absolute_url }}">{{ module.title }}</a>
67-
{% if not forloop.last %}
68-
<div class="dropdown-divider"></div>
69-
{% endif %}
70-
{% endfor %}
71-
</div>
72-
</li>
73-
<li class="nav-item">
74-
<a class="nav-link" href="{% url 'cohorts:webinars' %}">Webinários</a>
75-
</li>
43+
<div class="collapse navbar-collapse" id="navbarSupportedContent">
44+
<ul class="navbar-nav mr-auto">
45+
{% if user.is_authenticated %}
46+
<li class="nav-item dropdown">
47+
<a class="nav-link dropdown-toggle" href="#" id="navbarCohorts" role="button"
48+
data-toggle="dropdown"
49+
aria-haspopup="true" aria-expanded="false">
50+
Turmas
51+
</a>
52+
<div class="dropdown-menu bg-dark border-light" aria-labelledby="navbarCohorts">
53+
{% for cohort in ALL_COHORTS %}
54+
<a class="dropdown-item text-light"
55+
href="{{ cohort.get_absolute_url }}">{{ cohort.title }}</a>
56+
{% if not forloop.last %}
57+
<div class="dropdown-divider"></div>
58+
{% endif %}
59+
{% endfor %}
60+
</div>
61+
</li>
62+
<li class="nav-item">
63+
<a class="nav-link" href="{% url 'modules:index' %}">Cursos</a>
64+
</li>
65+
<li class="nav-item">
66+
<a class="nav-link" href="{% url 'cohorts:webinars' %}">Webinários</a>
67+
</li>
7668

77-
{% else %}
69+
{% else %}
70+
<li class="nav-item">
71+
<a class="nav-link" href="{% url 'modules:index' %}">Cursos</a>
72+
</li>
73+
{% endif %}
74+
{% if user.is_authenticated and DISCOURSE_BASE_URL %}
75+
<li class="nav-item">
76+
<a class="nav-link" href="{{ DISCOURSE_BASE_URL }}">Fórum</a>
77+
</li>
78+
{% endif %}
7879
<li class="nav-item">
79-
<a class="nav-link" href="{% url 'modules:index' %}">Cursos</a>
80+
<a class="nav-link" href="{% url 'core:tech_talks' %}">Tech Talks</a>
8081
</li>
81-
{% endif %}
82-
{% if user.is_authenticated and DISCOURSE_BASE_URL %}
8382
<li class="nav-item">
84-
<a class="nav-link" href="{{ DISCOURSE_BASE_URL }}">Fórum</a>
83+
<a class="nav-link" href="{% url 'core:podcast' %}">Podcast</a>
8584
</li>
86-
{% endif %}
87-
<li class="nav-item">
88-
<a class="nav-link" href="{% url 'core:tech_talks' %}">Tech Talks</a>
89-
</li>
90-
<li class="nav-item">
91-
<a class="nav-link" href="{% url 'core:podcast' %}">Podcast</a>
92-
</li>
93-
</ul>
94-
{% if user.is_authenticated %}
95-
<ul class="navbar-nav ">
96-
<li class="nav-item dropdown">
85+
</ul>
86+
{% if user.is_authenticated %}
87+
<ul class="navbar-nav ">
88+
<li class="nav-item dropdown">
9789

98-
<a class="nav-link dropdown-toggle" href="#" id="navbarCourses" role="button" data-toggle="dropdown"
99-
aria-haspopup="true" aria-expanded="false">
100-
{{ user.first_name }}
101-
</a>
102-
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
103-
<a class="dropdown-item" href="{% url 'dashboard:home' %}">Dashboard</a>
104-
<a class="dropdown-item" href="{% url 'core:profile' %}">Perfil</a>
105-
<div class="dropdown-divider"></div>
106-
<div class="dropdown-item">
107-
<a class="btn btn-danger" href="{% url 'logout' %}">Sair</a>
90+
<a class="nav-link dropdown-toggle" href="#" id="navbarCourses" role="button"
91+
data-toggle="dropdown"
92+
aria-haspopup="true" aria-expanded="false">
93+
{{ user.first_name }}
94+
</a>
95+
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
96+
<a class="dropdown-item" href="{% url 'dashboard:home' %}">Dashboard</a>
97+
<a class="dropdown-item" href="{% url 'core:profile' %}">Perfil</a>
98+
<div class="dropdown-divider"></div>
99+
<div class="dropdown-item">
100+
<a class="btn btn-danger" href="{% url 'logout' %}">Sair</a>
101+
</div>
108102
</div>
109-
</div>
110-
</li>
111-
</ul>
112-
{% else %}
113-
<a class="btn btn-light my-2 my-sm-0"
114-
href="{% url 'two_factor:login' %}?next={% url 'dashboard:home' %}">Entrar</a>
115-
{% endif %}
116-
</div>
117-
</nav>
103+
</li>
104+
</ul>
105+
{% else %}
106+
<a class="btn btn-light my-2 my-sm-0"
107+
href="{% url 'two_factor:login' %}?next={% url 'dashboard:home' %}">Entrar</a>
108+
{% endif %}
109+
</div>
110+
</nav>
118111
{% endblock navbar %}
119112
{% block body %}{% endblock body %}
120113

121114
{% block footer %}
122-
<footer class="main-footer text-light">
123-
<div class="container">
124-
<div class="row">
125-
<div class="col">
126-
<h3 class="mt-3">Entre em contato</h3>
127-
<address class="main-address">
128-
+55 84 99464-4699<br/>
129-
{{ DEFAULT_FROM_EMAIL }}
130-
</address>
131-
</div>
132-
</div>
133-
</div>
134-
<div class="rights pt-1">
115+
<footer class="main-footer text-light">
135116
<div class="container">
136117
<div class="row">
137118
<div class="col">
138-
<p>Python Pro © {% now "Y" %}. Todos os direitos reservados. CNPJ: 31.080.715/0001-25</p>
119+
<h3 class="mt-3">Entre em contato</h3>
120+
<address class="main-address">
121+
+55 84 99464-4699<br/>
122+
{{ DEFAULT_FROM_EMAIL }}
123+
</address>
124+
</div>
125+
</div>
126+
</div>
127+
<div class="rights pt-1">
128+
<div class="container">
129+
<div class="row">
130+
<div class="col">
131+
<p>Python Pro © {% now "Y" %}. Todos os direitos reservados. CNPJ: 31.080.715/0001-25</p>
132+
</div>
139133
</div>
140134
</div>
141135
</div>
142-
</div>
143-
</footer>
136+
</footer>
144137
{% endblock footer %}
145138

146139
{% block bottom_scripts %}{% endblock %}

pythonpro/modules/templates/modules/module_index.html

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% extends 'core/base.html' %}
22
{% load static %}
3-
3+
{% load permission_tags %}
44
{% block title %}Módulos do Curso Python Pro{% endblock %}
55
{% block description %}Listagem de todos os 7 cursos que compõem o curso Python Pro visando a formação profissional dos
66
alunos{% endblock %}
@@ -22,11 +22,41 @@ <h5 class="card-title">Objetivo</h5>
2222
<a href="{% url 'modules:description' slug=module.slug %}" class="btn btn-secondary">Saiba
2323
Mais</a>
2424
{% if module.title == 'Python Birds' %}
25-
<a href="{% url 'core:lead_landing' %}" class="btn btn-success"> Eu quero!</a>
26-
{% elif module.title == 'PyTools' or module.title == 'Django' %}
27-
<a href="{% url 'checkout:webdev_landing_page' %}" class="btn btn-success"> Comprar</a>
25+
{% if user|has_role:'lead,client,webdev,bootcamper,pythonista,member' %}
26+
<a href="{{ module.get_absolute_url }}" class="btn btn-success"> Acessar</a>
27+
{% else %}
28+
<a href="{% url 'core:lead_landing' %}" class="btn btn-success"> Eu quero!</a>
29+
{% endif %}
30+
{% elif module.title == 'PyTools' %}
31+
{% if user|has_role:'client,webdev,bootcamper,member' %}
32+
<a href="{{ module.get_absolute_url }}" class="btn btn-success">
33+
Acessar</a>
34+
{% else %}
35+
<a href="{% url 'checkout:webdev_landing_page' %}" class="btn btn-success">
36+
Comprar</a>
37+
{% endif %}
38+
{% elif module.title == 'Django' %}
39+
{% if user|has_role:'webdev,bootcamper,member' %}
40+
<a href="{{ module.get_absolute_url }}" class="btn btn-success">
41+
Acessar</a>
42+
{% else %}
43+
<a href="{% url 'checkout:webdev_landing_page' %}" class="btn btn-success">
44+
Comprar</a>
45+
{% endif %}
46+
{% elif module.title == 'Entrevistas Técnicas' %}
47+
{% if user|has_role:'bootcamper,member' %}
48+
<a href="{{ module.get_absolute_url }}" class="btn btn-success">
49+
Acessar</a>
50+
{% else %}
51+
<a href="{% url 'checkout:webdev_landing_page' %}" class="btn btn-success">
52+
Comprar</a>
53+
{% endif %}
2854
{% else %}
29-
<a href="{% url 'checkout:bootcamp_lp' %}" class="btn btn-success"> Comprar</a>
55+
{% if user|has_role:'pythonista,member' %}
56+
<a href="{{ module.get_absolute_url }}" class="btn btn-success"> Acessar</a>
57+
{% else %}
58+
<a href="{% url 'checkout:bootcamp_lp' %}" class="btn btn-success"> Comprar</a>
59+
{% endif %}
3060
{% endif %}
3161
</div>
3262
</div>

pythonpro/modules/tests/test_module_detail_view.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def test_member_has_no_automation_button(client_with_member, modules, python_bir
6363
'Aprofundar o conhecimento de Orientação a Objetos tendo em vista as peculiaridade do Python.',
6464
'Alunos que conhecem OO e estão começando com Python ou que já usam a linguagem no dia-a-dia, mas querem '
6565
'aperfeiçoar o modo pythônico de programar.',
66-
'Python Birds',
6766
'Aprofundamento no conhecimento da linguagem: tipagem dinâmica, protocolos versus interfaces, '
6867
'classes abstratas, herança múltipla e sobrecarga de operadores são alguns dos temas cobertos.',
6968
# reverse('modules:detail', kwargs={'slug': 'python-birds'}),

pythonpro/modules/tests/test_module_index_view.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,9 @@ def test_module_link_not_logged(modules, resp_not_logged):
5151

5252

5353
def test_module_index_link_logged(resp):
54-
""" Assert module index link is not present when user is logged """
54+
""" Assert module index link is present when user is logged """
5555
url = reverse('modules:index')
56-
dj_assert_not_contains(resp, f'href="{url}"')
57-
58-
59-
def test_module_link_logged(modules, resp):
60-
""" Assert module links are present when user is logged """
61-
for module in modules:
62-
dj_assert_contains(resp, f'href="{module.get_absolute_url()}"')
56+
dj_assert_contains(resp, f'href="{url}"')
6357

6458

6559
def test_present_attrs(modules, resp_not_logged):

0 commit comments

Comments
 (0)