Commit ff8c58f5 by John Jarvis

adds a new option to ungenerated_certs to use http in the callback url

parent 9f104eb6
...@@ -29,6 +29,11 @@ class Command(BaseCommand): ...@@ -29,6 +29,11 @@ class Command(BaseCommand):
dest='noop', dest='noop',
default=False, default=False,
help="Don't add certificate requests to the queue"), help="Don't add certificate requests to the queue"),
make_option('--insecure',
action='store_true',
dest='insecure',
default=False,
help="Don't use https for the callback url to the LMS, useful in http test environments"),
make_option('-c', '--course', make_option('-c', '--course',
metavar='COURSE_ID', metavar='COURSE_ID',
dest='course', dest='course',
...@@ -83,6 +88,8 @@ class Command(BaseCommand): ...@@ -83,6 +88,8 @@ class Command(BaseCommand):
"groups").order_by('username') "groups").order_by('username')
xq = XQueueCertInterface() xq = XQueueCertInterface()
if options['insecure']:
xq.use_https = False
total = enrolled_students.count() total = enrolled_students.count()
count = 0 count = 0
start = datetime.datetime.now(UTC) start = datetime.datetime.now(UTC)
......
...@@ -74,6 +74,7 @@ class XQueueCertInterface(object): ...@@ -74,6 +74,7 @@ class XQueueCertInterface(object):
) )
self.whitelist = CertificateWhitelist.objects.all() self.whitelist = CertificateWhitelist.objects.all()
self.restricted = UserProfile.objects.filter(allow_certificate=False) self.restricted = UserProfile.objects.filter(allow_certificate=False)
self.use_https = True
def regen_cert(self, student, course_id, course=None): def regen_cert(self, student, course_id, course=None):
"""(Re-)Make certificate for a particular student in a particular course """(Re-)Make certificate for a particular student in a particular course
...@@ -216,9 +217,14 @@ class XQueueCertInterface(object): ...@@ -216,9 +217,14 @@ class XQueueCertInterface(object):
def _send_to_xqueue(self, contents, key): def _send_to_xqueue(self, contents, key):
if self.use_https:
proto = "https"
else:
proto = "http"
xheader = make_xheader( xheader = make_xheader(
'https://{0}/update_certificate?{1}'.format( '{0}://{1}/update_certificate?{2}'.format(
settings.SITE_NAME, key), key, settings.CERT_QUEUE) proto, settings.SITE_NAME, key), key, settings.CERT_QUEUE)
(error, msg) = self.xqueue_interface.send_to_queue( (error, msg) = self.xqueue_interface.send_to_queue(
header=xheader, body=json.dumps(contents)) header=xheader, body=json.dumps(contents))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment