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

Resolve #3141 "Administration von Veranstaltungen: csv Export wirft Exception"

Closes #3141

Merge request studip/studip!2117
parent 80c99117
No related branches found
No related tags found
No related merge requests found
...@@ -103,7 +103,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -103,7 +103,7 @@ class Admin_CoursesController extends AuthenticatedController
false, false,
null, null,
null, null,
$datafields_filters[$datafield->id] $datafields_filters[$datafield->id] ?? null
); );
$textWidget->setOnSubmitHandler("STUDIP.AdminCourses.App.changeFilter({'df_".$datafield->id."': $(this).find('input').val()}); return false;"); $textWidget->setOnSubmitHandler("STUDIP.AdminCourses.App.changeFilter({'df_".$datafield->id."': $(this).find('input').val()}); return false;");
return $textWidget; return $textWidget;
...@@ -866,9 +866,9 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -866,9 +866,9 @@ class Admin_CoursesController extends AuthenticatedController
$view_filters = $this->getViewFilters(); $view_filters = $this->getViewFilters();
$data = []; $data = [];
foreach ($courses as $course_id => $course) {
$course_model = Course::find($course_id); foreach ($courses as $course) {
$sem = new Seminar($course_model); $sem = new Seminar($course);
$row = []; $row = [];
if (in_array('number', $filter_config)) { if (in_array('number', $filter_config)) {
...@@ -876,14 +876,14 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -876,14 +876,14 @@ class Admin_CoursesController extends AuthenticatedController
} }
if (in_array('name', $filter_config)) { if (in_array('name', $filter_config)) {
$row['name'] = $course_model->name; $row['name'] = $course->name;
} }
if (in_array('type', $filter_config)) { if (in_array('type', $filter_config)) {
$row['type'] = sprintf( $row['type'] = sprintf(
'%s: %s', '%s: %s',
$sem->getSemClass()['name'], $course->getSemClass()['name'],
$sem->getSemType()['name'] $course->getSemType()['name']
); );
} }
...@@ -896,15 +896,18 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -896,15 +896,18 @@ class Admin_CoursesController extends AuthenticatedController
} }
if (in_array('requests', $filter_config)) { if (in_array('requests', $filter_config)) {
$row['requests'] = $course['room_requests']; $row['requests'] = $course->room_requests->count();
} }
if (in_array('teachers', $filter_config)) { if (in_array('teachers', $filter_config)) {
$row['teachers'] = implode( $row['teachers'] = implode(
', ', ', ',
$course->teachers->map(function ($d) { array_map(
return $d->user->getFullName(); function ($d) {
}) return $d->getUserFullName();
},
CourseMember::findByCourseAndStatus($course->id, 'dozent')
)
); );
} }
...@@ -935,7 +938,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -935,7 +938,7 @@ class Admin_CoursesController extends AuthenticatedController
foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) { foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) {
foreach ($plugin->adminAvailableContents() as $index => $label) { foreach ($plugin->adminAvailableContents() as $index => $label) {
if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) { if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) {
$content = $plugin->adminAreaGetCourseContent($course_model, $index); $content = $plugin->adminAreaGetCourseContent($course, $index);
$row[$plugin->getPluginId() . "_" . $index] = strip_tags(is_a($content, 'Flexi_Template') $row[$plugin->getPluginId() . "_" . $index] = strip_tags(is_a($content, 'Flexi_Template')
? $content->render() ? $content->render()
: $content : $content
......
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