Skip to content
Snippets Groups Projects
Commit e45e4fed authored by André Noack's avatar André Noack
Browse files

Resolve #2822 "Fragebogen: Sortierung nach Spaltenüberschriften"

Closes #2822

Merge request studip/studip!1901
parent b690ffea
No related branches found
No related tags found
No related merge requests found
......@@ -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) {
......
......@@ -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) : ?>
......
<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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment