public function __construct($data = array()) { parent::__construct($data); $this->setPropertiesDefine(array('parent_id' => array('alias' => '上级部门', 'options' => function () { $data = Department::find()->field('id', 'parent_id', 'name')->all(true); $tmp = array_combine(array_column($data, 'id'), array_column($data, 'name')); array_unshift_assoc($tmp, 0, '顶级'); return $tmp; }, 'form' => function ($val = null, self $instance = null) { $data = Department::find()->field('id', 'parent_id', 'name')->all(true); return ViewBase::generateParentTreeSelector($data, $instance); }), 'manager_id' => array('alias' => '负责人', 'options' => function () { $data = User::find('state=?', User::STATE_ENABLED)->field('id', 'name')->all(true); return array_combine(array_column($data, 'id'), array_column($data, 'name')); }, 'display' => function (self $item) { $tmp = User::findOneByPk($item->manager_id); if (!$tmp) { return ''; } return $tmp->state == User::STATE_ENABLED ? $tmp->name : '<del>' . $tmp->name . '</del>'; }), 'stage_id' => array('options' => function () { return WorkStage::$work_stage_list; }), 'stage_name' => array('getter' => function ($item) { if ($item->stage_id) { return WorkStage::$work_stage_list[$item->stage_id]; } return ''; }, 'alias' => '负责流程'))); }
public function updatePassword($get, $post) { $id = $get['id']; $user = User::findOneByPk($id); if ($post) { if (!$post['password']) { return new Result('请输入密码'); } if ($post['password'] != $post['repeat_password']) { return new Result('两次输入的密码不一致,请重新输入'); } $user->password = md5($post['password']); $user->save(); return new Result('密码修改成功', true); } return array('data' => $user); }
/** * 从用户ID中获取用户信息 * @param $user_id * @return array | null */ public function getUserInfoFromId($user_id) { return User::findOneByPk($user_id, true); }