aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-10-22 09:37:27 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2024-10-22 09:37:27 +0000
commit2b91fb7d104d6f74c197fe114bbf057fc4f1e064 (patch)
tree77980970559948d27f9b1a103062bb96bdafa451
parent613ffae1787d349efabafc53ca53771464844f01 (diff)
fix filter in files overview, fixes #3267
Closes #3267 Merge request studip/studip!3525
-rw-r--r--app/controllers/files.php5
-rw-r--r--app/views/files/flat.php9
-rw-r--r--resources/assets/stylesheets/scss/pagination.scss4
-rw-r--r--resources/vue/components/FilesTable.vue4
-rw-r--r--templates/pagination/buttons.php7
-rw-r--r--templates/pagination/links.php7
-rw-r--r--templates/sidebar/time-range-filter.php11
7 files changed, 20 insertions, 27 deletions
diff --git a/app/controllers/files.php b/app/controllers/files.php
index f5957d7..effdf62 100644
--- a/app/controllers/files.php
+++ b/app/controllers/files.php
@@ -343,6 +343,7 @@ class FilesController extends AuthenticatedController
if ($this->begin > $this->end) {
$this->begin = clone $this->end;
}
+
if ($this->begin instanceof DateTime) {
$this->begin->setTime(0,0,0);
}
@@ -350,7 +351,7 @@ class FilesController extends AuthenticatedController
$this->end->setTime(23,59,59);
}
- if (!is_array($_SESSION['files_overview'])) {
+ if (!isset($_SESSION['files_overview'])) {
$_SESSION['files_overview'] = [];
}
$_SESSION['files_overview']['begin'] = $this->begin;
@@ -359,7 +360,7 @@ class FilesController extends AuthenticatedController
if (Request::submitted('course_id')) {
$course_did_change = true;
$this->course_id = Request::get('course_id');
- if (!is_array($_SESSION['files_overview'])) {
+ if (!isset($_SESSION['files_overview'])) {
$_SESSION['files_overview'] = [];
}
$_SESSION['files_overview']['course_id'] = $this->course_id;
diff --git a/app/views/files/flat.php b/app/views/files/flat.php
index 1440117..3072256 100644
--- a/app/views/files/flat.php
+++ b/app/views/files/flat.php
@@ -56,9 +56,14 @@ foreach ($topFolder->getAdditionalActionButtons() as $button) {
:topfolder="topfolder"
:allow_filter="<?= json_encode(!empty($enable_table_filter)) ?>"
table_title="<?= htmlReady($table_title ?? '') ?>"
- pagination="<?= htmlReady($pagination_html ?? '') ?>"
:initial_sort="{sortedBy:'chdate',sortDirection:'desc'}"
- ></files-table>
+ >
+ <? if (!empty($pagination_html)): ?>
+ <template #pagination>
+ <?= $pagination_html ?>
+ </template>
+ <? endif; ?>
+ </files-table>
</form>
<?
if (!empty($show_default_sidebar)) {
diff --git a/resources/assets/stylesheets/scss/pagination.scss b/resources/assets/stylesheets/scss/pagination.scss
index 7a921e0..99b8adf 100644
--- a/resources/assets/stylesheets/scss/pagination.scss
+++ b/resources/assets/stylesheets/scss/pagination.scss
@@ -23,10 +23,6 @@
}
}
- .divider--template {
- display: none;
- }
-
.pagination--link {
background-color: transparent;
border: 0;
diff --git a/resources/vue/components/FilesTable.vue b/resources/vue/components/FilesTable.vue
index 1e19cc9..71db77f 100644
--- a/resources/vue/components/FilesTable.vue
+++ b/resources/vue/components/FilesTable.vue
@@ -298,7 +298,9 @@
<span v-if="tfoot_link" :colspan="(topfolder.buttons && show_bulk_actions ? 1 : numberOfColumns)">
<a :href="tfoot_link.href">{{tfoot_link.text}}</a>
</span>
- <span v-if="pagination" v-html="pagination" class="pagination"></span>
+ <slot name="pagination">
+ <span v-if="pagination" v-html="pagination" class="pagination"></span>
+ </slot>
</div>
</td>
</tr>
diff --git a/templates/pagination/buttons.php b/templates/pagination/buttons.php
index 1c62b10..9bfd0bd 100644
--- a/templates/pagination/buttons.php
+++ b/templates/pagination/buttons.php
@@ -41,11 +41,4 @@
</button>
</li>
<? endif; ?>
-
- <li class="divider--template">
- <button class="pagination--link" name="<?= htmlReady($name) ?>" value="{{value}}" <? if ($dialog !== null) echo "data-dialog=\"{$dialog}\""; ?>>
- <span class="audible"><?= _('Seite') ?></span>
- {{label}}
- </button>
- </li>
</ul>
diff --git a/templates/pagination/links.php b/templates/pagination/links.php
index 6d824ed..007b77a 100644
--- a/templates/pagination/links.php
+++ b/templates/pagination/links.php
@@ -43,11 +43,4 @@
</a>
</li>
<? endif; ?>
-
- <li class="divider--template">
- <a class="pagination--link" href="<?= $link_for('{{value}}') ?>" <? if ($dialog !== null) echo "data-dialog=\"{$dialog}\""; ?>>
- <span class="audible"><?= _('Seite') ?></span>
- {{label}}
- </a>
- </li>
</ul>
diff --git a/templates/sidebar/time-range-filter.php b/templates/sidebar/time-range-filter.php
index 97dbcf6..059c51d 100644
--- a/templates/sidebar/time-range-filter.php
+++ b/templates/sidebar/time-range-filter.php
@@ -2,13 +2,16 @@
<?= CSRFProtection::tokenTag() ?>
<label>
<?= _('Dateien neuer als') ?>:
- <input type="text" name="begin" value="<?= htmlReady($begin ?? '') ?>"
- class="hasDatePicker">
+ <input type="text" name="begin" id="begin"
+ value="<?= htmlReady($begin ?? '') ?>"
+ data-date-picker="<?= htmlReady(json_encode(['<=' => '#end'])) ?>">
</label>
<label>
<?= _('Dateien älter als') ?>:
- <input type="text" name="end" value="<?= htmlReady($end ?? '') ?>"
- class="hasDatePicker submit-on-change">
+ <input type="text" name="end" id="end"
+ value="<?= htmlReady($end ?? '') ?>"
+ data-date-picker="<?= htmlReady(json_encode(['>=' => '#begin'])) ?>"
+ onchange="this.closest('form').submit()">
</label>
<? if (!empty($course_options)) : ?>
<label>