|
|
|
= Icon::create('arr_1right')->asImg(['class' => 'solution-open', 'title' => _('Aufgaben anzeigen')]) ?>
= Icon::create('arr_1down')->asImg(['class' => 'solution-close', 'title' => _('Aufgaben verstecken')]) ?>
= htmlReady($solver['name']) ?>
if ($solver['type'] == 'single') : ?>
/* running info */ ?>
if ($assignment->type == 'exam' && $view === 'working') : ?>
$ip = $solver['running_info']['ip'] ?>
$start = $solver['running_info']['start'] ?>
$remaining = $solver['running_info']['remaining'] ?>
= _('IP-Adresse') ?>: = htmlReady($ip) ?> (= htmlReady(gethostbyaddr($ip)) ?>)
= _('Start') ?>: = sprintf(_('%s Uhr'), date('H:i', $start)) ?>
if ($remaining > 0): ?>
(= sprintf(ngettext('noch %d Minute', 'noch %d Minuten', $remaining), $remaining) ?>)
endif ?>
endif ?>
elseif ($solver['type'] == 'group') : ?>
/* list members in group */ ?>
foreach ($solver['members'] as $member) : ?>
= htmlReady($member['name']) ?>
endforeach ?>
endif ?>
|
/* reached points */ ?>
= sprintf('%g / %g', $reached_points, $overall_max_points) ?>
|
/* percent */ ?>
if ($overall_max_points != 0) : ?>
= sprintf('%.1f %%', round($reached_points / $overall_max_points * 100, 1)) ?>
else : ?>
–
endif ?>
|
/* progress */ ?>
if ($overall_max_points != 0) : ?>
$value = round($progress / $overall_max_points * 100) ?>
else : ?>
–
endif ?>
|
/* uncorrected solutions */ ?>
if ($uncorrected_solutions > 0) : ?>
= $uncorrected_solutions ?>
else : ?>
–
endif ?>
|
/* unanswered exercises */ ?>
if ($unanswered_exercises > 0) : ?>
= $unanswered_exercises ?>
else : ?>
–
endif ?>
|
$menu = ActionMenu::get() ?>
if ($assignment->type === 'exam' && $view !== 'pending') : ?>
if ($assignment->isRunning()) : ?>
$menu->addLink($controller->url_for('vips/solutions/edit_assignment_attempt', ['assignment_id' => $assignment_id, 'solver_id' => $solver['user_id'], 'view' => $view]),
_('Abgabezeitpunkt bearbeiten'), Icon::create('edit'), ['data-dialog' => 'size=auto']
) ?>
$menu->addButton('reset', _('Teilnahme und Lösungen zurücksetzen'), Icon::create('refresh'), [
'form' => 'post_form',
'formaction' => $controller->url_for('vips/solutions/delete_solutions', ['assignment_id' => $assignment_id, 'solver_id' => $solver['user_id'], 'view' => $view]),
'data-confirm' => _('Achtung: Wenn Sie die Teilnahme zurücksetzen, werden alle Lösungen der teilnehmenden Person archiviert!')
]) ?>
endif ?>
$menu->addLink($controller->url_for('vips/solutions/show_assignment_log', ['assignment_id' => $assignment_id, 'solver_id' => $solver['user_id']]),
_('Abgabeprotokoll anzeigen'), Icon::create('log'), ['data-dialog' => 'size=auto']
) ?>
endif ?>
if ($uploaded_files > 0): ?>
$menu->addLink($controller->url_for('vips/solutions/download_uploads', ['assignment_id' => $assignment_id, 'solver_id' => $solver['user_id']]),
_('Abgegebene Dateien herunterladen'), Icon::create('download')
) ?>
endif ?>
$menu->addLink($controller->url_for('vips/sheets/print_assignments', ['assignment_id' => $assignment_id, 'user_ids[]' => $solver['user_id'], 'print_files' => 1, 'print_correction' => !$view]),
_('Aufgabenblatt drucken'), Icon::create('print'), ['target' => '_blank']
) ?>
if ($solver['type'] == 'single') : ?>
$menu->addLink(URLHelper::getURL('dispatch.php/messages/write', ['rec_uname' => $solver['username']]),
sprintf(_('Nachricht an „%s“ schreiben'), $solver['name']), Icon::create('mail'), ['data-dialog' => '']
) ?>
elseif ($solver['type'] == 'group') : ?>
$receivers = array_column($solver['members'], 'username') ?>
$menu->addLink(URLHelper::getURL('dispatch.php/messages/write', ['rec_uname' => $receivers]),
_('Nachricht an die Gruppe schreiben'), Icon::create('mail'), ['data-dialog' => '']
) ?>
if ($assignment->isFinished()) : ?>
$menu->addLink($controller->url_for('vips/solutions/edit_group_dialog', ['assignment_id' => $assignment_id, 'solver_id' => $solver['user_id'], 'view' => $view]),
_('Personen aus der Gruppe entfernen'), Icon::create('community'), ['data-dialog' => 'size=auto']
) ?>
endif ?>
endif ?>
= $menu->render() ?>
|