diff --git a/app/controllers/questionnaire.php b/app/controllers/questionnaire.php index b0cbeba885d87e3720bc65b5821bb266ec914994..3f1be16b2f6e9cea6640ae57d19ea8b23145b98e 100644 --- a/app/controllers/questionnaire.php +++ b/app/controllers/questionnaire.php @@ -34,7 +34,7 @@ class QuestionnaireController extends AuthenticatedController if (!$GLOBALS['perm']->have_perm('autor')) { throw new AccessDeniedException('Only for logged in users.'); } - $this->questionnaires = Questionnaire::findBySQL("user_id = ? ORDER BY mkdate DESC", [$GLOBALS['user']->id]); + $this->questionnaires = Questionnaire::findBySQL("user_id = ? ORDER BY title ASC", [$GLOBALS['user']->id]); foreach ($this->questionnaires as $questionnaire) { if (!$questionnaire['visible'] && $questionnaire->isRunning()) { $questionnaire->start(); @@ -55,7 +55,7 @@ class QuestionnaireController extends AuthenticatedController Navigation::activateItem("/course/admin/questionnaires"); $this->statusgruppen = Statusgruppen::findByRange_id($this->range_id); $this->questionnaires = Questionnaire::findBySQL( - "INNER JOIN questionnaire_assignments USING (questionnaire_id) WHERE (questionnaire_assignments.range_id = ? AND questionnaire_assignments.range_type = ?) OR (questionnaire_assignments.range_id IN (?) AND questionnaire_assignments.range_type = 'statusgruppe') ORDER BY questionnaires.mkdate DESC", + "INNER JOIN questionnaire_assignments USING (questionnaire_id) WHERE (questionnaire_assignments.range_id = ? AND questionnaire_assignments.range_type = ?) OR (questionnaire_assignments.range_id IN (?) AND questionnaire_assignments.range_type = 'statusgruppe') ORDER BY questionnaires.title ASC", [$this->range_id, $this->range_type, array_map(function ($g) { return $g->getId(); }, $this->statusgruppen)] ); foreach ($this->questionnaires as $questionnaire) { diff --git a/app/views/questionnaire/_overview_questionnaire.php b/app/views/questionnaire/_overview_questionnaire.php index a6f0301b8dbdfc93d386ff598017f6315e859c0e..d1d9066da25ca7dce23889d75817b50d726d3e81 100644 --- a/app/views/questionnaire/_overview_questionnaire.php +++ b/app/views/questionnaire/_overview_questionnaire.php @@ -8,14 +8,14 @@ <?= htmlReady($questionnaire['title']) ?> </a> </td> - <td> + <td data-text="<?= (int) $questionnaire['startdate'] ?>"> <? if ($questionnaire['startdate']): ?> <?= date('d.m.Y H:i', $questionnaire['startdate']) ?> <? else: ?> <?= _('händisch') ?> <? endif; ?> </td> - <td> + <td data-text="<?= (int) $questionnaire['stopdate'] ?>"> <? if ($questionnaire['stopdate']): ?> <?= date('d.m.Y H:i', $questionnaire['stopdate']) ?> <? else: ?> @@ -67,7 +67,7 @@ <? endif ?> </td> <td> - <?= htmlReady($countedAnswers) ?> + <?= htmlReady($countedAnswers ?: '0') ?> </td> <td class="actions"> <? if ($questionnaire->isRunning() && $countedAnswers) : ?> diff --git a/app/views/questionnaire/overview.php b/app/views/questionnaire/overview.php index d466689f3f973272e770798b118676f0a2cb64a3..9062e1cc7a25930463431a7d5532ca4152887d30 100644 --- a/app/views/questionnaire/overview.php +++ b/app/views/questionnaire/overview.php @@ -1,15 +1,15 @@ <form action="<?= $controller->link_for("questionnaire/bulkdelete", compact('range_type', 'range_id')) ?>" method="post"> <?= CSRFProtection::tokenTag() ?> - <table class="default" id="questionnaire_overview"> + <table class="default sortable-table" data-sortlist="[[1, 0]]" id="questionnaire_overview"> <thead> <tr> <th width="20"><input type="checkbox" data-proxyfor="#questionnaire_overview > tbody input[type=checkbox]"></th> - <th><?= _('Fragebogen') ?></th> - <th><?= _('Startet') ?></th> - <th><?= _('Endet') ?></th> - <th><?= _('Eingebunden') ?></th> - <th><?= _('Teilnehmende') ?></th> + <th data-sort="text"><?= _('Fragebogen') ?></th> + <th data-sort="digit"><?= _('Startet') ?></th> + <th data-sort="digit"><?= _('Endet') ?></th> + <th data-sort="text"><?= _('Eingebunden') ?></th> + <th data-sort="digit"><?= _('Teilnehmende') ?></th> <th class="actions"><?= _('Aktionen') ?></th> </tr> </thead>