INCR-262 Run python-modernize on lms/djangoapps/certificates/migrations and lms/djangoapps/certificates/views (#20558)
* run python modernize * run isort * Fix quality
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import jsonfield.fields
|
||||
import model_utils.fields
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
from badges.models import validate_badge_image
|
||||
import jsonfield.fields
|
||||
import model_utils.fields
|
||||
from django.conf import settings
|
||||
from lms.djangoapps.certificates import models as cert_models
|
||||
from django.db import migrations, models
|
||||
from opaque_keys.edx.django.models import CourseKeyField
|
||||
|
||||
from badges.models import validate_badge_image
|
||||
from lms.djangoapps.certificates import models as cert_models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import json
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
# Converted from the original South migration 0020_certificatehtmlviewconfiguration_data.py
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
def forwards(apps, schema_editor):
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.files import File
|
||||
from django.db import migrations, models
|
||||
|
||||
# Converted from the original South migration 0002_default_rate_limit_config.py
|
||||
|
||||
from django.db import migrations, models
|
||||
from django.conf import settings
|
||||
from django.core.files import File
|
||||
|
||||
def forwards(apps, schema_editor):
|
||||
"""Add default modes"""
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
from django.conf import settings
|
||||
import model_utils.fields
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
from opaque_keys.edx.django.models import CourseKeyField
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
from django.conf import settings
|
||||
import model_utils.fields
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.apps import apps
|
||||
from django.db import migrations, models
|
||||
from django.db.models import F
|
||||
|
||||
|
||||
def copy_field(apps, schema_editor):
|
||||
CertificateGenerationCourseSetting = apps.get_model('certificates', 'CertificateGenerationCourseSetting')
|
||||
CertificateGenerationCourseSetting.objects.all().update(self_generation_enabled=F('enabled'))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import logging
|
||||
|
||||
from django.db import migrations, models
|
||||
from opaque_keys.edx.django.models import CourseKeyField
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.8 on 2018-01-30 17:38
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
import django.db.models.manager
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.20 on 2019-04-04 15:14
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
Aggregate all views exposed by the certificates app.
|
||||
"""
|
||||
# pylint: disable=wildcard-import
|
||||
from .xqueue import *
|
||||
from .support import *
|
||||
from .webview import *
|
||||
from .xqueue import *
|
||||
|
||||
@@ -4,11 +4,16 @@ Certificate end-points used by the student support UI.
|
||||
See lms/djangoapps/support for more details.
|
||||
|
||||
"""
|
||||
import bleach
|
||||
from __future__ import absolute_import
|
||||
|
||||
import logging
|
||||
import urllib
|
||||
from functools import wraps
|
||||
|
||||
import bleach
|
||||
import six
|
||||
import six.moves.urllib.error # pylint: disable=import-error
|
||||
import six.moves.urllib.parse # pylint: disable=import-error
|
||||
import six.moves.urllib.request # pylint: disable=import-error
|
||||
from django.db import transaction
|
||||
from django.db.models import Q
|
||||
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseForbidden, HttpResponseServerError
|
||||
@@ -17,9 +22,9 @@ from django.views.decorators.http import require_GET, require_POST
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from courseware.access import has_access
|
||||
from lms.djangoapps.certificates import api
|
||||
from lms.djangoapps.certificates.models import CertificateInvalidation
|
||||
from courseware.access import has_access
|
||||
from lms.djangoapps.instructor_task.api import generate_certificates_for_students
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from student.models import CourseEnrollment, User
|
||||
@@ -81,7 +86,9 @@ def search_certificates(request):
|
||||
]
|
||||
|
||||
"""
|
||||
user_filter = bleach.clean(urllib.unquote(urllib.quote_plus(request.GET.get("user", ""))))
|
||||
# pylint: disable=too-many-function-args
|
||||
unbleached_filter = six.moves.urllib.parse.unquote(six.moves.urllib.parse.quote_plus(request.GET.get("user", "")))
|
||||
user_filter = bleach.clean(unbleached_filter)
|
||||
if not user_filter:
|
||||
msg = _("user is not given.")
|
||||
return HttpResponseBadRequest(msg)
|
||||
@@ -93,12 +100,13 @@ def search_certificates(request):
|
||||
|
||||
certificates = api.get_certificates_for_user(user.username)
|
||||
for cert in certificates:
|
||||
cert["course_key"] = unicode(cert["course_key"])
|
||||
cert["course_key"] = six.text_type(cert["course_key"])
|
||||
cert["created"] = cert["created"].isoformat()
|
||||
cert["modified"] = cert["modified"].isoformat()
|
||||
cert["regenerate"] = not cert['is_pdf_certificate']
|
||||
|
||||
course_id = urllib.quote_plus(request.GET.get("course_id", ""), safe=':/')
|
||||
# pylint: disable=redundant-keyword-arg
|
||||
course_id = six.moves.urllib.parse.quote_plus(request.GET.get("course_id", ""), safe=':/')
|
||||
if course_id:
|
||||
try:
|
||||
course_key = CourseKey.from_string(course_id)
|
||||
|
||||
@@ -2,24 +2,33 @@
|
||||
"""
|
||||
Certificate HTML webview.
|
||||
"""
|
||||
from __future__ import absolute_import
|
||||
|
||||
import logging
|
||||
import urllib
|
||||
from datetime import datetime
|
||||
from uuid import uuid4
|
||||
|
||||
import pytz
|
||||
import six
|
||||
import six.moves.urllib.error # pylint: disable=import-error
|
||||
import six.moves.urllib.parse # pylint: disable=import-error
|
||||
import six.moves.urllib.request # pylint: disable=import-error
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.http import Http404, HttpResponse
|
||||
from django.template import RequestContext
|
||||
from django.utils.encoding import smart_str
|
||||
from django.utils import translation
|
||||
from django.utils.encoding import smart_str
|
||||
from eventtracking import tracker
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from badges.events.course_complete import get_completion_badge
|
||||
from badges.utils import badges_enabled
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_by_id
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from edxmako.template import Template
|
||||
from lms.djangoapps.certificates.api import (
|
||||
emit_certificate_event,
|
||||
get_active_web_certificate,
|
||||
@@ -35,21 +44,16 @@ from lms.djangoapps.certificates.models import (
|
||||
CertificateStatuses,
|
||||
GeneratedCertificate
|
||||
)
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_by_id
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from edxmako.template import Template
|
||||
from openedx.core.djangoapps.catalog.utils import get_course_run_details
|
||||
from openedx.core.djangoapps.certificates.api import certificates_viewable_for_course, display_date_for_certificate
|
||||
from openedx.core.djangoapps.lang_pref.api import get_closest_released_language
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
from openedx.core.lib.courses import course_image_url
|
||||
from openedx.core.djangoapps.certificates.api import display_date_for_certificate, certificates_viewable_for_course
|
||||
from student.models import LinkedInAddToProfileConfiguration
|
||||
from util import organizations_helpers as organization_api
|
||||
from util.date_utils import strftime_localized
|
||||
from util.views import handle_500
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
_ = translation.ugettext
|
||||
|
||||
@@ -282,7 +286,7 @@ def _update_social_context(request, context, course, user, user_certificate, pla
|
||||
if context.get('twitter_share_enabled', False):
|
||||
twitter_url = 'https://twitter.com/intent/tweet?text={twitter_share_text}&url={share_url}'.format(
|
||||
twitter_share_text=smart_str(context['twitter_share_text']),
|
||||
share_url=urllib.quote_plus(smart_str(share_url))
|
||||
share_url=six.moves.urllib.parse.quote_plus(smart_str(share_url))
|
||||
)
|
||||
context['twitter_url'] = twitter_url
|
||||
context['linked_in_url'] = None
|
||||
@@ -346,7 +350,7 @@ def _get_user_certificate(request, user, course_key, course, preview_mode=None):
|
||||
modified_date = datetime.now().date()
|
||||
user_certificate = GeneratedCertificate(
|
||||
mode=preview_mode,
|
||||
verify_uuid=unicode(uuid4().hex),
|
||||
verify_uuid=six.text_type(uuid4().hex),
|
||||
modified_date=modified_date
|
||||
)
|
||||
elif certificates_viewable_for_course(course):
|
||||
@@ -388,7 +392,7 @@ def _track_certificate_events(request, context, course, user, user_certificate):
|
||||
'badge_generator': badge.backend,
|
||||
'issuing_component': badge.badge_class.issuing_component,
|
||||
'user_id': user.id,
|
||||
'course_id': unicode(course_key),
|
||||
'course_id': six.text_type(course_key),
|
||||
'enrollment_mode': badge.badge_class.mode,
|
||||
'assertion_id': badge.id,
|
||||
'assertion_image_url': badge.image_url,
|
||||
@@ -405,7 +409,7 @@ def _track_certificate_events(request, context, course, user, user_certificate):
|
||||
|
||||
# track certificate evidence_visited event for analytics when certificate_user and accessing_user are different
|
||||
if request.user and request.user.id != user.id:
|
||||
emit_certificate_event('evidence_visited', user, unicode(course.id), course, {
|
||||
emit_certificate_event('evidence_visited', user, six.text_type(course.id), course, {
|
||||
'certificate_id': user_certificate.verify_uuid,
|
||||
'enrollment_mode': user_certificate.mode,
|
||||
'social_network': CertificateSocialNetworks.linkedin
|
||||
@@ -473,7 +477,7 @@ def render_cert_by_uuid(request, certificate_uuid):
|
||||
verify_uuid=certificate_uuid,
|
||||
status=CertificateStatuses.downloadable
|
||||
)
|
||||
return render_html_view(request, certificate.user.id, unicode(certificate.course_id))
|
||||
return render_html_view(request, certificate.user.id, six.text_type(certificate.course_id))
|
||||
except GeneratedCertificate.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
"""
|
||||
Views used by XQueue certificate generation.
|
||||
"""
|
||||
from __future__ import absolute_import
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
|
||||
Reference in New Issue
Block a user