Fix issue with course message classes.

This commit is contained in:
Harry Rein
2017-09-22 14:38:04 -04:00
parent 56676d821d
commit fcf5f03b2d

View File

@@ -87,7 +87,7 @@ class UserMessageCollection():
raise NotImplementedError('Subclasses must define a namespace for messages.') raise NotImplementedError('Subclasses must define a namespace for messages.')
@classmethod @classmethod
def get_message_html(self, body_html, title=None, dismissable=False): def get_message_html(self, body_html, title=None):
""" """
Returns the entire HTML snippet for the message. Returns the entire HTML snippet for the message.
@@ -96,32 +96,13 @@ class UserMessageCollection():
not use a title can just pass the body_html. not use a title can just pass the body_html.
""" """
if title: if title:
title_area = Text(_('{header_open}{title}{header_close}')).format( return Text(_('{header_open}{title}{header_close}{body}')).format(
header_open=HTML('<div class="message-header">'), header_open=HTML('<div class="message-header">'),
title=title, title=title,
body=body_html,
header_close=HTML('</div>') header_close=HTML('</div>')
) )
else: return body_html
title_area = ''
if dismissable:
dismiss_button = HTML(
'<div class="message-actions">'
'<button class="btn-link action-dismiss">'
'<span class="sr">{dismiss_text}</span>'
'<span class="icon fa fa-times" aria-hidden="true"></span></button>'
'</div>'
).format(
dismiss_text=Text(_("Dismiss"))
)
else:
dismiss_button = ''
return Text('{title_area}{body_area}{dismiss_button}').format(
title_area=title_area,
body_area=HTML('<div class="message-content">{body_html}</div>').format(
body_html=body_html,
),
dismiss_button=dismiss_button,
)
@classmethod @classmethod
def register_user_message(self, request, message_type, body_html, **kwargs): def register_user_message(self, request, message_type, body_html, **kwargs):
@@ -202,6 +183,39 @@ class PageLevelMessages(UserMessageCollection):
""" """
NAMESPACE = 'page_level_messages' NAMESPACE = 'page_level_messages'
@classmethod
def get_message_html(self, body_html, title=None, dismissable=False):
"""
Returns the entire HTML snippet for the message.
"""
if title:
title_area = Text(_('{header_open}{title}{header_close}')).format(
header_open=HTML('<div class="message-header">'),
title=title,
header_close=HTML('</div>')
)
else:
title_area = ''
if dismissable:
dismiss_button = HTML(
'<div class="message-actions">'
'<button class="btn-link action-dismiss">'
'<span class="sr">{dismiss_text}</span>'
'<span class="icon fa fa-times" aria-hidden="true"></span></button>'
'</div>'
).format(
dismiss_text=Text(_("Dismiss"))
)
else:
dismiss_button = ''
return Text('{title_area}{body_area}{dismiss_button}').format(
title_area=title_area,
body_area=HTML('<div class="message-content">{body_html}</div>').format(
body_html=body_html,
),
dismiss_button=dismiss_button,
)
@classmethod @classmethod
def get_namespace(self): def get_namespace(self):
""" """