Browse Source

Indicates to display, or not, download pdf buttons

Adrien Panay 7 years ago
parent
commit
aa7739a9fa
2 changed files with 16 additions and 2 deletions
  1. 15 1
      tracim/tracim/controllers/content.py
  2. 1 1
      tracim/tracim/templates/file/getone.mak

+ 15 - 1
tracim/tracim/controllers/content.py View File

10
 from depot.manager import DepotManager
10
 from depot.manager import DepotManager
11
 from preview_generator.exception import PreviewGeneratorException
11
 from preview_generator.exception import PreviewGeneratorException
12
 from preview_generator.manager import PreviewManager
12
 from preview_generator.manager import PreviewManager
13
+from preview_generator.preview.builder.office__libreoffice import OfficePreviewBuilderLibreoffice
14
+from preview_generator.preview.builder.pdf__pypdf2 import PdfPreviewBuilderPyPDF2
15
+from preview_generator.preview.builder.plain_text import PlainTextPreviewBuilder
13
 from sqlalchemy.orm.exc import NoResultFound
16
 from sqlalchemy.orm.exc import NoResultFound
14
 import tg
17
 import tg
15
 from tg import abort
18
 from tg import abort
18
 from tg import predicates
21
 from tg import predicates
19
 from tg.i18n import ugettext as _
22
 from tg.i18n import ugettext as _
20
 from tg.predicates import not_anonymous
23
 from tg.predicates import not_anonymous
24
+from typing import List
21
 
25
 
22
 from tracim.controllers import TIMRestController
26
 from tracim.controllers import TIMRestController
23
 from tracim.controllers import StandardController
27
 from tracim.controllers import StandardController
230
                                  revision_id)
234
                                  revision_id)
231
             preview_urls.append(url)
235
             preview_urls.append(url)
232
 
236
 
237
+        pdf_ready_mimetypes = []  # type: List[str]
238
+        pdf_ready_mimetypes = \
239
+            OfficePreviewBuilderLibreoffice.get_supported_mimetypes() + \
240
+            PdfPreviewBuilderPyPDF2.get_supported_mimetypes() + \
241
+            PlainTextPreviewBuilder.get_supported_mimetypes()
242
+        enable_pdf_buttons = \
243
+            file.file_mimetype in pdf_ready_mimetypes  # type: bool
244
+        pdf_available = str(enable_pdf_buttons).lower()  # type: str
245
+
233
         fake_api_breadcrumb = self.get_breadcrumb(file_id)
246
         fake_api_breadcrumb = self.get_breadcrumb(file_id)
234
         fake_api_content = DictLikeClass(breadcrumb=fake_api_breadcrumb,
247
         fake_api_content = DictLikeClass(breadcrumb=fake_api_breadcrumb,
235
                                          current_user=current_user_content)
248
                                          current_user=current_user_content)
240
         result = DictLikeClass(result=dictified_file,
253
         result = DictLikeClass(result=dictified_file,
241
                                fake_api=fake_api,
254
                                fake_api=fake_api,
242
                                nb_page=nb_page,
255
                                nb_page=nb_page,
243
-                               url=preview_urls)
256
+                               url=preview_urls,
257
+                               pdf_available=pdf_available)
244
         return result
258
         return result
245
 
259
 
246
     @tg.require(current_user_is_reader())
260
     @tg.require(current_user_is_reader())

+ 1 - 1
tracim/tracim/templates/file/getone.mak View File

127
                     modifiedAt: '${h.format_short(created_localized)|n}',
127
                     modifiedAt: '${h.format_short(created_localized)|n}',
128
                     owner: '${result.file.owner.name}',
128
                     owner: '${result.file.owner.name}',
129
                     sourceLink: '${download_url}',
129
                     sourceLink: '${download_url}',
130
-                    pdfAvailable: false // FIXME - Côme - 2017/07/24 - backend should return this information
130
+                    pdfAvailable: ${pdf_available}
131
                   }
131
                   }
132
                 )
132
                 )
133
               })()
133
               })()