aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-10-22 09:37:27 +0000
committerJan-Hendrik Willms <tleilax+github@gmail.com>2024-10-22 16:47:50 +0200
commit1ba04a6989bcf74938416c9357fda12c8880bb72 (patch)
treee22b027950e912894b2687e88a2bbacd11bbdaae
parent37120592f618f5b0b26882dadcd8b0935d2ad7fc (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 3c77f4e..f885edd 100644
--- a/app/controllers/files.php
+++ b/app/controllers/files.php
@@ -344,6 +344,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);
}
@@ -351,7 +352,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;
@@ -360,7 +361,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 a7d0c93..5c5b770 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 c03c410..4d02e28 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 3d6475c..4ddd8d6 100644
--- a/resources/vue/components/FilesTable.vue
+++ b/resources/vue/components/FilesTable.vue
@@ -305,7 +305,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>