/** * deletes a studygroup * * @param string id of a studypgroup * @param boolean approveDelete * @param string studipticket * * @return void * */ function delete_action($id, $approveDelete = false, $studipticket = false) { global $perm; if ($perm->have_studip_perm('dozent', $id)) { if ($approveDelete && check_ticket($studipticket)) { $messages = array(); $sem = new Seminar($id); $sem->delete(); if ($messages = $sem->getStackedMessages()) { $this->flash['messages'] = $messages; } unset($sem); // Weiterleitung auf die "meine Seminare", wenn es kein Admin // ist, ansonsten auf die Studiengruppenseite if (!$perm->have_perm('root')) { $this->redirect(URLHelper::getURL('dispatch.php/my_courses')); } else { $this->redirect(URLHelper::getURL('dispatch.php/studygroup/browse')); } return; } else { if (!$approveDelete) { $template = $GLOBALS['template_factory']->open('shared/question'); $template->set_attribute('approvalLink', $this->url_for('course/studygroup/delete/' . $id . '/true/' . get_ticket())); $template->set_attribute('disapprovalLink', $this->url_for('course/studygroup/edit/' . $id)); $template->set_attribute('question', _("Sind Sie sicher, dass Sie diese Studiengruppe löschen möchten?")); $this->flash['question'] = $template->render(); $this->redirect('course/studygroup/edit/' . $id); return; } } } throw new Trails_Exception(401); }
} // Trotzdem nochmal nachsehen if (!$perm->have_studip_perm($check_perm, $s_id)) { $msg['error'] .= _("Sie haben keine Berechtigung diese Veranstaltung zu archivieren."); $run = FALSE; } if ($run) { // Bevor es wirklich weg ist. kommt das Seminar doch noch schnell ins Archiv in_archiv($s_id); $sem = new Seminar($s_id); // Delete that Seminar. $sem->delete(); $messages = $sem->getStackedMessages(); unset($sem); // Successful archived, if we are here $msg['success'] .= sprintf(_("Die Veranstaltung %s wurde erfolgreich archiviert und aus der Liste der aktiven Veranstaltungen gelöscht. Sie steht nun im Archiv zur Verfügung."), "<b>" . htmlReady(stripslashes($tmp_name)) . "</b>"); // unset the checker, lecture is now killed! unset($_SESSION['archiv_assi_data']["sem_check"][$s_id]); // redirect non-admin users to overview page, since the course is gone now if (!$perm->have_perm('admin')) { $_SESSION['archive_message'] = $msg; header('Location: ' . URLHelper::getURL('dispatch.php/my_courses/archive')); page_close(); die();