Skip to content

Commit 59ad986

Browse files
Refatora colab para backend django provisório
1 parent 412ccc2 commit 59ad986

18 files changed

+473
-43
lines changed

src/accounts/forms.py

+49-1
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,57 @@ def __init__(self, *args, **kwargs):
4444

4545

4646
class UserCreationForm(UserForm):
47+
password = forms.CharField(
48+
max_length=128,
49+
widget=forms.PasswordInput())
50+
51+
confirm_password = forms.CharField(
52+
max_length=128,
53+
widget=forms.PasswordInput())
4754
class Meta:
4855
model = User
49-
fields = ('first_name', 'last_name', 'email', 'username')
56+
fields = ('first_name',
57+
'last_name',
58+
'email',
59+
'username',
60+
'password',
61+
'confirm_password')
62+
63+
def clean(self):
64+
super(UserCreationForm, self).clean()
65+
data = self.cleaned_data
66+
67+
username = data.get('username')
68+
69+
if User.objects.filter(username=username).exists():
70+
raise forms.ValidationError(
71+
'Esse nome de usuário já existe.')
72+
73+
if not 'password' in data or not 'confirm_password' in data:
74+
raise forms.ValidationError(
75+
'Preencha os campos de senha')
76+
77+
senha = self.cleaned_data['password']
78+
confirma_senha = self.cleaned_data['confirm_password']
79+
80+
if senha != confirma_senha:
81+
raise forms.ValidationError('As senhas não conferem.')
82+
83+
84+
return self.cleaned_data
85+
86+
def save(self, commit=False):
87+
user = User.objects.create(
88+
first_name=self.cleaned_data['first_name'],
89+
last_name=self.cleaned_data['last_name'],
90+
email=self.cleaned_data['email'],
91+
username=self.cleaned_data['username'])
92+
93+
user.set_password(self.cleaned_data['password'])
94+
95+
user.save()
96+
97+
return user
5098

5199

