示例#1
0
文件: semester.php 项目: ratbird/hope
 /**
  * This method deletes a semester or a bundle of semesters.
  *
  * @param string $id Id of the semester (or 'bulk' for a bulk operation)
  */
 public function delete_action($id)
 {
     $ids = $id === 'bulk' ? Request::optionArray('ids') : array($id);
     if (count($ids)) {
         $errors = array();
         $deleted = 0;
         $semesters = Semester::findMany($ids);
         foreach ($semesters as $semester) {
             if ($semester->absolute_seminars_count > 0) {
                 $errors[] = sprintf(_('Das Semester "%s" hat noch Veranstaltungen und kann daher nicht gelöscht werden.'), $semester->name);
             } elseif (!$semester->delete()) {
                 $errors[] = sprintf(_('Fehler beim Löschen des Semesters "%s".'), $semester->name);
             } else {
                 $deleted += 1;
             }
         }
         if (count($errors) === 1) {
             PageLayout::postMessage(MessageBox::error($errors[0]));
         } elseif (!empty($errors)) {
             $message = _('Beim Löschen der Semester sind folgende Fehler aufgetreten.');
             PageLayout::postMessage(MessageBox::error($message, $errors));
         }
         if ($deleted > 0) {
             $message = sprintf(_('%u Semester wurde(n) erfolgreich gelöscht.'), $deleted);
             PageLayout::postMessage(MessageBox::success($message));
         }
     }
     $this->redirect('admin/semester');
 }