| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- <?php
- namespace backend\modules\admin\controllers;
- use app\models\RbacAuthItem;
- use backend\controllers\AdminController;
- use backend\models\Admin;
- use common\enums\AppEnum;
- use common\enums\StatusEnum;
- use common\enums\WhetherEnum;
- use common\models\rbac\AuthItem;
- use Yii;
- class RbacAuthItemController extends AdminController
- {
- public $appId = AppEnum::BACKEND;
- /**
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|string|void
- */
- public function actionIndex()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- $pid = Yii::$app->request->get('pid', 0);
- $cate_id = Yii::$app->request->get('cate_id', '1');
- $cond = [['pid' => $pid], ['<>', 'status', StatusEnum::DELETE]];
- if (in_array($cate_id, [AppEnum::PLATFORM, AppEnum::MALL])) $cond[] = ['is_addon' => WhetherEnum::DISABLED, 'cate_id' => $cate_id];
- if (in_array($cate_id, [AppEnum::ADDON])) $cond[] = ['is_addon' => WhetherEnum::ENABLED];
- $list = AuthItem::getItems($cond, ['child'], true);
- return $this->success('操作成功', compact('list'));
- }
- return $this->render($this->action->id);
- }
- /**
- * 编辑
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionEdit()
- {
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $type = Yii::$app->request->get('type', 'add');
- $data = AuthItem::getEditData($id, $type, $this->appId);
- return $this->success('操作成功', $data);
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isPost) {
- /** @var AuthItem $model */
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params, [
- [['title', 'name'], 'trim'],
- [['title', 'name'], 'required'],
- [['id', 'pid', 'is_addon', 'cate_id', 'sort', 'status', 'created_at', 'updated_at'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['app_id'] = $this->appId;
- $params['status'] = 1;
- $res = AuthItem::setData($params);
- if ($res === false) return $this->error(AuthItem::getStaticError());
- return $this->success('操作成功');
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- }
- /**
- * 添加
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionAdd()
- {
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $type = Yii::$app->request->get('type', 'add');
- $data = AuthItem::getEditData($id, $type, $this->appId);
- return $this->success('操作成功', $data);
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- try {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isPost) {
- /** @var AuthItem $model */
- $params = Yii::$app->request->post();
- $res = Yii::$app->services->validate->validate($params, [
- [['title', 'name'], 'trim'],
- [['title', 'name'], 'required'],
- [['id', 'pid', 'cate_id', 'is_addon', 'sort', 'status', 'created_at', 'updated_at'], 'safe'],
- ]);
- if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
- $params['app_id'] = $this->appId;
- $params['status'] = 1;
- $res = AuthItem::setData($params);
- if ($res === false) return $this->error(AuthItem::getStaticError());
- return $this->success('操作成功');
- }
- }
- } catch (\Exception $e) {
- return $this->error($e->getMessage(), []);
- }
- }
- /**
- * 删除
- * @param null $keyword
- * @param int $is_recycle
- * @return mixed|void
- */
- public function actionDel()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $params = ['id' => $id, 'status' => StatusEnum::DELETE];
- $res = AuthItem::setData($params);
- if ($res === false) return $this->error(AuthItem::getStaticError());
- return $this->success('操作成功');
- }
- }
- }
- /**
- * 更新序号
- * @return mixed|void
- */
- public function actionUpdateSort()
- {
- $request = Yii::$app->request;
- if ($request->isAjax) {
- if ($request->isGet) {
- $id = Yii::$app->request->get('id', '');
- $sort = Yii::$app->request->get('sort', '999');
- $params = ['id' => $id, 'sort' => $sort];
- $res = AuthItem::setData($params);
- if ($res === false) return $this->error(AuthItem::getStaticError());
- return $this->success('ok');
- }
- }
- }
- }
|