52100
class UserUpdateForm(UserForm):
+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{% extends "base.html" %}
2+
{% load i18n %}
3+
4+
{% block title %}Login{% endblock %}
5+
6+
{% block main-content %}
7+
<div class="container">
8+
<div class="row">
9+
<div class="col-md-4 col-md-offset-4">
10+
<div class="alert alert-danger" role="alert">
11+
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
12+
Caros usuários, o provedor de autorização Persona será descontinuado ao final de 2016.
13+
<p>Para poder acessar a sua conta novamente, clique <a href="{% url 'password_reset' %}"><b>aqui</b> </a>
14+
e crie uma nova senha.</p>
15+
<p>A equipe Colab agradece!</p>
16+
</div>
17+
<div class="login-panel panel panel-default">
18+
<div class="panel-heading">
19+
<h3 class="panel-title"><center><b>Entrar</b></center></h3>
20+
</div>
21+
<div class="panel-body">
22+
<form id="login-form" method="post" action="{% url 'novo_login' %}">
23+
{% csrf_token %}
24+
25+
<p class="bs-component">
26+
<table>
27+
{% if form.errors %}
28+
<div class="alert alert-danger">Usuário e/ou Senha inválidos.
29+
</div>
30+
31+
{% endif %}
32+
<tr>
33+
<td><b>Usuário</b></td>
34+
<td>{{ form.username }}</td>
35+
</tr>
36+
<tr>
37+
<td><b>Senha</b></td>
38+
<td>{{ form.password }}</td>
39+
</tr>
40+
</table>
41+
</p>
42+
<p class="bs-component">
43+
<center>
44+
<h5><a href="{% url 'password_reset' %}"><center>Esqueceu sua senha?</center></a></h6>
45+
<input class="btn btn-success btn-mm" type="submit" value="LOGIN" />
46+
</center>
47+
</p>
48+
<input type="hidden" name="next" value="{{ next }}" />
49+
</form>
50+
</div>
51+
</div>
52+
</div>
53+
</div>
54+
</div>
55+
56+
57+
{% endblock %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{% extends "base.html" %}
2+
{% load i18n %}
3+
{% block main-content %}
4+
5+
<div class="row">
6+
{% if form.errors %}
7+
<div class="alert alert-danger">
8+
<b>
9+
{% if form.errors.items|length == 1 %}
10+
{% trans "Please correct the error below and try again." %}
11+
{% else %}
12+
{% trans "Please correct the errors below and try again." %}
13+
{% endif %}
14+
</b>
15+
</div>
16+
{% endif %}
17+
</div>
18+
19+
<br>
20+
<form action="" method="post" role="form" class="form-horizontal signup">
21+
{% csrf_token %}
22+
23+
<div class="row">
24+
<div class="col-md-4 col-md-offset-4 col-lg-4 col-lg-offset-4 col-sm-8 col-sm-offset-2 col-xs-12">
25+
<div class="panel panel-default">
26+
<div class="panel-heading"><h3 class="panel-title">{% trans 'Change Password' %}</h3></div>
27+
28+
<div class="panel-body">
29+
<div class="form-group{% if form.old_password.errors %} alert alert-danger has-error{% endif %}">
30+
Nova senha
31+
<input class="form-control" id="id_old_password" maxlength="254" name="old_password" type="password">
32+
{{ form.old_password.errors }}
33+
</div>
34+
35+
<div class="form-group{% if form.new_password1.errors %} alert alert-danger has-error{% endif %}">
36+
{{ form.new_password1.label_tag }}
37+
<input class="form-control" id="id_new_password1" maxlength="254" name="new_password1" type="password">
38+
{{ form.new_password1.errors }}
39+
</div>
40+
41+
<div class="form-group{% if form.new_password2.errors %} alert alert-danger has-error{% endif %}">
42+
{{ form.new_password2.label_tag }}
43+
<input class="form-control" id="id_new_password2" maxlength="254" name="new_password2" type="password">
44+
{{ form.new_password2.errors }}
45+
</div>
46+
47+
</div>
48+
</div>
49+
</div>
50+
</div>
51+
52+
<div class="row">
53+
<div class="submit">
54+
<input type="submit" value="{% trans 'Change my password' %}" class="btn btn-primary btn-lg btn-block">
55+
</div>
56+
<script type="text/javascript">document.getElementById("id_old_password").focus();</script>
57+
</div>
58+
</form>
59+
60+
{% endblock %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{% extends "base.html" %}
2+
3+
{% block pagetitle %}Recuperação de senha concluída{% endblock %}
4+
5+
{% block main-content %}
6+
<p>Sua senha foi modificada com sucesso. <a href="{{ novo_login }}">Clique aqui</a> para fazer o login.</p>
7+
8+
{% endblock %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{% extends "base.html" %}
2+
{% load i18n %}
3+
{% block pagetitle %}{% trans "Criar nova senha" %}{% endblock %}
4+
{% block main-content %}
5+
{% if validlink %}
6+
7+
<div class="row">
8+
{% if form.errors %}
9+
<div class="alert alert-danger">
10+
<b>
11+
{% if form.errors.items|length == 1 %}
12+
{% trans "Por favor, corrija o erro e tente novamente." %}
13+
{% else %}
14+
{% trans "Por favor, corrija os erros e tente novamente." %}
15+
{% endif %}
16+
</b>
17+
</div>
18+
{% endif %}
19+
</div>
20+
21+
<br>
22+
<form action="" method="post" role="form" class="form-horizontal signup">
23+
{% csrf_token %}
24+
25+
<div class="row">
26+
<div class="col-md-4 col-md-offset-4 col-lg-4 col-lg-offset-4 col-sm-8 col-sm-offset-2 col-xs-12">
27+
<div class="panel panel-default">
28+
<div class="panel-heading"><h3 class="panel-title">{% trans 'Modificar Senha' %}</h3></div>
29+
30+
<div class="panel-body">
31+
32+
<div class="form-group{% if form.new_password1.errors %} alert alert-danger has-error{% endif %}">
33+
<b>Senha</b>
34+
<input class="form-control" id="id_new_password1" maxlength="254" name="new_password1" type="password">
35+
{{ form.new_password1.errors }}
36+
</div>
37+
38+
<div class="form-group{% if form.new_password2.errors %} alert alert-danger has-error{% endif %}">
39+
<b>Confirmar Senha</b>
40+
<input class="form-control" id="id_new_password2" maxlength="254" name="new_password2" type="password">
41+
{{ form.new_password2.errors }}
42+
</div>
43+
44+
</div>
45+
</div>
46+
</div>
47+
</div>
48+
49+
<div class="row">
50+
<div class="submit">
51+
<input type="submit" value="{% trans 'Enviar' %}" class="btn btn-primary btn-lg btn-block">
52+
</div>
53+
<script type="text/javascript">document.getElementById("id_new_password1").focus();</script>
54+
</div>
55+
</form>
56+
{% else %}
57+
<h1>A troca de senha não obteve sucesso.</h1>
58+
<p>O link é inválido,
59+
provavelmente ele já foi utilizado. <br />
60+
Por favor, solicite uma nova recuperação de senha.</p>
61+
{% endif %}
62+
63+
{% endblock %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{% extends "base.html" %}
2+
3+
{% block pagetitle %}Recuperação de senha enviada com sucesso{% endblock %}
4+
5+
{% block main-content %}
6+
<p>Nós enviamos as instruções de recuperação de senha para o e-mail informado.</p>
7+
<p>Você deve recebê-lo em breve. Caso não receba, verifique sua caixa de spam.</p>
8+
{% endblock %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{% autoescape off %}
2+
Você está recebendo este e-mail porque requisitou uma troca de senha no site {{ site_name }}.
3+
4+
Por favor, clique no link abaixo e preencha o formulário:
5+
{% block reset_link %}
6+
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
7+
{% endblock %}
8+
9+
Seu nome de usuário, caso tenha esquecido: {{ user.username }}
10+
11+
Obrigado por usar nosso sistema!
12+
13+
Equipe Colab.
14+
15+
{% endautoescape %}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{% extends "base.html" %}
2+
{% load i18n %}
3+
{% block main-content %}
4+
5+
6+
<div class="row">
7+
{% if form.errors %}
8+
<div class="alert alert-danger">
9+
<b>{% trans "Por favor, corrija os campos destacados e tente novamente." %}</b>
10+
</div>
11+
{% endif %}
12+
</div>
13+
14+
<br>
15+
<form action="" method="post" role="form" class="form-horizontal signup">
16+
{% csrf_token %}
17+
18+
<div class="row">
19+
<div class="col-md-4 col-md-offset-4 col-lg-6 col-lg-offset-3 col-sm-8 col-sm-offset-2 col-xs-12">
20+
<div class="panel panel-default">
21+
<div class="panel-heading"><h3 class="panel-title">{{ title }}</h3></div>
22+
<div class="panel-body">
23+
<div class= >{% trans "Esqueceu sua senha? Insira seu endereço de e-mail abaixo, e nós iremos enviar uma mensagem com as instruções para gerar uma nova." %}</div>
24+
<br>
25+
<div class="form-group{% if form.email.errors %} alert alert-danger has-error{% endif %}">
26+
<label>{% trans 'Endereço de e-mail cadastrado:' %}</label>
27+
<input class="form-control" id="id_email" maxlength="254" name="email" type="email">
28+
{{ form.email.errors }}
29+
</div>
30+
</div>
31+
</div>
32+
</div>
33+
</div>
34+
35+
<div class="row">
36+
<div class="submit">
37+
<input class="btn btn-primary btn-lg btn-block" type="submit" value="{% trans 'Recuperar senha' %}" /></p>
38+
</div>
39+
</div>
40+
41+
</form>
42+
43+
{% endblock %}
44+
45+
46+
47+
48+
49+
50+
51+
52+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{% extends "base.html" %}
2+
{% load i18n %}
3+
{% block main-content %}
4+
5+
<div class="row">
6+
{% if form.errors %}
7+
<div class="alert alert-danger">
8+
<b>{% trans "Please correct the errors below and try again." %}</b>
9+
</div>
10+
{% endif %}
11+
</div>
12+
13+
<br>
14+
<form action="" method="post" role="form" class="form-horizontal signup">
15+
{% csrf_token %}
16+
17+
<div class="row">
18+
<div class="col-md-4 col-md-offset-4 col-lg-6 col-lg-offset-3 col-sm-8 col-sm-offset-2 col-xs-12">
19+
<div class="panel panel-default">
20+
<div class="panel-heading"><h3 class="panel-title">{{ title }}</h3></div>
21+
<div class="panel-body">
22+
<div class= >{% trans "Enter your email address below, and we'll resend an email verification." %}</div>
23+
<br>
24+
<div class="form-group{% if form.email.errors %} alert alert-danger has-error{% endif %}">
25+
<label>{% trans 'Email address:' %}</label>
26+
<input class="form-control" id="id_email" maxlength="254" name="email" type="email">
27+
{{ form.email.errors }}
28+
</div>
29+
</div>
30+
</div>
31+
</div>
32+
</div>
33+
34+
<div class="row">
35+
<div class="submit">
36+
<input class="btn btn-primary btn-lg btn-block" type="submit" value="{% trans 'Resend Email' %}" /></p>
37+
</div>
38+
</div>
39+
40+
</form>
41+
42+
{% endblock %}
43+
44+
45+
46+
47+
48+
49+
50+
51+

0 commit comments

Comments
 (0)