Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
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
edx
edx-platform
Commits
7e640e39
Commit
7e640e39
authored
Mar 06, 2012
by
Bridger Maxwell
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
ccacc90c
84471d17
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
16 deletions
+52
-16
courseware/views.py
+7
-9
simplewiki/models.py
+10
-3
simplewiki/urls.py
+1
-0
simplewiki/views.py
+34
-4
No files found.
courseware/views.py
View file @
7e640e39
...
...
@@ -127,7 +127,7 @@ def profile(request):
subtitle
=
s
.
get
(
'subtitle'
)
if
s
.
get
(
'subtitle'
)
else
format
if
format
and
graded_total
[
1
]
>
0
:
format_scores
=
total_scores
[
format
]
if
format
in
total_scores
else
[]
format_scores
.
append
(
graded_total
)
format_scores
.
append
(
graded_total
+
(
s
.
get
(
"name"
),)
)
total_scores
[
format
]
=
format_scores
score
=
{
'section'
:
s
.
get
(
"name"
),
...
...
@@ -165,18 +165,17 @@ def profile(request):
for
i
in
range
(
12
):
if
i
<
len
(
homework_scores
):
percentage
=
homework_scores
[
i
][
0
]
/
float
(
homework_scores
[
i
][
1
])
summary
=
"
{0:.0
%
} ({1:g}/{2:g})"
.
format
(
percentage
,
homework_scores
[
i
][
0
],
homework_scores
[
i
][
1
]
)
summary
=
"
Homework {0} - {1} - {2:.0
%
} ({3:g}/{4:g})"
.
format
(
i
+
1
,
homework_scores
[
i
][
2
]
,
percentage
,
homework_scores
[
i
][
0
],
homework_scores
[
i
][
1
]
)
else
:
percentage
=
0
summary
=
"
0
%
(?/?)"
summary
=
"
Unreleased Homework {0} - 0
%
(?/?)"
.
format
(
i
+
1
)
if
settings
.
GENERATE_PROFILE_SCORES
:
points_possible
=
random
.
randrange
(
10
,
50
)
points_earned
=
random
.
randrange
(
5
,
points_possible
)
percentage
=
points_earned
/
float
(
points_possible
)
summary
=
"{0:.0
%
} ({1:g}/{2:g})"
.
format
(
percentage
,
points_earned
,
points_possible
)
summary
=
"
Random Homework -
{0:.0
%
} ({1:g}/{2:g})"
.
format
(
percentage
,
points_earned
,
points_possible
)
summary
=
"Homework {0} - {1}"
.
format
(
i
+
1
,
summary
)
label
=
"HW {0:02d}"
.
format
(
i
+
1
)
homework_percentages
.
append
(
{
'percentage'
:
percentage
,
'summary'
:
summary
,
'label'
:
label
}
)
...
...
@@ -189,18 +188,17 @@ def profile(request):
for
i
in
range
(
12
):
if
i
<
len
(
lab_scores
):
percentage
=
lab_scores
[
i
][
0
]
/
float
(
lab_scores
[
i
][
1
])
summary
=
"
{0:.0
%
} ({1:g}/{2:g})"
.
format
(
percentage
,
lab_scores
[
i
][
0
],
lab_scores
[
i
][
1
]
)
summary
=
"
Lab {0} - {1} - {2:.0
%
} ({3:g}/{4:g})"
.
format
(
i
+
1
,
lab_scores
[
i
][
2
]
,
percentage
,
lab_scores
[
i
][
0
],
lab_scores
[
i
][
1
]
)
else
:
percentage
=
0
summary
=
"
0
%
(?/?)"
summary
=
"
Unreleased Lab {0} - 0
%
(?/?)"
.
format
(
i
+
1
)
if
settings
.
GENERATE_PROFILE_SCORES
:
points_possible
=
random
.
randrange
(
10
,
50
)
points_earned
=
random
.
randrange
(
5
,
points_possible
)
percentage
=
points_earned
/
float
(
points_possible
)
summary
=
"{0:.0
%
} ({1:g}/{2:g})"
.
format
(
percentage
,
points_earned
,
points_possible
)
summary
=
"
Random Lab -
{0:.0
%
} ({1:g}/{2:g})"
.
format
(
percentage
,
points_earned
,
points_possible
)
summary
=
"Lab {0} - {1}"
.
format
(
i
+
1
,
summary
)
label
=
"Lab {0:02d}"
.
format
(
i
+
1
)
lab_percentages
.
append
(
{
'percentage'
:
percentage
,
'summary'
:
summary
,
'label'
:
label
}
)
...
...
simplewiki/models.py
View file @
7e640e39
...
...
@@ -3,6 +3,7 @@ import os
from
django
import
forms
from
django.contrib.auth.models
import
User
from
django.core.cache
import
cache
from
django.core.urlresolvers
import
reverse
from
django.db
import
models
from
django.db.models
import
signals
...
...
@@ -55,10 +56,16 @@ class Article(models.Model):
raise
ShouldHaveExactlyOneRootSlug
()
def
get_url
(
self
):
"""Return the Wiki URL for an article"""
"""Return the Wiki URL for an article"""
url
=
self
.
slug
+
"/"
if
(
self
.
parent
):
url
=
self
.
parent
.
get_url
()
+
url
if
self
.
parent_id
:
parent_url
=
cache
.
get
(
"wiki_url-"
+
str
(
self
.
parent_id
))
if
parent_url
is
None
:
parent_url
=
self
.
parent
.
get_url
()
url
=
parent_url
+
url
cache
.
set
(
"wiki_url-"
+
str
(
self
.
id
),
url
,
60
*
60
)
return
url
...
...
simplewiki/urls.py
View file @
7e640e39
...
...
@@ -9,6 +9,7 @@ urlpatterns = patterns('',
url
(
r'^history(/[a-zA-Z\d/_-]*)/([0-9]*)/?$'
,
'simplewiki.views.history'
,
name
=
'wiki_history'
),
url
(
r'^search_related(/[a-zA-Z\d/_-]*)/?$'
,
'simplewiki.views.search_add_related'
,
name
=
'search_related'
),
url
(
r'^random/?$'
,
'simplewiki.views.random_article'
,
name
=
'wiki_random'
),
url
(
r'^revision_feed/([0-9]*)/?$'
,
'simplewiki.views.revision_feed'
,
name
=
'wiki_revision_feed'
),
url
(
r'^search/?$'
,
'simplewiki.views.search_articles'
,
name
=
'wiki_search_articles'
),
url
(
r'^list/?$'
,
'simplewiki.views.search_articles'
,
name
=
'wiki_list_articles'
),
#Just an alias for the search, but you usually don't submit a search term
# url(r'^/?([a-zA-Z\d/_-]*)/_related/add/$', 'simplewiki.views.add_related', name='add_related'),
...
...
simplewiki/views.py
View file @
7e640e39
...
...
@@ -232,7 +232,7 @@ def history(request, wiki_url, page=1):
except
ValueError
:
p
=
1
history
=
Revision
.
objects
.
filter
(
article__exact
=
article
)
.
order_by
(
'-counter'
)
history
=
Revision
.
objects
.
filter
(
article__exact
=
article
)
.
order_by
(
'-counter'
)
.
select_related
(
'previous_revision__counter'
,
'revision_user'
,
'wiki_article'
)
if
request
.
method
==
'POST'
:
if
request
.
POST
.
__contains__
(
'revision'
):
#They selected a version, but they can be either deleting or changing the version
...
...
@@ -297,6 +297,37 @@ def history(request, wiki_url, page=1):
d
.
update
(
csrf
(
request
))
return
render_to_response
(
'simplewiki_history.html'
,
d
)
def
revision_feed
(
request
,
page
=
1
):
if
not
request
.
user
.
is_superuser
:
return
redirect
(
'/'
)
page_size
=
10
try
:
p
=
int
(
page
)
except
ValueError
:
p
=
1
history
=
Revision
.
objects
.
order_by
(
'-revision_date'
)
.
select_related
(
'revision_user'
,
'article'
,
'previous_revision'
)
page_count
=
(
history
.
count
()
+
(
page_size
-
1
))
/
page_size
if
p
>
page_count
:
p
=
1
beginItem
=
(
p
-
1
)
*
page_size
next_page
=
p
+
1
if
page_count
>
p
else
None
prev_page
=
p
-
1
if
p
>
1
else
None
d
=
{
'wiki_page'
:
p
,
'wiki_next_page'
:
next_page
,
'wiki_prev_page'
:
prev_page
,
'wiki_history'
:
history
[
beginItem
:
beginItem
+
page_size
],
'show_delete_revision'
:
request
.
user
.
is_superuser
,}
d
.
update
(
csrf
(
request
))
return
render_to_response
(
'simplewiki_revision_feed.html'
,
d
)
def
search_articles
(
request
):
if
not
request
.
user
.
is_authenticated
():
...
...
@@ -333,9 +364,8 @@ def search_articles(request):
results
=
results
.
_search
(
Q
(
current_revision__contents__icontains
=
queryword
)
|
\
Q
(
title__icontains
=
queryword
))
results
.
select_related
(
'current_revision__deleted'
)
print
[(
article
.
title
.
lower
(),
article
.
get_url
())
for
article
in
results
]
results
=
results
.
select_related
(
'current_revision__deleted'
)
results
=
sorted
(
results
,
key
=
lambda
article
:
(
article
.
current_revision
.
deleted
,
article
.
get_url
()
.
lower
())
)
if
len
(
results
)
==
1
and
querystring
:
...
...
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