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; }
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; }