public function action_create() { $form = $this->setup_form(); if (\Input::method() == 'POST') { if ($form->validation()->run() == true) { $fields = $form->validated(); try { $group = new Model_Group(array('name' => $fields['name'], 'level' => $fields['level'], 'is_admin' => $fields['is_admin'])); if ($group and $group->save()) { \Session::set_flash('success', 'New group has been created successfully.'); \Response::redirect('groups'); } else { throw new \FuelException('Could not create new group [' . mysql_errno() . '] ' . mysql_error()); } } catch (\FuelException $e) { $errors = $e->getMessage(); } } else { $this->template->set_global('errors', $form->error(), false); } } $this->template->set('content', $form->build(), false); }
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; }