Skip to content
Snippets Groups Projects
Commit 98145ae8 authored by Elmar Ludwig's avatar Elmar Ludwig
Browse files

filter out students without submitted solutions, re #42

parent 79d11cc3
No related branches found
No related tags found
No related merge requests found
...@@ -418,9 +418,6 @@ class SolutionsController extends StudipController ...@@ -418,9 +418,6 @@ class SolutionsController extends StudipController
$widget->addLink(_vips('Punktetabelle exportieren'), $widget->addLink(_vips('Punktetabelle exportieren'),
$this->url_for('solutions/assignment_solutions', ['assignment_id' => $assignment_id, 'format' => 'csv']), $this->url_for('solutions/assignment_solutions', ['assignment_id' => $assignment_id, 'format' => 'csv']),
Icon::create('download')); Icon::create('download'));
$widget->addLink(_vips('Lösungen der Teilnehmer exportieren'),
$this->url_for('solutions/download_responses', ['assignment_id' => $assignment_id]),
Icon::create('download'));
if ($assignment->type === 'exam') { if ($assignment->type === 'exam') {
$widget->addLink(_vips('Abgabeprotokolle exportieren'), $widget->addLink(_vips('Abgabeprotokolle exportieren'),
...@@ -428,6 +425,9 @@ class SolutionsController extends StudipController ...@@ -428,6 +425,9 @@ class SolutionsController extends StudipController
Icon::create('download')); Icon::create('download'));
} }
$widget->addLink(_vips('Lösungen der Teilnehmer exportieren'),
$this->url_for('solutions/download_responses', ['assignment_id' => $assignment_id]),
Icon::create('download'));
$widget->addLink(_vips('Abgegebene Dateien herunterladen'), $widget->addLink(_vips('Abgegebene Dateien herunterladen'),
$this->url_for('solutions/download_all_uploads', ['assignment_id' => $assignment_id]), $this->url_for('solutions/download_all_uploads', ['assignment_id' => $assignment_id]),
Icon::create('download')); Icon::create('download'));
...@@ -510,12 +510,14 @@ class SolutionsController extends StudipController ...@@ -510,12 +510,14 @@ class SolutionsController extends StudipController
foreach ($arrays['solvers'] as $solver) { foreach ($arrays['solvers'] as $solver) {
$row = [$solver['name']]; $row = [$solver['name']];
$has_solution = false;
foreach ($arrays['exercises'] as $exercise) { foreach ($arrays['exercises'] as $exercise) {
$solution = $arrays['solutions'][$solver['id']][$exercise['id']]; // may be null $solution = $arrays['solutions'][$solver['id']][$exercise['id']]; // may be null
$export = []; $export = [];
if ($solution) { if ($solution) {
$has_solution = true;
$response = VipsSolution::find($solution['id'])->response; $response = VipsSolution::find($solution['id'])->response;
$export = $exercises[$exercise['id']]->exportResponse($response); $export = $exercises[$exercise['id']]->exportResponse($response);
} }
...@@ -525,8 +527,10 @@ class SolutionsController extends StudipController ...@@ -525,8 +527,10 @@ class SolutionsController extends StudipController
} }
} }
if ($has_solution) {
$data[] = $row; $data[] = $row;
} }
}
$this->render_csv($data, $assignment->test->title . '.csv'); $this->render_csv($data, $assignment->test->title . '.csv');
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment