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
AE UTBM
Sith
Commits
18115a0d
Commit
18115a0d
authored
Nov 24, 2015
by
Skia
Browse files
Put view into a module
parent
ebcdcf42
Changes
6
Hide whitespace changes
Inline
Side-by-side
core/tests.py
View file @
18115a0d
...
...
@@ -2,8 +2,8 @@ from django.test import SimpleTestCase, Client
from
django.core.urlresolvers
import
reverse
from
django.contrib.auth.models
import
Group
from
.models
import
User
from
.forms
import
RegisteringForm
,
LoginForm
from
core
.models
import
User
from
core.views
.forms
import
RegisteringForm
,
LoginForm
class
UserRegistrationTest
(
SimpleTestCase
):
def
setUp
(
self
):
...
...
core/views/__init__.py
0 → 100644
View file @
18115a0d
from
.user
import
*
from
.page
import
*
from
.site
import
*
core/forms.py
→
core/
views/
forms.py
View file @
18115a0d
...
...
@@ -3,7 +3,7 @@ from django import forms
from
django.contrib.auth
import
logout
,
login
,
authenticate
import
logging
from
.models
import
User
,
Page
from
core
.models
import
User
,
Page
class
RegisteringForm
(
UserCreationForm
):
error_css_class
=
'error'
...
...
core/views.py
→
core/views
/page
.py
View file @
18115a0d
# This file contains all the views that concern the page model
from
django.shortcuts
import
render
,
redirect
,
get_object_or_404
from
django.http
import
HttpResponse
from
django.contrib.auth
import
logout
as
auth_logout
from
django.db
import
models
from
django.contrib.auth.forms
import
PasswordChangeForm
from
.models
import
User
,
Page
from
.forms
import
RegisteringForm
,
LoginForm
,
UserEditForm
,
PageEditForm
,
PagePropForm
import
logging
logging
.
basicConfig
(
level
=
logging
.
DEBUG
)
# This is a global default context that can be used everywhere and provide default basic values
# It needs to be completed by every function using templates
#context = {'title': 'Bienvenue!',
# 'tests': '',
# }
def
index
(
request
,
context
=
None
):
if
context
==
None
:
return
render
(
request
,
"core/index.html"
,
{
'title'
:
'Bienvenue!'
})
else
:
return
render
(
request
,
"core/index.html"
,
context
)
def
register
(
request
):
context
=
{
'title'
:
'Register a user'
}
if
request
.
method
==
'POST'
:
form
=
RegisteringForm
(
request
.
POST
)
if
form
.
is_valid
():
logging
.
debug
(
"Registering "
+
form
.
cleaned_data
[
'first_name'
]
+
form
.
cleaned_data
[
'last_name'
])
u
=
form
.
save
()
context
[
'user_registered'
]
=
u
context
[
'tests'
]
=
'TEST_REGISTER_USER_FORM_OK'
form
=
RegisteringForm
()
else
:
context
[
'error'
]
=
'Erreur'
context
[
'tests'
]
=
'TEST_REGISTER_USER_FORM_FAIL'
else
:
form
=
RegisteringForm
()
context
[
'form'
]
=
form
.
as_p
()
return
render
(
request
,
"core/register.html"
,
context
)
def
login
(
request
):
"""
The login view
Needs to be improve with correct handling of form exceptions
"""
context
=
{
'title'
:
'Login'
}
if
request
.
method
==
'POST'
:
try
:
form
=
LoginForm
(
request
)
form
.
login
()
context
[
'tests'
]
=
'LOGIN_OK'
return
render
(
request
,
'core/index.html'
,
context
)
except
Exception
as
e
:
logging
.
debug
(
e
)
context
[
'error'
]
=
"Login failed"
context
[
'tests'
]
=
'LOGIN_FAIL'
else
:
form
=
LoginForm
()
context
[
'form'
]
=
form
.
as_p
()
return
render
(
request
,
"core/login.html"
,
context
)
def
logout
(
request
):
"""
The logout view
"""
auth_logout
(
request
)
return
redirect
(
'core:index'
)
def
user
(
request
,
user_id
=
None
):
"""
Display a user's profile
"""
context
=
{
'title'
:
'View a user'
}
if
user_id
==
None
:
context
[
'user_list'
]
=
User
.
objects
.
all
return
render
(
request
,
"core/user.html"
,
context
)
context
[
'profile'
]
=
get_object_or_404
(
User
,
pk
=
user_id
)
return
render
(
request
,
"core/user.html"
,
context
)
def
user_edit
(
request
,
user_id
=
None
):
"""
This view allows a user, or the allowed users to modify a profile
"""
user_id
=
int
(
user_id
)
context
=
{
'title'
:
'Edit a user'
}
if
user_id
is
not
None
:
user_id
=
int
(
user_id
)
if
request
.
user
.
is_authenticated
()
and
(
request
.
user
.
pk
==
user_id
or
request
.
user
.
is_superuser
):
p
=
get_object_or_404
(
User
,
pk
=
user_id
)
if
request
.
method
==
'POST'
:
f
=
UserEditForm
(
request
.
POST
,
instance
=
p
)
# Saving user
if
f
.
is_valid
():
f
.
save
()
context
[
'tests'
]
=
"USER_SAVED"
else
:
context
[
'tests'
]
=
"USER_NOT_SAVED"
else
:
f
=
UserEditForm
(
instance
=
p
)
context
[
'profile'
]
=
p
context
[
'user_form'
]
=
f
.
as_p
()
return
render
(
request
,
"core/edit_user.html"
,
context
)
return
user
(
request
,
user_id
)
from
core.models
import
Page
from
core.views.forms
import
PageEditForm
,
PagePropForm
def
page
(
request
,
page_name
=
None
):
"""
...
...
core/views/site.py
0 → 100644
View file @
18115a0d
from
django.shortcuts
import
render
,
redirect
,
get_object_or_404
from
django.http
import
HttpResponse
from
django.contrib.auth
import
logout
as
auth_logout
from
django.db
import
models
from
django.contrib.auth.forms
import
PasswordChangeForm
from
core.models
import
User
,
Page
from
core.views.forms
import
RegisteringForm
,
LoginForm
,
UserEditForm
,
PageEditForm
,
PagePropForm
import
logging
logging
.
basicConfig
(
level
=
logging
.
DEBUG
)
def
index
(
request
,
context
=
None
):
if
context
==
None
:
return
render
(
request
,
"core/index.html"
,
{
'title'
:
'Bienvenue!'
})
else
:
return
render
(
request
,
"core/index.html"
,
context
)
core/views/user.py
0 → 100644
View file @
18115a0d
# This file contains all the views that concern the user model
from
django.shortcuts
import
render
,
redirect
,
get_object_or_404
import
logging
from
core.views.forms
import
RegisteringForm
,
LoginForm
def
register
(
request
):
context
=
{
'title'
:
'Register a user'
}
if
request
.
method
==
'POST'
:
form
=
RegisteringForm
(
request
.
POST
)
if
form
.
is_valid
():
logging
.
debug
(
"Registering "
+
form
.
cleaned_data
[
'first_name'
]
+
form
.
cleaned_data
[
'last_name'
])
u
=
form
.
save
()
context
[
'user_registered'
]
=
u
context
[
'tests'
]
=
'TEST_REGISTER_USER_FORM_OK'
form
=
RegisteringForm
()
else
:
context
[
'error'
]
=
'Erreur'
context
[
'tests'
]
=
'TEST_REGISTER_USER_FORM_FAIL'
else
:
form
=
RegisteringForm
()
context
[
'form'
]
=
form
.
as_p
()
return
render
(
request
,
"core/register.html"
,
context
)
def
login
(
request
):
"""
The login view
Needs to be improve with correct handling of form exceptions
"""
context
=
{
'title'
:
'Login'
}
if
request
.
method
==
'POST'
:
try
:
form
=
LoginForm
(
request
)
form
.
login
()
context
[
'tests'
]
=
'LOGIN_OK'
return
render
(
request
,
'core/index.html'
,
context
)
except
Exception
as
e
:
logging
.
debug
(
e
)
context
[
'error'
]
=
"Login failed"
context
[
'tests'
]
=
'LOGIN_FAIL'
else
:
form
=
LoginForm
()
context
[
'form'
]
=
form
.
as_p
()
return
render
(
request
,
"core/login.html"
,
context
)
def
logout
(
request
):
"""
The logout view
"""
auth_logout
(
request
)
return
redirect
(
'core:index'
)
def
user
(
request
,
user_id
=
None
):
"""
Display a user's profile
"""
context
=
{
'title'
:
'View a user'
}
if
user_id
==
None
:
context
[
'user_list'
]
=
User
.
objects
.
all
return
render
(
request
,
"core/user.html"
,
context
)
context
[
'profile'
]
=
get_object_or_404
(
User
,
pk
=
user_id
)
return
render
(
request
,
"core/user.html"
,
context
)
def
user_edit
(
request
,
user_id
=
None
):
"""
This view allows a user, or the allowed users to modify a profile
"""
user_id
=
int
(
user_id
)
context
=
{
'title'
:
'Edit a user'
}
if
user_id
is
not
None
:
user_id
=
int
(
user_id
)
if
request
.
user
.
is_authenticated
()
and
(
request
.
user
.
pk
==
user_id
or
request
.
user
.
is_superuser
):
p
=
get_object_or_404
(
User
,
pk
=
user_id
)
if
request
.
method
==
'POST'
:
f
=
UserEditForm
(
request
.
POST
,
instance
=
p
)
# Saving user
if
f
.
is_valid
():
f
.
save
()
context
[
'tests'
]
=
"USER_SAVED"
else
:
context
[
'tests'
]
=
"USER_NOT_SAVED"
else
:
f
=
UserEditForm
(
instance
=
p
)
context
[
'profile'
]
=
p
context
[
'user_form'
]
=
f
.
as_p
()
return
render
(
request
,
"core/edit_user.html"
,
context
)
return
user
(
request
,
user_id
)
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