public function initialize() { $this->add(new Text("firstname")); $lastname = new Text("lastname"); $this->add($lastname); $username = new Text("username"); $username->setFilters(array('striptags', 'string')); $username->addValidators(array(new PresenceOf())); $this->add($username); // password $password = new Password('password'); $password->addValidator(new PresenceOf(array('message' => 'password'))); $this->add($password); $this->add(new Text("avatar")); $email = new Text("email"); $email->addValidators(array(new PresenceOf(), new Email())); $this->add($email); $this->add(new Select('gender', array('0' => 'Nữ', '1' => 'Nam'))); $this->add(new Text("birthday")); $this->add(new Text("address")); $this->add(new Text("phone")); $this->add(new Select('gender', array('0' => 'Không', '1' => 'Có'))); $this->add(new Select('status', array('0' => 'Không', '1' => 'Có'), array('class' => 'medium'))); $department_id = new Select('department_id', \Modules\Backend\Models\Member_department::find(), array('using' => array('id', 'name'), 'class' => 'medium')); $this->add($department_id); $group_id = new Select('group_id', \Modules\Backend\Models\Permission_group::find(), array('using' => array('id', 'name'), 'class' => 'medium')); $this->add($group_id); }
public function editAction($id = null) { $this->assets->addCss('library/bootstrap/css/bootstrap-switch.min.css'); $this->assets->addJs('library/bootstrap/js/bootstrap-switch.min.js'); $this->tag->setTitle("Quản lý cấu hình phân quyền: Chỉnh sửa"); $this->view->title_action = 'Chỉnh sửa'; $this->view->group_id = $id; $item = \Modules\Backend\Models\Permission_group_privilege::find(array("conditions" => "group_id = ?1", "bind" => array(1 => $id))); $role = array(); $group = \Modules\Backend\Models\Permission_group::find(); foreach ($item as $key => $value) { $role[$value->group->name][$value->privilege->controller][$value->privilege->action] = $value->privilege->action; } $this->view->role = $role; $privilege = \Modules\Backend\Models\Permission_privilege::find(); $pri_active = array(); foreach ($privilege as $key => $value) { if (array_key_exists($value->controller, $pri_active)) { $pri_active[$value->controller][$value->action] = $value->action; } else { $pri_active[$value->controller][$value->action] = $value->action; } } $this->view->pri_active = $pri_active; // Xử lý cấp quyền if ($this->request->isPost() == true) { $item = \Modules\Backend\Models\Permission_group_privilege::find(array("conditions" => "group_id = ?1", "bind" => array(1 => $id))); foreach ($item as $key => $value) { $value->delete(); } if ($this->request->getPost("my") != null) { $data[] = $this->request->getPost("my"); foreach ($data as $key => $value) { foreach ($value as $key_controller => $value_controller) { foreach ($value_controller as $key_action => $value_action) { $privilege_item = \Modules\Backend\Models\Permission_privilege::find(array("conditions" => "controller =?1 AND action = ?2", "bind" => array(1 => $key_controller, 2 => $key_action))); if (!empty($privilege_item) && count($privilege_item) > 0) { foreach ($privilege_item as $key_permission => $value_permission) { $group_privilege_item = new \Modules\Backend\Models\Permission_group_privilege(); $group_privilege_item->privilege_id = $value_permission->id; $group_privilege_item->group_id = $id; $group_privilege_item->status = 1; $group_privilege_item->save(); } } } } } $this->flash->success("Thành công!"); $this->redirect(array("action" => "index")); } else { $this->flash->success("Thành công!"); $this->redirect(array("action" => "index")); } } }