Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
AE
Sith
Commits
18115a0d
Commit
18115a0d
authored
Nov 24, 2015
by
Skia
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Put view into a module
parent
ebcdcf42
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
201 additions
and
3 deletions
+201
-3
core/tests.py
core/tests.py
+2
-2
core/views/__init__.py
core/views/__init__.py
+3
-0
core/views/forms.py
core/views/forms.py
+1
-1
core/views/page.py
core/views/page.py
+88
-0
core/views/site.py
core/views/site.py
+19
-0
core/views/user.py
core/views/user.py
+88
-0
No files found.
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
Markdown
is supported
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