|
|
@@ -54,11 +54,23 @@ class AdminController extends BaseController
|
|
|
'UPDATE_ADMIN_NAME' => 'ADMU.ADMIN_NAME',
|
|
|
]);
|
|
|
|
|
|
- $adminId = Yii::$app->getUser()->getUserInfo()['id'];
|
|
|
- $adminCountry = AdminCountry::getCountry($adminId);
|
|
|
- $quotedAdminCountry = array_map(function($item) {
|
|
|
- return "'" . addslashes($item) . "'";
|
|
|
- }, $adminCountry);
|
|
|
+ $join = [
|
|
|
+ ['LEFT JOIN', AdminRole::tableName().' AS AR', 'A.ROLE_ID=AR.ID'],
|
|
|
+ ['LEFT JOIN', Admin::tableName() . ' AS ADMC', 'ADMC.ID=A.CREATE_ADMIN'],
|
|
|
+ ['LEFT JOIN', Admin::tableName() . ' AS ADMU', 'ADMU.ID=A.UPDATE_ADMIN'],
|
|
|
+ ];
|
|
|
+
|
|
|
+ $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
|
|
|
+ if (!$isSuper) {
|
|
|
+ $adminId = Yii::$app->getUser()->getUserInfo()['id'];
|
|
|
+ $adminCountry = AdminCountry::getCountry($adminId);
|
|
|
+ $quotedAdminCountry = array_map(function($item) {
|
|
|
+ return "'" . addslashes($item) . "'";
|
|
|
+ }, $adminCountry);
|
|
|
+
|
|
|
+ $join[] = ['INNER JOIN', AdminCountry::tableName() . ' AS AC', "AC.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ") AND AC.ADMIN_ID=A.ID"];
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
$condition = $filter['condition'];
|
|
|
$condition .= ' AND A.IS_DEL=0';
|
|
|
@@ -66,18 +78,19 @@ class AdminController extends BaseController
|
|
|
$data = Admin::lists($condition, $params, [
|
|
|
'select' => 'A.*,AR.ROLE_NAME,ADMC.ADMIN_NAME CREATE_ADMIN_NAME,ADMU.ADMIN_NAME UPDATE_ADMIN_NAME',
|
|
|
'from' => Admin::tableName().' AS A',
|
|
|
- 'join' => [
|
|
|
- ['LEFT JOIN', AdminRole::tableName().' AS AR', 'A.ROLE_ID=AR.ID'],
|
|
|
- ['LEFT JOIN', Admin::tableName() . ' AS ADMC', 'ADMC.ID=A.CREATE_ADMIN'],
|
|
|
- ['LEFT JOIN', Admin::tableName() . ' AS ADMU', 'ADMU.ID=A.UPDATE_ADMIN'],
|
|
|
- ['INNER JOIN', AdminCountry::tableName() . ' AS AC', "AC.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ") AND AC.ADMIN_ID=A.ID"],
|
|
|
-
|
|
|
- ],
|
|
|
+ 'join' => $join,
|
|
|
'orderBy' => 'A.CREATED_AT ASC',
|
|
|
]);
|
|
|
|
|
|
foreach ($data['list'] as &$admin) {
|
|
|
- $admin['countryId'] = AdminCountry::getCountry($admin['ID']);
|
|
|
+ if ($isSuper) {
|
|
|
+ $admin['countryId'] = [];
|
|
|
+ $admin['countryName'] = '';
|
|
|
+ } else {
|
|
|
+ $admin['countryId'] = AdminCountry::getCountry($admin['ID']);
|
|
|
+ $countryName = Countries::find()->select('COUNTRY_NAME')->where(['in', 'ID', $admin['countryId']])->column();
|
|
|
+ $admin['countryName'] = implode(',', $countryName);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return static::notice($data);
|