Esempio n. 1
0
 /**
  * get lockrule object for given id
  * from static object pool
  * 
  * @param string $lock_id id of lockrule
  * @return LockRule
  */
 public static function get($lock_id)
 {
     if (!array_key_exists($lock_id, self::$lockrules)) {
         self::$lockrules[$lock_id] = LockRule::find($lock_id);
     }
     return self::$lockrules[$lock_id];
 }
Esempio n. 2
0
 function delete_action($lock_rule_id)
 {
     $this->lock_rule = LockRule::find($lock_rule_id);
     if (!(!$this->lock_rule->isNew() && ($GLOBALS['perm']->have_perm('root') || $this->lock_rule->user_id == $GLOBALS['user']->id))) {
         throw new Trails_Exception(403);
     }
     CSRFProtection::verifyUnsafeRequest();
     if ($this->lock_rule->delete()) {
         PageLayout::postMessage(MessageBox::success(_('Die Sperrebene wurde gelöscht.')));
     }
     $this->redirect($this->url_for('admin/lockrules'));
 }
Esempio n. 3
0
 /**
  * set the lock rule
  *
  * @return void
  */
 public function set_lock_rule_action()
 {
     CSRFProtection::verifyUnsafeRequest();
     if (!$GLOBALS['perm']->have_studip_perm('admin', $GLOBALS['SessionSeminar'])) {
         throw new AccessDeniedException();
     }
     $course = Course::findCurrent();
     if ($course) {
         $rule_id = Request::get('lock_sem') != 'none' ? Request::get('lock_sem') : null;
         $course->lock_rule = $rule_id;
         if ($course->store()) {
             if (!is_null($rule_id)) {
                 $lock_rule = LockRule::find($rule_id);
                 $msg = sprintf(_('Die Sperrebene %s wurde erfolgreich übernommen!'), $lock_rule->name);
             } else {
                 $msg = _('Die Sperrebene wurde erfolgreich zurückgesetzt!');
             }
             PageLayout::postMessage(MessageBox::success($msg));
         }
     }
     $this->relocate($this->url_for('/index'));
 }