/templates/webapps/community/repository/view_changeset.mako

https://bitbucket.org/cistrome/cistrome-harvard/ · Mako · 192 lines · 185 code · 7 blank · 0 comment · 7 complexity · ba1e853edecc890b172bc63e074bd792 MD5 · raw file

  1. <%inherit file="/base.mako"/>
  2. <%namespace file="/message.mako" import="render_msg" />
  3. <%namespace file="/webapps/community/common/common.mako" import="*" />
  4. <%namespace file="/webapps/community/repository/common.mako" import="render_clone_str" />
  5. <%
  6. from galaxy.web.framework.helpers import time_ago
  7. is_admin = trans.user_is_admin()
  8. is_new = repository.is_new
  9. can_contact_owner = trans.user and trans.user != repository.user
  10. can_browse_contents = not is_new
  11. can_rate = trans.user and repository.user != trans.user
  12. can_manage = is_admin or trans.user == repository.user
  13. can_push = trans.app.security_agent.can_push( trans.user, repository )
  14. can_view_change_log = not is_new
  15. can_upload = can_push
  16. can_download = not is_new and ( not is_malicious or can_push )
  17. if can_push:
  18. browse_label = 'Browse or delete repository files'
  19. else:
  20. browse_label = 'Browse repository files'
  21. %>
  22. <%!
  23. def inherit(context):
  24. if context.get('use_panels'):
  25. return '/webapps/community/base_panels.mako'
  26. else:
  27. return '/base.mako'
  28. %>
  29. <%inherit file="${inherit(context)}"/>
  30. <%def name="stylesheets()">
  31. ${parent.stylesheets()}
  32. ${h.css( "library" )}
  33. </%def>
  34. <%def name="javascripts()">
  35. ${parent.javascripts()}
  36. ${h.js( "jquery.rating" )}
  37. </%def>
  38. <br/><br/>
  39. <ul class="manage-table-actions">
  40. <li><a class="action-button" id="repository-${repository.id}-popup" class="menubutton">Repository Actions</a></li>
  41. <div popupmenu="repository-${repository.id}-popup">
  42. %if can_upload:
  43. <a class="action-button" href="${h.url_for( controller='upload', action='upload', repository_id=trans.security.encode_id( repository.id ), webapp='community' )}">Upload files to repository</a>
  44. %endif
  45. %if can_manage:
  46. <a class="action-button" href="${h.url_for( controller='repository', action='manage_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">Manage repository</a>
  47. %else:
  48. <a class="action-button" href="${h.url_for( controller='repository', action='view_repository', id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip )}">View repository</a>
  49. %endif
  50. %if can_view_change_log:
  51. <a class="action-button" href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">View change log</a>
  52. %endif
  53. %if can_rate:
  54. <a class="action-button" href="${h.url_for( controller='repository', action='rate_repository', id=trans.app.security.encode_id( repository.id ) )}">Rate repository</a>
  55. %endif
  56. %if can_browse_contents:
  57. <a class="action-button" href="${h.url_for( controller='repository', action='browse_repository', id=trans.app.security.encode_id( repository.id ) )}">${browse_label}</a>
  58. %endif
  59. %if can_contact_owner:
  60. <a class="action-button" href="${h.url_for( controller='repository', action='contact_owner', id=trans.security.encode_id( repository.id ), webapp='community' )}">Contact repository owner</a>
  61. %endif
  62. %if can_download:
  63. <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, file_type='gz' )}">Download as a .tar.gz file</a>
  64. <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, file_type='bz2' )}">Download as a .tar.bz2 file</a>
  65. <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip, file_type='zip' )}">Download as a zip file</a>
  66. %endif
  67. </div>
  68. </ul>
  69. %if message:
  70. ${render_msg( message, status )}
  71. %endif
  72. %if can_download:
  73. <div class="toolForm">
  74. <div class="toolFormTitle">${repository.name}</div>
  75. <div class="toolFormBody">
  76. <div class="form-row">
  77. <label>Clone this repository:</label>
  78. ${render_clone_str( repository )}
  79. </div>
  80. </div>
  81. </div>
  82. <p/>
  83. %endif
  84. <div class="toolForm">
  85. <%
  86. if can_download:
  87. title_str = 'Changeset %s' % ctx
  88. else:
  89. title_str = '%s changeset %s' % ( repository.name, ctx )
  90. %>
  91. <div class="toolFormTitle">${title_str}</div>
  92. <div class="toolFormBody">
  93. <table class="grid">
  94. %if modified:
  95. <tr>
  96. <td>
  97. <b>modified:</b>
  98. %for item in modified:
  99. <br/><a href="#${item}">${item}</a>
  100. %endfor
  101. </td>
  102. </tr>
  103. %endif
  104. %if added:
  105. <tr>
  106. <td>
  107. <b>added:</b>
  108. %for item in added:
  109. <br/><a href="#${item}">${item}</a>
  110. %endfor
  111. </td>
  112. </tr>
  113. %endif
  114. %if removed:
  115. <tr>
  116. <td>
  117. <b>removed:</b>
  118. %for item in removed:
  119. <br/><a href="#${item}">${item}</a>
  120. %endfor
  121. </td>
  122. </tr>
  123. %endif
  124. %if deleted:
  125. <tr>
  126. <td>
  127. <b>deleted:</b>
  128. %for item in deleted:
  129. <br/><a href="#${item}">${item}</a>
  130. %endfor
  131. </td>
  132. </tr>
  133. %endif
  134. %if unknown:
  135. <tr>
  136. <td>
  137. <b>unknown:</b>
  138. %for item in unknown:
  139. <br/><a href="#${item}">${item}</a>
  140. %endfor
  141. }</td>
  142. </tr>
  143. %endif
  144. %if ignored:
  145. <tr>
  146. <td>
  147. <b>ignored:</b>
  148. %for item in ignored:
  149. <br/><a href="#${item}">${item}</a>
  150. %endfor
  151. </td>
  152. </tr>
  153. %endif
  154. %if clean:
  155. <tr>
  156. <td>
  157. clean:
  158. %for item in clean:
  159. <br/><a href="#${item}">${item}</a>
  160. %endfor
  161. </td>
  162. </tr>
  163. %endif
  164. %for diff in diffs:
  165. <%
  166. # Read at most the first 10 lines of diff to determine the anchor
  167. ctr = 0
  168. lines = diff.split( '\n' )
  169. diff = diff.replace( '\n', '<br/>' )
  170. anchor_str = ''
  171. for line in lines:
  172. if ctr > 9:
  173. break
  174. for anchor in anchors:
  175. if line.find( anchor ) >= 0:
  176. anchor_str = '<a name="%s">%s</a>' % ( anchor, anchor )
  177. break
  178. ctr += 1
  179. %>
  180. <tr><td bgcolor="#E0E0E0">${anchor_str}</td></tr>
  181. <tr><td>${diff}</td></tr>
  182. %endfor
  183. </table>
  184. </div>
  185. </div>