Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-wiki
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenEdx
django-wiki
Commits
0cb2ca2c
Commit
0cb2ca2c
authored
Aug 15, 2013
by
benjaoming
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #188 from yedpodtrzitko/master
create root as a class-based view
parents
9528bf71
10a44575
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
24 deletions
+30
-24
wiki/templates/wiki/create_root.html
+1
-1
wiki/urls.py
+2
-2
wiki/views/article.py
+27
-21
No files found.
wiki/templates/wiki/create_root.html
View file @
0cb2ca2c
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<h2
class=
"page-header"
>
{% trans "Root article" %}
</h2>
<h2
class=
"page-header"
>
{% trans "Root article" %}
</h2>
<form
method=
"POST"
class=
"form-horizontal"
>
<form
method=
"POST"
class=
"form-horizontal"
>
{% wiki_form
create_
form %}
{% wiki_form form %}
<div
class=
"form-group form-actions"
>
<div
class=
"form-group form-actions"
>
<div
class=
"col-lg-2"
></div>
<div
class=
"col-lg-2"
></div>
<div
class=
"col-lg-10"
>
<div
class=
"col-lg-10"
>
...
...
wiki/urls.py
View file @
0cb2ca2c
...
@@ -6,6 +6,7 @@ from wiki.core.plugins import registry
...
@@ -6,6 +6,7 @@ from wiki.core.plugins import registry
from
wiki.views
import
article
,
accounts
from
wiki.views
import
article
,
accounts
from
wiki.core.utils
import
get_class_from_str
from
wiki.core.utils
import
get_class_from_str
class
WikiURLPatterns
(
object
):
class
WikiURLPatterns
(
object
):
'''
'''
configurator for wiki urls.
configurator for wiki urls.
...
@@ -30,7 +31,6 @@ class WikiURLPatterns(object):
...
@@ -30,7 +31,6 @@ class WikiURLPatterns(object):
revision_change_view
=
'wiki.views.article.change_revision'
revision_change_view
=
'wiki.views.article.change_revision'
revision_merge_view
=
'wiki.views.article.merge'
revision_merge_view
=
'wiki.views.article.merge'
create_root
=
'wiki.views.article.root_create'
search_view_class
=
settings
.
SEARCH_VIEW
search_view_class
=
settings
.
SEARCH_VIEW
article_diff_view
=
'wiki.views.article.diff'
article_diff_view
=
'wiki.views.article.diff'
...
@@ -54,7 +54,7 @@ class WikiURLPatterns(object):
...
@@ -54,7 +54,7 @@ class WikiURLPatterns(object):
def
get_root_urls
(
self
):
def
get_root_urls
(
self
):
urlpatterns
=
patterns
(
''
,
urlpatterns
=
patterns
(
''
,
url
(
'^$'
,
self
.
article_view_class
.
as_view
(),
name
=
'root'
,
kwargs
=
{
'path'
:
''
}),
url
(
'^$'
,
self
.
article_view_class
.
as_view
(),
name
=
'root'
,
kwargs
=
{
'path'
:
''
}),
url
(
'^create-root/$'
,
self
.
create_root
,
name
=
'root_create'
),
url
(
'^create-root/$'
,
article
.
CreateRootView
.
as_view
()
,
name
=
'root_create'
),
url
(
'^_search/$'
,
get_class_from_str
(
self
.
search_view_class
)
.
as_view
(),
name
=
'search'
),
url
(
'^_search/$'
,
get_class_from_str
(
self
.
search_view_class
)
.
as_view
(),
name
=
'search'
),
url
(
'^_revision/diff/(?P<revision_id>
\
d+)/$'
,
self
.
article_diff_view
,
name
=
'diff'
),
url
(
'^_revision/diff/(?P<revision_id>
\
d+)/$'
,
self
.
article_diff_view
,
name
=
'diff'
),
)
)
...
...
wiki/views/article.py
View file @
0cb2ca2c
...
@@ -702,31 +702,37 @@ def merge(request, article, revision_id, urlpath=None, template_file="wiki/previ
...
@@ -702,31 +702,37 @@ def merge(request, article, revision_id, urlpath=None, template_file="wiki/previ
'content'
:
content
})
'content'
:
content
})
return
render_to_response
(
template_file
,
context_instance
=
c
)
return
render_to_response
(
template_file
,
context_instance
=
c
)
# TODO: Should be a class-based view
def
root_create
(
request
):
class
CreateRootView
(
FormView
):
form_class
=
forms
.
CreateRootForm
template_name
=
'wiki/create_root.html'
def
dispatch
(
self
,
request
,
*
args
,
**
kwargs
):
if
not
request
.
user
.
is_superuser
:
return
redirect
(
settings
.
LOGIN_URL
+
"?next="
+
reverse
(
"wiki:root_create"
))
try
:
try
:
root
=
models
.
URLPath
.
root
()
root
=
models
.
URLPath
.
root
()
if
not
root
.
article
:
# TODO: This is too dangerous... let's say there is no root.article and we end up here,
# then it might cascade to delete a lot of things on an existing installation.... / benjaoming
root
.
delete
()
raise
NoRootURL
return
redirect
(
'wiki:get'
,
path
=
root
.
path
)
except
NoRootURL
:
except
NoRootURL
:
pass
pass
if
not
request
.
user
.
is_superuser
:
return
redirect
(
settings
.
LOGIN_URL
+
"?next="
+
reverse
(
"wiki:root_create"
))
if
request
.
method
==
'POST'
:
create_form
=
forms
.
CreateRootForm
(
request
.
POST
)
if
create_form
.
is_valid
():
models
.
URLPath
.
create_root
(
title
=
create_form
.
cleaned_data
[
"title"
],
content
=
create_form
.
cleaned_data
[
"content"
],
request
=
request
)
return
redirect
(
"wiki:root"
)
else
:
else
:
create_form
=
forms
.
CreateRootForm
()
if
root
.
article
:
return
redirect
(
'wiki:get'
,
path
=
root
.
path
)
# TODO: This is too dangerous... let's say there is no root.article and we end up here,
# then it might cascade to delete a lot of things on an existing installation.... / benjaoming
root
.
delete
()
return
super
(
CreateRootView
,
self
)
.
dispatch
(
request
,
*
args
,
**
kwargs
)
c
=
RequestContext
(
request
,
{
'create_form'
:
create_form
,
def
form_valid
(
self
,
form
):
'editor'
:
editors
.
getEditor
(),})
models
.
URLPath
.
create_root
(
return
render_to_response
(
"wiki/create_root.html"
,
context_instance
=
c
)
title
=
form
.
cleaned_data
[
"title"
],
content
=
form
.
cleaned_data
[
"content"
],
request
=
self
.
request
)
return
redirect
(
"wiki:root"
)
def
get_context_data
(
self
,
**
kwargs
):
data
=
super
(
CreateRootView
,
self
)
.
get_context_data
(
**
kwargs
)
data
[
'editor'
]
=
editors
.
getEditor
()
return
data
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