Ejemplo n.º 1
0
 public function run()
 {
     $var = [];
     $items = AuthItem::getAuthItems();
     $service = [];
     foreach ($items as $item) {
         if ($item->type == 2) {
             continue;
         }
         $child = [];
         foreach ($items as $c) {
             if ($c->type == 1) {
                 continue;
             }
             if (preg_match('/^' . $item->name . '/', $c->name)) {
                 $child[] = $c;
             }
         }
         $item->setAttribute("child", $child);
         $service[] = $item;
     }
     $userId = Yii::$app->user->getId();
     $assign = AuthAssignment::getAssignById($userId);
     foreach ($assign as $assignment) {
         $var["assignments"][] = $assignment->getAttributes();
     }
     $var['services'] = $service;
     $var['group'] = AuthGroup::getGroups();
     return $this->render('navigation', ['var' => $var]);
 }
Ejemplo n.º 2
0
 /**
  * Định nghĩa quyền vào bảng authItem
  * @param type $data
  */
 public static function authItemSave($data)
 {
     $item = self::findOne(['name' => $data['name']]);
     if (empty($item)) {
         $item = new AuthItem();
         $item->created_at = time();
         $item->description = 'Hệ thống cập nhật';
         $item->type = $data['type'];
         $item->name = $data['name'];
     }
     $item->updated_at = time();
     $item->alias = $data['alias'];
     $item->group_id = isset($data['group']) ? $data['group'] : 0;
     if (!$item->save()) {
         return new Response(false, "Định nghĩa quyền không thành công", $item->errors);
     }
     $par = explode("_", $data['name'])[0];
     if (strpos($data['name'], "_") && self::getAuthItemChildsByPrimarykey($par, $data['name']) == null) {
         $authItemChild = new AuthItemChild();
         $authItemChild->parent = $par;
         $authItemChild->child = $data['name'];
         $authItemChild->save();
     }
     return $item;
 }
Ejemplo n.º 3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getChild0()
 {
     return $this->hasOne(AuthItem::className(), ['name' => 'child']);
 }
Ejemplo n.º 4
0
 /**
  * Lấy thông tin quyền và thông tin nhóm quyền
  * @return type
  */
 public function actionGetigroup()
 {
     $params = Yii::$app->request->post();
     if (!empty($params)) {
         $item = AuthItem::findAll(['type' => 2]);
         $assign = AuthAssignment::findAll(['user_id' => $params['id']]);
         $group = AuthGroup::getGroups();
         if (!empty($item) && !empty($group)) {
             $data = ['items' => $item, 'group' => $group];
             $data['assign'] = !empty($assign) ? $assign : [];
             return $this->response(new Response(true, 'Lấy dữ liệu thành công', $data));
         } else {
             return $this->response(new Response(false, 'Lấy dữ liệu không thành công', []));
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getItemName()
 {
     return $this->hasOne(AuthItem::className(), ['name' => 'item_name']);
 }