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
a756d99c
Commit
a756d99c
authored
Jul 22, 2014
by
Justin Riley
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
module_tree_reset: remove deprecated view
...will be reimplemented in Proctor xmodule soon.
parent
3837e4ee
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
107 deletions
+3
-107
lms/djangoapps/courseware/module_tree_reset.py
+3
-107
No files found.
lms/djangoapps/courseware/module_tree_reset.py
View file @
a756d99c
import
json
import
datetime
import
logging
import
datetime
from
collections
import
OrderedDict
import
pytz
from
django.contrib.auth.models
import
User
from
courseware.models
import
StudentModule
from
edxmako.shortcuts
import
render_to_response
from
xmodule.modulestore
import
Location
from
courseware.models
import
StudentModule
from
xmodule.modulestore.django
import
modulestore
from
instructor.offline_gradecalc
import
student_grades
from
django.http
import
HttpResponse
from
django.contrib.auth.models
import
User
log
=
logging
.
getLogger
(
"mitx.module_tree_reset"
)
...
...
@@ -341,105 +339,3 @@ class ProctorModuleInfo(object):
log
.
exception
(
"Failed to do reset of
%
s for
%
s"
%
(
f
[
'assignment'
],
student
))
return
failed
def
getip
(
request
):
"""
Extract IP address of requester from header, even if behind proxy
"""
ip
=
request
.
META
.
get
(
'HTTP_X_REAL_IP'
,
''
)
# nginx reverse proxy
if
not
ip
:
ip
=
request
.
META
.
get
(
'REMOTE_ADDR'
,
'None'
)
return
ip
ALLOWED_IPS
=
[
'173.48.139.155'
,
'10.152.159.162'
,
'54.235.195.90'
]
# ALLOWED_IPS = [ ]
ALLOWED_STAFF
=
'staff_MITx/3.091r-exam/2013_Fall_residential_exam'
def
index
(
request
):
ip
=
getip
(
request
)
if
ip
not
in
ALLOWED_IPS
:
if
request
.
user
and
request
.
user
.
is_staff
and
False
:
log
.
debug
(
'request allowed because user=
%
s is staff'
%
request
.
user
)
elif
request
.
user
is
not
None
and
request
.
user
:
groups
=
[
g
.
name
for
g
in
request
.
user
.
groups
.
all
()]
if
ALLOWED_STAFF
in
groups
:
log
.
debug
(
'request allowed because user=
%
s is in group
%
s'
%
(
request
.
user
,
ALLOWED_STAFF
))
else
:
log
.
debug
(
'request denied, user=
%
s, groups
%
s'
%
(
request
.
user
,
groups
))
# return HttpResponse('permission denied', status=403)
else
:
log
.
debug
(
'request denied, user=
%
s, groups
%
s'
%
(
request
.
user
,
groups
))
# return HttpResponse('permission denied', status=403)
else
:
log
.
debug
(
'request allowed, in ALLOWED_IPS'
)
username
=
request
.
GET
.
get
(
'username'
)
try
:
student
=
User
.
objects
.
get
(
username
=
username
)
except
User
.
DoesNotExist
:
return
HttpResponse
(
json
.
dumps
({
'msg'
:
'User does not exist'
,
'error'
:
True
}))
cmd
=
request
.
GET
.
get
(
'cmd'
)
if
cmd
==
'reset'
:
location
=
request
.
GET
.
get
(
'location'
)
# e.g. proctor/Assessment_2
location
=
location
.
replace
(
' '
,
'_'
)
ms
=
modulestore
()
pmod
=
ms
.
get_item
(
'i4x://MITx/3.091r-exam/proctor/
%
s'
%
location
)
tnset
=
TreeNodeSet
(
pmod
,
ms
,
student
)
s
=
''
for
r
in
tnset
.
rset
+
tnset
.
pset
:
s
+=
str
(
r
)
+
'
\n
'
# msg = tnset.reset_randomization()
tnset
.
reset_randomization
()
# return render_to_response("module_tree_reset.html",
# {'status': s, 'msg': msg})
# cmd = 'grades'
cmd
=
'status'
if
cmd
==
'status'
:
try
:
pminfo
=
ProctorModuleInfo
()
status
=
pminfo
.
get_student_status
(
student
)
except
Exception
as
err
:
log
.
exception
(
"Failed to get status for
%
s"
%
student
)
return
HttpResponse
(
json
.
dumps
(
{
'msg'
:
'Error getting grades for
%
s'
%
student
,
'error'
:
True
,
'errstr'
:
str
(
err
)}))
return
HttpResponse
(
json
.
dumps
(
status
))
if
cmd
==
'grades'
:
# from instructor.offline_gradecalc import student_grades
ms
=
modulestore
()
course
=
ms
.
get_item
(
'i4x://MITx/3.091r-exam/course/2013_Fall_residential_exam'
)
try
:
gradeset
=
student_grades
(
student
,
request
,
course
,
keep_raw_scores
=
False
,
use_offline
=
False
)
except
Exception
as
err
:
log
.
exception
(
"Failed to get grades for
%
s"
%
student
)
return
HttpResponse
(
json
.
dumps
(
{
'msg'
:
'Error getting grades for
%
s'
%
student
,
'error'
:
True
}))
grades
=
gradeset
[
'totaled_scores'
]
grades
[
'student_id'
]
=
student
.
id
return
HttpResponse
(
json
.
dumps
(
grades
))
return
render_to_response
(
"module_tree_reset.html"
,
{
'status'
:
'unknown command'
,
'msg'
:
''
})
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