From f76c46bef038c6574f5ed4c5cb9b8a37d5036575 Mon Sep 17 00:00:00 2001 From: Tom Pusateri Date: Sat, 20 Jul 2019 18:58:34 +0000 Subject: [PATCH] Partially addresses issue #1926 still displaying markdown as text. Fixes #2704. Commit ready for merge. - Legacy-Id: 16557 --- ietf/doc/views_doc.py | 3 +++ ietf/meeting/forms.py | 2 +- ietf/settings.py | 10 ++++++++-- ietf/templates/meeting/session_agenda_include.html | 4 ++-- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/ietf/doc/views_doc.py b/ietf/doc/views_doc.py index d10323ce5..e4adb4f03 100644 --- a/ietf/doc/views_doc.py +++ b/ietf/doc/views_doc.py @@ -586,6 +586,9 @@ def document_main(request, name, rev=None): if extension == ".txt": content = doc.text_or_error() # pyflakes:ignore t = "plain text" + elif extension == ".md": + content = doc.text_or_error() # pyflakes:ignore + t = "markdown" other_types.append((t, url)) return render(request, "doc/document_material.html", diff --git a/ietf/meeting/forms.py b/ietf/meeting/forms.py index 8cea55790..e953bab2a 100644 --- a/ietf/meeting/forms.py +++ b/ietf/meeting/forms.py @@ -342,7 +342,7 @@ class FileUploadForm(forms.Form): self.file_encoding = {} self.file_encoding[file.name] = encoding.replace('charset=','') if encoding else None if self.mime_types: - if mime_type != file.content_type: + if mime_type != file.content_type and not file.content_type in settings.MEETING_VALID_MAGIC_MIME_TYPES[mime_type]: raise ValidationError('Upload Content-Type (%s) is different from the observed mime-type (%s)' % (file.content_type, mime_type)) if mime_type in settings.MEETING_VALID_MIME_TYPE_EXTENSIONS: if not ext in settings.MEETING_VALID_MIME_TYPE_EXTENSIONS[mime_type]: diff --git a/ietf/settings.py b/ietf/settings.py index 6b593c4d0..5a9c1d718 100644 --- a/ietf/settings.py +++ b/ietf/settings.py @@ -814,18 +814,24 @@ MEETING_VALID_UPLOAD_EXTENSIONS = { } MEETING_VALID_UPLOAD_MIME_TYPES = { - 'agenda': ['text/plain', 'text/html', ], - 'minutes': ['text/plain', 'text/html', 'application/pdf', ], + 'agenda': ['text/plain', 'text/html', 'text/markdown', ], + 'minutes': ['text/plain', 'text/html', 'application/pdf', 'text/markdown', ], 'slides': [], 'bluesheets': ['application/pdf', 'text/plain', ], } MEETING_VALID_MIME_TYPE_EXTENSIONS = { 'text/plain': ['.txt', '.md', ], + 'text/markdown': ['.txt', '.md', ], 'text/html': ['.html', '.htm'], 'application/pdf': ['.pdf'], } +MEETING_VALID_MAGIC_MIME_TYPES = { + 'text/plain': ['text/plain', 'text/markdown', ], + 'text/html': ['text/html', ], + 'application/pdf': ['application/pdf', ], +} INTERNET_DRAFT_DAYS_TO_EXPIRE = 185 diff --git a/ietf/templates/meeting/session_agenda_include.html b/ietf/templates/meeting/session_agenda_include.html index 72cf127c4..5165efa8a 100644 --- a/ietf/templates/meeting/session_agenda_include.html +++ b/ietf/templates/meeting/session_agenda_include.html @@ -16,7 +16,7 @@