def mark_redacted(original='', redacted='', authenticated_read=False): if authenticated_read: content = mark_differences( original, redacted, attrs='class="redacted-dummy redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you'))) else: content = mark_differences(redacted, original, attrs='class="redacted"') return urlizetrunc(content, 40, autoescape=False)
def redact_message(message, request): real_content = message.get_real_content().replace("\r\n", "\n") redacted_content = message.get_content().replace("\r\n", "\n") c_1, c_2 = split_text_by_separator(real_content) r_1, r_2 = split_text_by_separator(redacted_content) foirequest = message.request authenticated_read = (can_write_foirequest(foirequest, request) or can_read_foirequest_anonymous( foirequest, request)) if authenticated_read: content_1 = mark_differences( c_1, r_1, attrs=' class="redacted redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you'))) content_2 = mark_differences( c_2, r_2, attrs=' class="redacted redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you'))) else: content_1 = mark_differences(r_1, c_1) content_2 = mark_differences(r_2, c_2) content_1 = urlizetrunc(content_1, 40, autoescape=False) content_2 = urlizetrunc(content_2, 40, autoescape=False) if content_2: return mark_safe(''.join([ content_1, ('<a href="#message-footer-{message_id}" data-toggle="collapse" ' ' aria-expanded="false" aria-controls="collapseExample">…</a>' '<div id="message-footer-{message_id}" class="collapse">'.format( message_id=message.id)), content_2, '</div>' ])) return mark_safe(content_1)
def markup_redacted_content(real_content, redacted_content, authenticated_read=False, message_id=None): c_1, c_2 = split_text_by_separator(real_content) r_1, r_2 = split_text_by_separator(redacted_content) if authenticated_read: content_1 = mark_differences(c_1, r_1, attrs='class="redacted-dummy redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you') )) content_2 = mark_differences(c_2, r_2, attrs='class="redacted-dummy redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you') )) else: content_1 = mark_differences(r_1, c_1, attrs='class="redacted"') content_2 = mark_differences(r_2, c_2, attrs='class="redacted"') content_1 = urlizetrunc(content_1, 40, autoescape=False) content_2 = urlizetrunc(content_2, 40, autoescape=False) if content_2 and message_id: return mark_safe(''.join([ '<div class="text-content-visible">', content_1, ('</div><a class="btn btn-sm btn-light btn-block" href="#message-footer-{message_id}" data-toggle="collapse" ' ' aria-expanded="false" aria-controls="message-footer-{message_id}">{label}</a>' '<div id="message-footer-{message_id}" class="collapse">' .format( message_id=message_id, label=_('Show the quoted message') )), content_2, '</div>' ])) return mark_safe(content_1)
def markup_redacted_content(real_content, redacted_content, authenticated_read=False, message_id=None): c_1, c_2 = split_text_by_separator(real_content) r_1, r_2 = split_text_by_separator(redacted_content) if authenticated_read: content_1 = mark_differences( c_1, r_1, attrs='class="redacted-dummy redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you'))) content_2 = mark_differences( c_2, r_2, attrs='class="redacted-dummy redacted-hover"' ' data-toggle="tooltip" title="{title}"'.format( title=_('Only visible to you'))) else: content_1 = mark_differences(r_1, c_1, attrs='class="redacted"') content_2 = mark_differences(r_2, c_2, attrs='class="redacted"') content_1 = urlizetrunc(content_1, 40, autoescape=False) content_2 = urlizetrunc(content_2, 40, autoescape=False) if content_2 and message_id: return mark_safe(''.join([ '<div class="text-content-visible">', content_1, ('</div><a class="btn btn-sm btn-light btn-block" href="#message-footer-{message_id}" data-toggle="collapse" ' ' aria-expanded="false" aria-controls="message-footer-{message_id}">{label}</a>' '<div id="message-footer-{message_id}" class="collapse">'.format( message_id=message_id, label=_('Show the quoted message'))), content_2, '</div>' ])) return mark_safe(content_1)