Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ares
re2o-ares-admin
Commits
915eb3e3
Commit
915eb3e3
authored
Jul 20, 2016
by
chirac
Browse files
Vue pour mot de passe oublié
parent
60fae5af
Changes
5
Hide whitespace changes
Inline
Side-by-side
templates/registration/login.html
View file @
915eb3e3
...
...
@@ -19,14 +19,12 @@
{% endif %}
{% endif %}
<form
method=
"post"
action=
"{% url 'django.contrib.auth.views.login' %}"
>
<p>
<form
method=
"post"
action=
"{% url 'django.contrib.auth.views.login' %}"
>
{% csrf_token %}
{% bootstrap_form form %}
{% bootstrap_button "Login" button_type="submit" icon="log-in" %}
<input
type=
"hidden"
name=
"next"
value=
"{{ next }}"
/>
</form>
{# Assumes you setup the password_reset view in your URLconf #}
{#
<p><a
href=
"{% url 'password_reset' %}"
>
Lost password?
</a></p>
#}
</form></p>
<p><a
class=
"btn btn-warning btn-sm"
role=
"button"
href=
"{% url 'users:reset-password' %}"
>
Mot de passe oublié ?
</a></p>
{% endblock %}
users/forms.py
View file @
915eb3e3
...
...
@@ -70,3 +70,7 @@ class UserChangeForm(forms.ModelForm):
if
commit
:
user
.
save
()
return
user
class
ResetPasswordForm
(
forms
.
Form
):
pseudo
=
forms
.
CharField
(
label
=
u
'Pseudo'
,
max_length
=
255
)
email
=
forms
.
EmailField
(
max_length
=
255
)
users/models.py
View file @
915eb3e3
...
...
@@ -322,7 +322,6 @@ class UserForm(InfoForm):
class
Meta
(
InfoForm
.
Meta
):
fields
=
'__all__'
class
PasswordForm
(
ModelForm
):
class
Meta
:
model
=
User
...
...
users/urls.py
View file @
915eb3e3
...
...
@@ -22,6 +22,7 @@ urlpatterns = [
url
(
r
'^index_school/$'
,
views
.
index_school
,
name
=
'index-school'
),
url
(
r
'^mon_profil/$'
,
views
.
mon_profil
,
name
=
'mon-profil'
),
url
(
r
'^process/(?P<token>[a-z0-9]{32})/$'
,
views
.
process
,
name
=
'process'
),
url
(
r
'^reset_password/$'
,
views
.
reset_password
,
name
=
'reset-password'
),
url
(
r
'^$'
,
views
.
index
,
name
=
'index'
),
]
...
...
users/views.py
View file @
915eb3e3
...
...
@@ -17,7 +17,7 @@ from users.models import DelRightForm, BanForm, WhitelistForm, DelSchoolForm
from
users.models
import
InfoForm
,
BaseInfoForm
,
StateForm
,
RightForm
,
SchoolForm
from
cotisations.models
import
Facture
from
machines.models
import
Machine
,
Interface
from
users.forms
import
PassForm
from
users.forms
import
PassForm
,
ResetPasswordForm
from
machines.views
import
unassign_ips
,
assign_ips
from
re2o.login
import
hashNT
...
...
@@ -352,6 +352,23 @@ def profil(request, userid):
}
)
def
reset_password
(
request
):
userform
=
ResetPasswordForm
(
request
.
POST
or
None
)
if
userform
.
is_valid
():
try
:
user
=
User
.
objects
.
get
(
pseudo
=
userform
.
cleaned_data
[
'pseudo'
],
email
=
userform
.
cleaned_data
[
'email'
])
except
User
.
DoesNotExist
:
messages
.
error
(
request
,
"Cet utilisateur n'existe pas"
)
return
form
({
'userform'
:
userform
},
'users/user.html'
,
request
)
req
=
Request
()
req
.
type
=
Request
.
PASSWD
req
.
user
=
user
req
.
save
()
reset_passwd_mail
(
req
,
request
)
messages
.
success
(
request
,
"Un mail pour l'initialisation du mot de passe a été envoyé"
)
redirect
(
"/"
)
return
form
({
'userform'
:
userform
},
'users/user.html'
,
request
)
def
process
(
request
,
token
):
valid_reqs
=
Request
.
objects
.
filter
(
expires_at__gt
=
timezone
.
now
())
req
=
get_object_or_404
(
valid_reqs
,
token
=
token
)
...
...
@@ -361,7 +378,8 @@ def process(request, token):
elif
req
.
type
==
Request
.
EMAIL
:
return
process_email
(
request
,
req
=
req
)
else
:
return
error
(
request
,
'Entrée incorrecte, contactez un admin'
)
messages
.
error
(
request
,
"Entrée incorrecte, contactez un admin"
)
redirect
(
"/"
)
def
process_passwd
(
request
,
req
):
u_form
=
PassForm
(
request
.
POST
or
None
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment