diff options
Diffstat (limited to 'app/controllers/course/grouping.php')
| -rw-r--r-- | app/controllers/course/grouping.php | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/app/controllers/course/grouping.php b/app/controllers/course/grouping.php index 198932e..d7e0867 100644 --- a/app/controllers/course/grouping.php +++ b/app/controllers/course/grouping.php @@ -190,7 +190,28 @@ class Course_GroupingController extends AuthenticatedController // Export all participants. if (Config::get()->EXPORT_ENABLE) { $widget = new ExportWidget(); + $widget->addLink( + _('Teilnehmendenliste als Excel-Datei exportieren'), + URLHelper::getURL('dispatch.php/course/grouping/export', [ + 'course_id' => $this->course_id, + 'format' => 'xlsx', + 'type' => 'grouping' + ]), + Icon::create('export') + ); + $widget->addLink( + _('Teilnehmendenliste als CSV-Datei exportieren'), + URLHelper::getURL('dispatch.php/course/grouping/export', [ + 'course_id' => $this->course_id, + 'format' => 'csv', + 'type' => 'grouping' + ]), + Icon::create('export') + ); + $sidebar->addWidget($widget); + + /* // create csv-export link $csvExport = export_link( $this->course->id, @@ -229,8 +250,7 @@ class Course_GroupingController extends AuthenticatedController $rtfExport, Icon::create('file-text', 'clickable') ); - - $sidebar->addWidget($widget); + */ } } @@ -585,6 +605,33 @@ class Course_GroupingController extends AuthenticatedController } /** + * + */ + public function export_action() + { + $export_format = Request::get('format'); + $export_type = Request::get('type'); + + if ($export_format !== 'csv' && $export_format !== 'xlsx') { + throw new Exception('Wrong format'); + } + + $header = [_('Status'), _('Anrede'), _('Titel'), _('Vorname'), _('Nachname'), _('Titel nachgestellt'), + _('Benutzername'), _('Adresse'), _('Telefonnr.'), _('E-Mail'), _('Anmeldedatum'), _('Matrikelnummer'), + _('Studiengänge')]; + $members = CourseMember::getMemberDataByCourse($this->course_id); + + foreach ($members as &$member) { + $member['Anmeldedatum'] = $member['Anmeldedatum'] ? date("d.m.Y", $member['Anmeldedatum']) : _("unbekannt"); + unset($member['user_id']); + } + + $filename = _('Teilnehmendenexport') . ' ' . $this->course_title . '.' . $export_format; + + $this->render_spreadsheet($header, $members, $export_format, $filename); + } + + /** * Sychronizes members between parent and child course. * @param string $parent_id parent course ID * @param string $child_id child course ID |
