예제 #1
0
파일: studygroup.php 프로젝트: ratbird/hope
 /**
  * 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);
 }
예제 #2
0
        $msg['error'] .= _("Sie haben keine Berechtigung zum archivieren von Veranstaltungen.");
        $run = FALSE;
    }
    // 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'));