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
960ec06f
Commit
960ec06f
authored
Apr 27, 2015
by
Will Daly
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #7775 from edx/will/verification-logging
Add logging for verification and reverification.
parents
b5f58ccf
643fc0e0
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
3 deletions
+52
-3
lms/djangoapps/verify_student/views.py
+52
-3
No files found.
lms/djangoapps/verify_student/views.py
View file @
960ec06f
...
...
@@ -806,6 +806,8 @@ def submit_photos_for_verification(request):
attempt
.
mark_ready
()
attempt
.
submit
()
log
.
info
(
u"Submitted initial verification attempt for user
%
s"
,
request
.
user
.
id
)
account_settings
=
get_account_settings
(
request
.
user
)
# Send a confirmation email to the user
...
...
@@ -1121,21 +1123,32 @@ class InCourseReverifyView(View):
incourse_reverify_enabled
=
InCourseReverificationConfiguration
.
current
()
.
enabled
if
not
incourse_reverify_enabled
:
log
.
error
(
u"In-course reverification is not enabled. "
u"You can enable it in Django admin by setting "
u"InCourseReverificationConfiguration to enabled."
)
raise
Http404
user
=
request
.
user
course_key
=
CourseKey
.
from_string
(
course_id
)
course
=
modulestore
()
.
get_course
(
course_key
)
if
course
is
None
:
log
.
error
(
u"Could not find course
%
s for in-course reverification."
,
course_key
)
raise
Http404
checkpoint
=
VerificationCheckpoint
.
get_verification_checkpoint
(
course_key
,
checkpoint_name
)
if
checkpoint
is
None
:
log
.
error
(
u"No verification checkpoint exists for the "
u"course
%
s and checkpoint name
%
s."
,
course_key
,
checkpoint_name
)
raise
Http404
init_verification
=
SoftwareSecurePhotoVerification
.
get_initial_verification
(
user
)
if
not
init_verification
:
return
redirect
(
reverse
(
'verify_student_verify_later'
,
kwargs
=
{
'course_id'
:
unicode
(
course_key
)})
)
return
self
.
_redirect_no_initial_verification
(
user
,
course_key
)
# emit the reverification event
self
.
_track_reverification_events
(
...
...
@@ -1176,6 +1189,7 @@ class InCourseReverifyView(View):
usage_key
=
UsageKey
.
from_string
(
usage_id
)
.
replace
(
course_key
=
course_key
)
except
InvalidKeyError
:
raise
Http404
(
u"Invalid course_key or usage_key"
)
course
=
modulestore
()
.
get_course
(
course_key
)
checkpoint
=
VerificationCheckpoint
.
get_verification_checkpoint
(
course_key
,
checkpoint_name
)
if
checkpoint
is
None
:
...
...
@@ -1191,10 +1205,10 @@ class InCourseReverifyView(View):
'usage_id'
:
usage_id
}
return
render_to_response
(
"verify_student/incourse_reverify.html"
,
context
)
init_verification
=
SoftwareSecurePhotoVerification
.
get_initial_verification
(
user
)
if
not
init_verification
:
log
.
error
(
"Could not submit verification attempt for user
%
s"
,
request
.
user
.
id
)
return
redirect
(
reverse
(
'verify_student_verify_later'
,
kwargs
=
{
'course_id'
:
unicode
(
course_key
)}))
return
self
.
_redirect_no_initial_verification
(
user
,
course_key
)
try
:
attempt
=
SoftwareSecurePhotoVerification
.
submit_faceimage
(
...
...
@@ -1211,6 +1225,10 @@ class InCourseReverifyView(View):
try
:
redirect_url
=
get_redirect_url
(
course_key
,
usage_key
)
except
(
ItemNotFoundError
,
NoPathToItem
):
log
.
warning
(
u"Could not find redirect URL for location
%
s in course
%
s"
,
course_key
,
usage_key
)
redirect_url
=
reverse
(
"courseware"
,
args
=
(
unicode
(
course_key
),))
return
JsonResponse
({
'url'
:
redirect_url
})
...
...
@@ -1236,6 +1254,11 @@ class InCourseReverifyView(View):
None
"""
log
.
info
(
u"In-course reverification: event
%
s occurred for user
%
s in course
%
s at checkpoint
%
s"
,
event_name
,
user_id
,
course_id
,
checkpoint
)
if
settings
.
FEATURES
.
get
(
'SEGMENT_IO_LMS'
)
and
hasattr
(
settings
,
'SEGMENT_IO_LMS_KEY'
):
tracking_context
=
tracker
.
get_tracker
()
.
resolve_context
()
analytics
.
track
(
...
...
@@ -1252,3 +1275,29 @@ class InCourseReverifyView(View):
}
}
)
def
_redirect_no_initial_verification
(
self
,
user
,
course_key
):
"""Redirect because the user does not have an initial verification.
NOTE: currently, we assume that courses are configured such that
the first re-verification always occurs AFTER the initial verification
deadline. Later, we may want to allow users to upgrade to a verified
track, then submit an initial verification that also counts
as a verification for the checkpoint in the course.
Arguments:
user (User): The user who made the request.
course_key (CourseKey): The identifier for the course for which
the user is attempting to re-verify.
Returns:
HttpResponse
"""
log
.
warning
(
u"User
%
s does not have an initial verification, so "
u"he/she will be redirected to the
\"
verify later
\"
flow "
u"for the course
%
s."
,
user
.
id
,
course_key
)
return
redirect
(
reverse
(
'verify_student_verify_later'
,
kwargs
=
{
'course_id'
:
unicode
(
course_key
)}))
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