getone.mak 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <%inherit file="local:templates.master_authenticated_left_treeview_right_toolbar"/>
  2. <%namespace name="TIM" file="tracim.templates.pod"/>
  3. <%namespace name="TOOLBAR" file="tracim.templates.file.toolbar"/>
  4. <%namespace name="FORMS" file="tracim.templates.file.forms"/>
  5. <%namespace name="LEFT_MENU" file="tracim.templates.widgets.left_menu"/>
  6. <%namespace name="WIDGETS" file="tracim.templates.user_workspace_widgets"/>
  7. <%namespace name="BUTTON" file="tracim.templates.widgets.button"/>
  8. <%namespace name="TABLE_ROW" file="tracim.templates.widgets.table_row"/>
  9. <%namespace name="ICON" file="tracim.templates.widgets.icon"/>
  10. <%namespace name="P" file="tracim.templates.widgets.paragraph"/>
  11. <%def name="title()">${result.file.label}</%def>
  12. <%def name="SIDEBAR_LEFT_CONTENT()">
  13. ${LEFT_MENU.TREEVIEW('sidebar-left-menu', 'workspace_{}__item_{}'.format(result.file.workspace.id, result.file.id))}
  14. </%def>
  15. <%def name="SIDEBAR_RIGHT_CONTENT()">
  16. ${TOOLBAR.SECURED_FILE(fake_api.current_user, result.file.workspace, result.file)}
  17. </%def>
  18. <%def name="REQUIRED_DIALOGS()">
  19. ${TIM.MODAL_DIALOG('file-edit-modal-dialog', 'modal-lg')}
  20. ${TIM.HELP_MODAL_DIALOG('content-wiki-page-definition')}
  21. </%def>
  22. ############################################################################
  23. ##
  24. ## PAGE CONTENT BELOW
  25. ##
  26. ############################################################################
  27. <div class="content-container ${'not-editable' if not result.file.is_editable else ''} ${'archived' if result.file.is_archived else ''} ${'deleted' if result.file.is_deleted else ''}">
  28. <div class="t-page-header-row bg-secondary">
  29. <div class="main">
  30. <h1 class="page-header t-file-color-border">
  31. <i class="fa fa-fw fa-lg fa-paperclip tracim-less-visible t-file-color"></i>
  32. ${result.file.label}
  33. <span class="pull-right">
  34. ${WIDGETS.SECURED_SHOW_CHANGE_STATUS_FOR_FILE(fake_api.current_user, result.file.workspace, result.file)}
  35. </span>
  36. </h1>
  37. <div style="margin: -1.5em auto -1.5em auto;" class="tracim-less-visible">
  38. <% created_localized = h.get_with_timezone(result.file.created) %>
  39. <p>${_('file created on {date} at {time} by <b>{author}</b>').format(date=h.date(created_localized), time=h.time(created_localized), author=result.file.owner.name)|n}</p>
  40. </div>
  41. </div>
  42. </div>
  43. % if (result.file.is_archived) :
  44. <div class="alert alert-info" role="alert">
  45. <p>
  46. <span class="pull-left"><i class="fa fa-fw fa-2x fa-warning" alt="" title=""></i></span>
  47. ${_('Vous consultez <b>une version archivée</b> de la page courante.')|n}
  48. </p>
  49. </div>
  50. % elif (result.file.is_deleted) :
  51. <div class="alert alert-info" role="alert">
  52. <p>
  53. <span class="pull-left"><i class="fa fa-fw fa-2x fa-warning" alt="" title=""></i></span>
  54. ${_('Vous consultez <b>une version supprimée</b> de la page courante.')|n}
  55. </p>
  56. </div>
  57. % endif
  58. % if result.file.selected_revision!='latest':
  59. <div class="alert alert-warning" role="alert">
  60. <p>
  61. <span class="pull-left">${ICON.FA_FW_2X('fa-warning')}</span>
  62. ${_('You are reading <b>an old revision</b> of the current file. (the shown revision is r{}).').format(result.file.selected_revision)|n}
  63. </p>
  64. <a class="pull-right alert-link" href="${tg.url('/workspaces/{}/folders/{}/files/{}').format(result.file.workspace.id, result.file.parent.id, result.file.id)}">
  65. ${_('Show latest revision')}
  66. </a>
  67. </div>
  68. % endif
  69. % if result.file.status.id=='closed-deprecated':
  70. <div class="alert alert-warning" role="alert">
  71. <p>
  72. <span class="pull-left">${ICON.FA_FW_2X('fa-warning')}</span>
  73. ${_('<b>This file is deprecated</b>')|n}
  74. </p>
  75. </div>
  76. % endif
  77. <div class="content__detail file">
  78. <% download_url = tg.url('/workspaces/{}/folders/{}/files/{}/download?revision_id={}'.format(result.file.workspace.id, result.file.parent.id,result.file.id,result.file.selected_revision)) %>
  79. <div class="t-half-spacer-above download-file-button">
  80. <a style="" class="btn btn-default" tittle="${_('Download the file')}"
  81. href="${download_url}" >
  82. ${ICON.FA_FW('fa fa-download fa-2x')}
  83. </a>
  84. </div>
  85. <div class="t-half-spacer-above">
  86. <table class="table table-hover table-condensed table-striped table-bordered">
  87. <tr>
  88. <td class="tracim-title">${_('File')}</td>
  89. <td>
  90. <a href="${download_url}" tittle="${_('Download the file (last revision)')}">
  91. ${result.file.file.name}
  92. <span class="pull-right">
  93. ${ICON.FA_FW('fa fa-download')}
  94. </span>
  95. </a>
  96. </td>
  97. </tr>
  98. <tr>
  99. <td class="tracim-title">${_('Size')}</td>
  100. <td>${h.user_friendly_file_size(result.file.file.size)}</td>
  101. </tr>
  102. <tr>
  103. <td class="tracim-title">${_('Modified')}</td>
  104. <% created_localized = h.get_with_timezone(result.file.created) %>
  105. <td>${h.format_short(created_localized)|n} ${_('by {}').format(result.file.owner.name)}</td>
  106. </tr>
  107. </table>
  108. </div>
  109. <div class="t-half-spacer-above">
  110. % if result.file.status.id in ('closed-validated', 'closed-unvalidated'):
  111. <span style="font-size: 1.5em;"><i class="pull-right fa fa-4x ${result.file.status.css} ${result.file.status.icon}"></i></span>
  112. % endif
  113. </div>
  114. % if result.file.content.strip(): # only show desc if really a content
  115. <div class="well">
  116. ${result.file.content|n}
  117. </div>
  118. % endif
  119. % if result.file.status.id!='open':
  120. <p class="tracim-less-visible">${_('<b>Note</b>: You need to change status in case you want to upload a new version')|n}</p>
  121. % else:
  122. % if h.user_role(fake_api.current_user, result.file.workspace)<=1: # User must be a contributor to be allowed to upload files
  123. ${WIDGETS.SECURED_SECTION_TITLE(fake_api.current_user, result.file.workspace, 'file-revisions', _('File revisions'))}
  124. <p>${_('This file contains {} revision(s)').format(sum(1 for revision in result.file.revisions if revision.action.id=='revision'))}</p>
  125. % else:
  126. % if (h.user_role(fake_api.current_user, result.file.workspace)>1 and not result.file.is_archived and not result.file.is_deleted):
  127. ${BUTTON.DATA_TARGET_AS_TEXT('new-file-revision', _('upload a new revision and/or comment...'), 'btn btn-success t-spacer-below')}
  128. ${FORMS.NEW_FILE_REVISION_WITH_COMMENT_FORM('new-file-revision', result.file.workspace.id, result.file.parent.id, result.file.id)}
  129. % endif
  130. % endif
  131. % endif
  132. <div class="t-page-metadata-row t-spacer-above">
  133. <div class="t-spacer-above">
  134. <span id="associated-revisions"></span>
  135. <h4 class="anchored-title">${_('File history')}</h4>
  136. <div>
  137. <table class="table table-striped table-hover">
  138. % for event in result.file.history:
  139. ${WIDGETS.SECURED_HISTORY_VIRTUAL_EVENT_AS_TABLE_ROW(fake_api.current_user, event, result.file.selected_revision)}
  140. % endfor
  141. </table>
  142. </div>
  143. </div>
  144. <div/>
  145. </div>