{# An HTML fragment that generates the grid view of file and folder entries for a server directory. Template variables: directory_info - a DirectoryInfo object containing the server directory information vdisabled_attrs - a string of HTML attributes to add to an HTML element when view permission is denied pathsep - the path separator character image_formats - a list of viewable image file extensions #}
{# Offer a Back link if this isn't the root directory #} {% if directory_info.parent_name() %} {% set back_url = url_for('browse', path=directory_info.parent_name()) %}
{% endif %} {# Loop over all directory items #} {% for entry in directory_info.contents() %} {% if entry.is_directory %} {% set sep = pathsep if directory_info.name() != pathsep else '' %} {% set sub_folder_path = directory_info.name() + sep + entry.filename %} {% set view_url = url_for('browse', path=sub_folder_path) %} {% set view_permitted = is_folder_permitted(sub_folder_path, FolderPermission.ACCESS_VIEW) %}
{% if view_permitted %} Folder
{{ entry.filename }}
{% else %} Folder
{{ entry.filename }}
{% endif %}
{% else %} {% set fpath = (directory_info.name() + pathsep) if directory_info.name() != pathsep else '' %} {% set thumb_url = url_for_thumbnail(src=fpath + entry.filename, stats=False) %} {% set view_url = url_for('details', src=fpath + entry.filename) %} {% set can_view = entry.filename|fileextension in image_formats %} {% if can_view %}
{% else %}
File
{{ entry.filename }}
{{ entry.modified|datetimeformat(True) }}
{{ entry.size|filesizeformat }}
{% endif %} {% endif %} {% endfor %}