diff --git a/cypress/integration/directory.spec.js b/cypress/integration/directory.spec.js --- a/cypress/integration/directory.spec.js +++ b/cypress/integration/directory.spec.js @@ -72,4 +72,12 @@ cy.get('.swh-directory-table') .should('be.visible'); }); + + it('should have metadata available from javascript', function() { + cy.window().then(win => { + const metadata = win.swh.webapp.getBrowsedSwhObjectMetadata(); + expect(metadata).to.not.be.empty; + expect(metadata).to.have.any.keys('directory'); + }); + }); }); diff --git a/swh/web/templates/includes/show-metadata.html b/swh/web/templates/includes/show-metadata.html --- a/swh/web/templates/includes/show-metadata.html +++ b/swh/web/templates/includes/show-metadata.html @@ -7,30 +7,32 @@ {% load swh_templatetags %} -<button id="metadata-toggler" class="btn btn-default btn-sm swh-popover-toggler" data-toggle="popover" data-popover-content="#metadata-popover"> - <i class="mdi mdi-table mdi-fw" aria-hidden="true"></i> - Show metadata -</button> +{% if user.is_staff %} + <button id="metadata-toggler" class="btn btn-default btn-sm swh-popover-toggler" data-toggle="popover" data-popover-content="#metadata-popover"> + <i class="mdi mdi-table mdi-fw" aria-hidden="true"></i> + Show metadata + </button> -<div id="metadata-popover" style="display:none;"> - <div class="popover-heading">{{ swh_object_name }} metadata</div> - <div class="popover-body"> - <table class="table"> - <tbody> - {% for key, val in swh_object_metadata.items|dictsort:"0.lower" %} - {% if val is not None and val != '' %} - <tr> - <th class="swh-metadata-table-row swh-metadata-table-key">{{ key }}</th> - <td class="swh-metadata-table-row swh-metadata-table-value"> - <pre>{{ val | escape }}</pre> - </td> - </tr> - {% endif %} - {% endfor %} - </tbody> - </table> + <div id="metadata-popover" style="display:none;"> + <div class="popover-heading">{{ swh_object_name }} metadata</div> + <div class="popover-body"> + <table class="table"> + <tbody> + {% for key, val in swh_object_metadata.items|dictsort:"0.lower" %} + {% if val is not None and val != '' %} + <tr> + <th class="swh-metadata-table-row swh-metadata-table-key">{{ key }}</th> + <td class="swh-metadata-table-row swh-metadata-table-value"> + <pre>{{ val | escape }}</pre> + </td> + </tr> + {% endif %} + {% endfor %} + </tbody> + </table> + </div> </div> -</div> +{% endif %} <script> swh.webapp.setBrowsedSwhObjectMetadata({{ swh_object_metadata|jsonify }}) diff --git a/swh/web/templates/includes/top-navigation.html b/swh/web/templates/includes/top-navigation.html --- a/swh/web/templates/includes/top-navigation.html +++ b/swh/web/templates/includes/top-navigation.html @@ -111,9 +111,7 @@ {% include "includes/vault-create-tasks.html" %} {% endif %} {% include "includes/take-new-snapshot.html" %} - {% if user.is_staff %} - {% include "includes/show-metadata.html" %} - {% endif %} + {% include "includes/show-metadata.html" %} {% endif %} </div> </div>