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.
"""