diff --git a/common/djangoapps/status/models.py b/common/djangoapps/status/models.py index 1e0417ea6e..9579439968 100644 --- a/common/djangoapps/status/models.py +++ b/common/djangoapps/status/models.py @@ -9,6 +9,8 @@ from django.core.cache import cache from django.db import models from opaque_keys.edx.django.models import CourseKeyField +from openedx.core.djangolib.markup import HTML + class GlobalStatusMessage(ConfigurationModel): """ @@ -39,7 +41,7 @@ class GlobalStatusMessage(ConfigurationModel): course_home_message = self.coursemessage_set.get(course_key=course_key) # Don't override the message if course_home_message is blank. if course_home_message: - msg = u"{}
{}".format(msg, course_home_message.message) + msg = HTML(u"{}
{}").format(HTML(msg), HTML(course_home_message.message)) except CourseMessage.DoesNotExist: # We don't have a course-specific message, so pass. pass diff --git a/lms/djangoapps/badges/models.py b/lms/djangoapps/badges/models.py index 55abebbbfa..75cd86398c 100644 --- a/lms/djangoapps/badges/models.py +++ b/lms/djangoapps/badges/models.py @@ -62,8 +62,8 @@ class BadgeClass(models.Model): image = models.ImageField(upload_to='badge_classes', validators=[validate_badge_image]) def __unicode__(self): - return u"".format( - slug=self.slug, issuing_component=self.issuing_component + return HTML(u"").format( + slug=HTML(self.slug), issuing_component=HTML(self.issuing_component) ) @classmethod @@ -154,9 +154,10 @@ class BadgeAssertion(TimeStampedModel): assertion_url = models.URLField() def __unicode__(self): - return u"<{username} Badge Assertion for {slug} for {issuing_component}".format( - username=self.user.username, slug=self.badge_class.slug, - issuing_component=self.badge_class.issuing_component, + return HTML(u"<{username} Badge Assertion for {slug} for {issuing_component}").format( + username=HTML(self.user.username), + slug=HTML(self.badge_class.slug), + issuing_component=HTML(self.badge_class.issuing_component), ) @classmethod @@ -204,9 +205,9 @@ class CourseCompleteImageConfiguration(models.Model): ) def __unicode__(self): - return u"".format( - mode=self.mode, - default=u" (default)" if self.default else u'' + return HTML(u"").format( + mode=HTML(self.mode), + default=HTML(u" (default)") if self.default else HTML(u'') ) def clean(self): diff --git a/lms/djangoapps/courseware/models.py b/lms/djangoapps/courseware/models.py index 7c849ff4c7..f6d89130fc 100644 --- a/lms/djangoapps/courseware/models.py +++ b/lms/djangoapps/courseware/models.py @@ -27,6 +27,8 @@ from six import text_type import coursewarehistoryextended from opaque_keys.edx.django.models import BlockTypeKeyField, CourseKeyField, UsageKeyField +from openedx.core.djangolib.markup import HTML + log = logging.getLogger("edx.courseware") @@ -290,7 +292,10 @@ class XBlockFieldBase(models.Model): def __unicode__(self): keys = [field.name for field in self._meta.get_fields() if field.name not in ('created', 'modified')] - return u'{}<{!r}'.format(self.__class__.__name__, {key: getattr(self, key) for key in keys}) + return HTML(u'{}<{!r}').format( + HTML(self.__class__.__name__), + {key: HTML(getattr(self, key)) for key in keys} + ) class XModuleUserStateSummaryField(XBlockFieldBase): diff --git a/lms/djangoapps/survey/models.py b/lms/djangoapps/survey/models.py index 9ef3590737..52b3bc6955 100644 --- a/lms/djangoapps/survey/models.py +++ b/lms/djangoapps/survey/models.py @@ -164,6 +164,7 @@ class SurveyForm(TimeStampedModel): class SurveyAnswer(TimeStampedModel): + # pylint: disable=line-too-long """ Model for the answers that a user gives for a particular form in a course diff --git a/openedx/core/djangoapps/oauth_dispatch/models.py b/openedx/core/djangoapps/oauth_dispatch/models.py index 0582e4533a..9f42502aea 100644 --- a/openedx/core/djangoapps/oauth_dispatch/models.py +++ b/openedx/core/djangoapps/oauth_dispatch/models.py @@ -12,6 +12,7 @@ from organizations.models import Organization from pytz import utc from openedx.core.djangoapps.oauth_dispatch.toggles import ENFORCE_JWT_SCOPES +from openedx.core.djangolib.markup import HTML from openedx.core.lib.request_utils import get_request_or_stub @@ -35,8 +36,8 @@ class RestrictedApplication(models.Model): """ Return a unicode representation of this object """ - return u"".format( - name=self.application.name + return HTML(u"").format( + name=HTML(self.application.name) ) @classmethod diff --git a/pavelib/quality.py b/pavelib/quality.py index bca4041545..650cbde7d4 100644 --- a/pavelib/quality.py +++ b/pavelib/quality.py @@ -759,7 +759,7 @@ def _get_xsscommitlint_count(filename): @task @needs('pavelib.prereqs.install_python_prereqs') @timed -def run_pii_check(options): +def run_pii_check(options): # pylint: disable=unused-argument """ Guarantee that all Django models are PII-annotated. """