Пример #1
0
 public function actionMove($params)
 {
     $view = $this->ajaxView('user');
     $view->state = "failed";
     if ($params["id"] && $params["targid"]) {
         $user = new Model_User($this->getStorage(), $params["id"]);
         $group = new Model_Group($this->getStorage(), $params["targid"]);
         $view->id = $user->getId();
         $view->group_id = $group->getId();
         if ($view->id && $view->group_id) {
             if ($user->group != $group->getId()) {
                 //$this->canPerform($article, "edit");
                 //$this->canPerform($topic, "edit");
                 $view->state = "moved";
                 $user->group = $group->getId();
                 try {
                     $user->save();
                 } catch (Exception $e) {
                     $view->state = "failed";
                     $view->error = $e->getMessage();
                 }
             } else {
                 $view->state = "notmoved";
             }
         } else {
             $view->error = "User or group not found.";
         }
     } else {
         $view->error = "User or group ID is not set.";
     }
     return $view;
 }
Пример #2
0
 public function actionMove($params)
 {
     $view = $this->ajaxView('group');
     $view->state = "failed";
     if ($params["id"]) {
         $group = new Model_Group($this->getStorage(), $params["id"]);
         $view->id = $group->getId();
         $view->parent_id = (int) $params['targid'];
         if ($view->parent_id != 0) {
             $targGroup = new Model_Group($this->getStorage(), $params["targid"]);
             $view->parent_id = $targGroup->getId();
             if (!$view->parent_id) {
                 $this->error = "Target group not found.";
                 return $view;
             }
         }
         if ($view->id) {
             if ($view->id != $view->parent_id) {
                 $group->parent = $view->parent_id;
                 if ($errors = $group->validate()) {
                     $view->error = "validation failed";
                     $view->errors = $errors;
                 } else {
                     $view->state = "moved";
                     try {
                         $group->save();
                     } catch (Exception $e) {
                         $view->state = "failed";
                         $view->error = $e->getMessage();
                     }
                 }
             } else {
                 $view->state = "notmoved";
                 $view->error = "Group can't be root of itself.";
             }
         } else {
             $view->error = "Group(s) not found.";
         }
     } else {
         $view->error = "Group ID(s) are not set.";
     }
     return $view;
 }