diff --git a/filesfolders/templates/filesfolders/_details_card.html b/filesfolders/templates/filesfolders/_details_card.html index 52218d84..62295bb0 100644 --- a/filesfolders/templates/filesfolders/_details_card.html +++ b/filesfolders/templates/filesfolders/_details_card.html @@ -9,7 +9,6 @@ padding-right: 0; width: 20px; } - .table#sodar-ff-details-table tr td:nth-child(2) { padding-left: 4px; } @@ -21,21 +20,18 @@ display: none; } } - @media screen and (max-width: 900px) { .table#sodar-ff-details-table tr th:nth-child(5), .table#sodar-ff-details-table tr td:nth-child(6) { display: none; } } - @media screen and (max-width: 750px) { .table#sodar-ff-details-table tr th:nth-child(3), .table#sodar-ff-details-table tr td:nth-child(4) { display: none; } } - @media screen and (max-width: 500px) { .table#sodar-ff-details-table tr th:nth-child(2), .table#sodar-ff-details-table tr td:nth-child(3) { @@ -45,7 +41,8 @@ {% if can_view_data %} - +
{% include 'filesfolders/_list_header.html' with details_card_mode=True %} diff --git a/filesfolders/templates/filesfolders/_file_buttons.html b/filesfolders/templates/filesfolders/_file_buttons.html deleted file mode 100644 index 1b0cd3f7..00000000 --- a/filesfolders/templates/filesfolders/_file_buttons.html +++ /dev/null @@ -1,26 +0,0 @@ -{% load rules %} - -{# Projectroles dependency #} -{% load projectroles_common_tags %} - -{% has_perm 'filesfolders.update_data_own' request.user file.project as can_update_own %} -{% has_perm 'filesfolders.update_data_all' request.user file.project as can_update_all %} - -
- - -
diff --git a/filesfolders/templates/filesfolders/_file_dropdown.html b/filesfolders/templates/filesfolders/_file_dropdown.html new file mode 100644 index 00000000..e1596baf --- /dev/null +++ b/filesfolders/templates/filesfolders/_file_dropdown.html @@ -0,0 +1,26 @@ +{% load rules %} + +{# Projectroles dependency #} +{% load projectroles_common_tags %} + +{% has_perm 'filesfolders.update_data_own' request.user file.project as can_update_own %} +{% has_perm 'filesfolders.update_data_all' request.user file.project as can_update_all %} + + + diff --git a/filesfolders/templates/filesfolders/_file_item.html b/filesfolders/templates/filesfolders/_file_item.html index 4807f00a..78dbb1ac 100644 --- a/filesfolders/templates/filesfolders/_file_item.html +++ b/filesfolders/templates/filesfolders/_file_item.html @@ -20,13 +20,25 @@ {% get_flag_classes item.flag as flag_classes %} {% endif %} {% if item|get_class == 'Folder' %} - {{ item.name|force_wrap:24|safe }} + + {{ item.name|force_wrap:24|safe }} + {% elif item|get_class == 'HyperLink' %} - {{ item.name|force_wrap:24|safe }} + + {{ item.name|force_wrap:24|safe }} + {% elif item|get_class == 'File' %} - {{ item.name|force_wrap:24|safe }} + + {{ item.name|force_wrap:24|safe }} + {% if allow_public_links and item.public_url and can_share_link %} - + {% endif %} @@ -48,17 +60,16 @@ {# Date column #} - {% if not details_card_mode %} {# Action button column #} - diff --git a/filesfolders/templates/filesfolders/_list_buttons.html b/filesfolders/templates/filesfolders/_file_ops.html similarity index 93% rename from filesfolders/templates/filesfolders/_list_buttons.html rename to filesfolders/templates/filesfolders/_file_ops.html index 70729f79..be85621d 100644 --- a/filesfolders/templates/filesfolders/_list_buttons.html +++ b/filesfolders/templates/filesfolders/_file_ops.html @@ -1,11 +1,11 @@ -
+
- diff --git a/filesfolders/templates/filesfolders/_folder_buttons.html b/filesfolders/templates/filesfolders/_folder_buttons.html deleted file mode 100644 index 539a2c1f..00000000 --- a/filesfolders/templates/filesfolders/_folder_buttons.html +++ /dev/null @@ -1,19 +0,0 @@ -{# Projectroles dependency #} -{% load projectroles_common_tags %} - -
- - -
diff --git a/filesfolders/templates/filesfolders/_folder_dropdown.html b/filesfolders/templates/filesfolders/_folder_dropdown.html new file mode 100644 index 00000000..d01a2cc1 --- /dev/null +++ b/filesfolders/templates/filesfolders/_folder_dropdown.html @@ -0,0 +1,19 @@ +{# Projectroles dependency #} +{% load projectroles_common_tags %} + + + diff --git a/filesfolders/templates/filesfolders/_hyperlink_buttons.html b/filesfolders/templates/filesfolders/_hyperlink_buttons.html deleted file mode 100644 index 64f67d16..00000000 --- a/filesfolders/templates/filesfolders/_hyperlink_buttons.html +++ /dev/null @@ -1,19 +0,0 @@ -{# Projectroles dependency #} -{% load projectroles_common_tags %} - - diff --git a/filesfolders/templates/filesfolders/_hyperlink_dropdown.html b/filesfolders/templates/filesfolders/_hyperlink_dropdown.html new file mode 100644 index 00000000..95819b07 --- /dev/null +++ b/filesfolders/templates/filesfolders/_hyperlink_dropdown.html @@ -0,0 +1,19 @@ +{# Projectroles dependency #} +{% load projectroles_common_tags %} + + + diff --git a/filesfolders/templates/filesfolders/_list_header.html b/filesfolders/templates/filesfolders/_list_header.html index f5d9a89c..7b93a48b 100644 --- a/filesfolders/templates/filesfolders/_list_header.html +++ b/filesfolders/templates/filesfolders/_list_header.html @@ -1,12 +1,12 @@
- + {% if not details_card_mode %} - - + {% endif %} @@ -203,51 +205,92 @@

{% endblock javascript %} diff --git a/filesfolders/templates/filesfolders/public_link.html b/filesfolders/templates/filesfolders/public_link.html index a0fa6f40..a2442afa 100644 --- a/filesfolders/templates/filesfolders/public_link.html +++ b/filesfolders/templates/filesfolders/public_link.html @@ -23,12 +23,10 @@

Public Link to File "{{ file.name }}"

Warning: Anyone with this URL can access the file, including users without permissions in the {% get_display_name 'PROJECT' %}. -
Link
{{ public_url }}
-
diff --git a/filesfolders/tests/test_ui.py b/filesfolders/tests/test_ui.py index 2452e7e7..1411b268 100644 --- a/filesfolders/tests/test_ui.py +++ b/filesfolders/tests/test_ui.py @@ -101,6 +101,9 @@ def setUp(self): owner=self.user_contributor, description='', ) + self.url = reverse( + 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + ) def test_readme(self): """Test rendering readme if it has been uploaded to the folder""" @@ -127,15 +130,12 @@ def test_readme(self): self.user_contributor, self.user_guest, ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) self.assert_element_exists( - expected_true, url, 'sodar-ff-readme-card', True + expected_true, self.url, 'sodar-ff-readme-card', True ) - def test_buttons_list(self): - """Test file/folder list-wide button visibility""" + def test_ops_dropdown(self): + """Test operations dropdown visibility""" expected_true = [ self.superuser, self.user_owner_cat, @@ -146,18 +146,15 @@ def test_buttons_list(self): self.user_contributor, ] expected_false = [self.user_guest_cat, self.user_guest] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) self.assert_element_exists( - expected_true, url, 'sodar-ff-buttons-list', True + expected_true, self.url, 'sodar-ff-file-ops-dropdown', True ) self.assert_element_exists( - expected_false, url, 'sodar-ff-buttons-list', False + expected_false, self.url, 'sodar-ff-file-ops-dropdown', False ) - def test_buttons_list_archive(self): - """Test file/folder list-wide button visibility for archived project""" + def test_ops_dropdown_archive(self): + """Test ops dropdown visibility for archived project""" self.project.set_archive() expected_true = [self.superuser] expected_false = [ @@ -170,18 +167,15 @@ def test_buttons_list_archive(self): self.user_contributor, self.user_guest, ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) self.assert_element_exists( - expected_true, url, 'sodar-ff-buttons-list', True + expected_true, self.url, 'sodar-ff-file-ops-dropdown', True ) self.assert_element_exists( - expected_false, url, 'sodar-ff-buttons-list', False + expected_false, self.url, 'sodar-ff-file-ops-dropdown', False ) - def test_buttons_file(self): - """Test file action buttons visibility""" + def test_file_dropdown(self): + """Test file dropdown visibility""" expected = [ (self.superuser, 2), (self.user_owner_cat, 2), @@ -193,13 +187,12 @@ def test_buttons_file(self): (self.user_contributor, 1), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-file-dropdown', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-file-buttons') - def test_buttons_file_archive(self): - """Test file action buttons visibility for archived project""" + def test_file_dropdown_archive(self): + """Test file dropdown visibility for archived project""" self.project.set_archive() expected = [ (self.superuser, 2), @@ -212,13 +205,12 @@ def test_buttons_file_archive(self): (self.user_contributor, 0), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-file-dropdown', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-file-buttons') - def test_buttons_folder(self): - """Test folder action buttons visibility""" + def test_folder_dropdown(self): + """Test folder dropdown visibility""" expected = [ (self.superuser, 2), (self.user_owner_cat, 2), @@ -230,13 +222,12 @@ def test_buttons_folder(self): (self.user_contributor, 1), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-folder-dropdown', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-folder-buttons') - def test_buttons_folder_archive(self): - """Test folder action buttons visibility for archived project""" + def test_folder_dropdown_archive(self): + """Test folder dropdown visibility for archived project""" self.project.set_archive() expected = [ (self.superuser, 2), @@ -249,13 +240,12 @@ def test_buttons_folder_archive(self): (self.user_contributor, 0), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-folder-dropdown', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-folder-buttons') - def test_buttons_hyperlink(self): - """Test hyperlink action buttons visibility""" + def test_hyperlink_dropdown(self): + """Test hyperlink dropdown visibility""" expected = [ (self.superuser, 2), (self.user_owner_cat, 2), @@ -267,13 +257,12 @@ def test_buttons_hyperlink(self): (self.user_contributor, 1), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-hyperlink-dropdown', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-hyperlink-buttons') - def test_buttons_hyperlink_archive(self): - """Test hyperlink action buttons visibility for archived project""" + def test_hyperlink_dropdown_archive(self): + """Test hyperlink dropdown visibility for archived project""" self.project.set_archive() expected = [ (self.superuser, 2), @@ -286,10 +275,9 @@ def test_buttons_hyperlink_archive(self): (self.user_contributor, 0), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-hyperlink-dropdown', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-hyperlink-buttons') def test_file_checkboxes(self): """Test batch file editing checkbox visibility""" @@ -304,10 +292,7 @@ def test_file_checkboxes(self): (self.user_contributor, 3), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) - self.assert_element_count(expected, url, 'sodar-ff-checkbox') + self.assert_element_count(expected, self.url, 'sodar-ff-checkbox') def test_file_checkboxes_archive(self): """Test batch file editing checkbox visibility for archived project""" @@ -323,10 +308,7 @@ def test_file_checkboxes_archive(self): (self.user_contributor, 0), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) - self.assert_element_count(expected, url, 'sodar-ff-checkbox') + self.assert_element_count(expected, self.url, 'sodar-ff-checkbox') def test_public_link(self): """Test public link visibility""" @@ -341,10 +323,7 @@ def test_public_link(self): (self.user_contributor, 1), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) - self.assert_element_count(expected, url, 'sodar-ff-link-public') + self.assert_element_count(expected, self.url, 'sodar-ff-link-public') def test_public_link_disable(self): """Test public link visibility if allow_public_links is set to False""" @@ -366,10 +345,7 @@ def test_public_link_disable(self): (self.user_contributor, 0), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) - self.assert_element_count(expected, url, 'sodar-ff-link-public') + self.assert_element_count(expected, self.url, 'sodar-ff-link-public') def test_public_link_archive(self): """Test public link visibility for archived project""" @@ -385,10 +361,7 @@ def test_public_link_archive(self): (self.user_contributor, 1), (self.user_guest, 0), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} - ) - self.assert_element_count(expected, url, 'sodar-ff-link-public') + self.assert_element_count(expected, self.url, 'sodar-ff-link-public') def test_item_flags(self): """Test item flagging""" @@ -410,10 +383,9 @@ def test_item_flags(self): (self.user_contributor, 3), (self.user_guest, 3), ] - url = reverse( - 'filesfolders:list', kwargs={'project': self.project.sodar_uuid} + self.assert_element_count( + expected, self.url, 'sodar-ff-flag-icon', 'class' ) - self.assert_element_count(expected, url, 'sodar-ff-flag-icon', 'class') class TestSearch(FolderMixin, FileMixin, HyperLinkMixin, TestUIBase):
{% get_user_html item.owner as user_html %}{{ user_html|safe }}{{ item.date_modified|date:'Y-m-d H:i' }} + {% if can_update_all or item.owner == request.user and can_update_own %} {% if item|get_class == 'Folder' %} - {% include 'filesfolders/_folder_buttons.html' with item_uuid=item.uuid %} + {% include 'filesfolders/_folder_dropdown.html' with item_uuid=item.uuid %} {% elif item|get_class == 'HyperLink' %} - {% include 'filesfolders/_hyperlink_buttons.html' with link=item %} + {% include 'filesfolders/_hyperlink_dropdown.html' with link=item %} {% elif item|get_class == 'File' %} - {% include 'filesfolders/_file_buttons.html' with file=file %} + {% include 'filesfolders/_file_dropdown.html' with file=file %} {% endif %} {% endif %}
NameItem Size Description Owner Updated + {% if can_update_own or can_update_all %} {% if item|get_class == 'File' and allow_public_links and item.public_url and can_share_link %} - + {% endif %} diff --git a/filesfolders/templates/filesfolders/_search_results.html b/filesfolders/templates/filesfolders/_search_results.html index 347711ca..7da53da0 100644 --- a/filesfolders/templates/filesfolders/_search_results.html +++ b/filesfolders/templates/filesfolders/_search_results.html @@ -8,15 +8,12 @@ .table#sodar-ff-search-table thead tr th:nth-child(2) { width: 75px !important; } - .table#sodar-ff-search-table tbody tr td:nth-child(2) { width: 75px !important; } - .table#sodar-ff-search-table thead tr th:nth-child(4) { width: 75px !important; } - .table#sodar-ff-search-table tbody tr td:nth-child(4) { width: 75px !important; } @@ -28,21 +25,18 @@ display: none; } } - @media screen and (max-width: 1100px) { .table#sodar-ff-search-table tr th:nth-child(2), .table#sodar-ff-search-table tr td:nth-child(2) { display: none; } } - @media screen and (max-width: 900px) { .table#sodar-ff-search-table tr th:nth-child(5), .table#sodar-ff-search-table tr td:nth-child(5) { display: none; } } - @media screen and (max-width: 600px) { .table#sodar-ff-search-table tr th:nth-child(3), .table#sodar-ff-search-table tr td:nth-child(3) { @@ -52,7 +46,6 @@ {% if search_results.all.items|length > 0 %} - {% include 'projectroles/_search_header.html' with search_title=search_results.all.title result_count=search_results.all.items|length %} @@ -75,5 +68,4 @@
{% include 'projectroles/_search_footer.html' %} - {% endif %} diff --git a/filesfolders/templates/filesfolders/batch_edit_confirm.html b/filesfolders/templates/filesfolders/batch_edit_confirm.html index 7308fecc..e93c991f 100644 --- a/filesfolders/templates/filesfolders/batch_edit_confirm.html +++ b/filesfolders/templates/filesfolders/batch_edit_confirm.html @@ -131,7 +131,6 @@

- {% endblock projectroles_extend %} diff --git a/filesfolders/templates/filesfolders/file_confirm_delete.html b/filesfolders/templates/filesfolders/file_confirm_delete.html index 9616b4d8..d596be0d 100644 --- a/filesfolders/templates/filesfolders/file_confirm_delete.html +++ b/filesfolders/templates/filesfolders/file_confirm_delete.html @@ -16,7 +16,6 @@

Confirm File Deletion

-
{% csrf_token %}
diff --git a/filesfolders/templates/filesfolders/file_form.html b/filesfolders/templates/filesfolders/file_form.html index 3b96a060..ba595751 100644 --- a/filesfolders/templates/filesfolders/file_form.html +++ b/filesfolders/templates/filesfolders/file_form.html @@ -47,7 +47,6 @@

{% csrf_token %} - {{ form.file | as_crispy_field }} {{ form.unpack_archive | as_crispy_field }} {{ form.folder | as_crispy_field }} @@ -90,7 +89,6 @@

{% block javascript %} {{ block.super }} - {% endblock javascript %} diff --git a/filesfolders/templates/filesfolders/folder_confirm_delete.html b/filesfolders/templates/filesfolders/folder_confirm_delete.html index 68f6621e..3ac913d5 100644 --- a/filesfolders/templates/filesfolders/folder_confirm_delete.html +++ b/filesfolders/templates/filesfolders/folder_confirm_delete.html @@ -58,7 +58,6 @@

Confirm Folder Deletion

{% endif %} -

{% endblock projectroles_extend %} diff --git a/filesfolders/templates/filesfolders/folder_form.html b/filesfolders/templates/filesfolders/folder_form.html index f867311a..5861a611 100644 --- a/filesfolders/templates/filesfolders/folder_form.html +++ b/filesfolders/templates/filesfolders/folder_form.html @@ -36,7 +36,6 @@

{% csrf_token %} - {{ form.name | as_crispy_field }} {{ form.folder | as_crispy_field }} {{ form.description | as_crispy_field }} diff --git a/filesfolders/templates/filesfolders/hyperlink_form.html b/filesfolders/templates/filesfolders/hyperlink_form.html index 12f42b23..980c5286 100644 --- a/filesfolders/templates/filesfolders/hyperlink_form.html +++ b/filesfolders/templates/filesfolders/hyperlink_form.html @@ -36,7 +36,6 @@

{% csrf_token %} - {{ form.name | as_crispy_field }} {{ form.url | as_crispy_field }} {{ form.folder | as_crispy_field }} diff --git a/filesfolders/templates/filesfolders/project_files.html b/filesfolders/templates/filesfolders/project_files.html index abb95ac8..fd056aba 100644 --- a/filesfolders/templates/filesfolders/project_files.html +++ b/filesfolders/templates/filesfolders/project_files.html @@ -75,7 +75,7 @@

Files

{% if can_add_data %} - {% include 'filesfolders/_list_buttons.html' with project=project folder=folder up=False %} + {% include 'filesfolders/_file_ops.html' with project=project folder=folder up=False %} {% endif %}
@@ -89,7 +89,7 @@

Files

-
+

Empty folder + Empty folder +