Update
parent
be80b4bf0c
commit
7b8c02c1b4
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Enums\OperationType;
|
||||||
use App\Helpers\Paginator;
|
use App\Helpers\Paginator;
|
||||||
use App\Http\Requestes\AdminUserRequest;
|
use App\Http\Requestes\AdminUserRequest;
|
||||||
use App\Http\Requestes\AdminUserUpdateRequest;
|
use App\Http\Requestes\AdminUserUpdateRequest;
|
||||||
use App\Http\Requestes\RestPasswordRequest;
|
use App\Http\Requestes\RestPasswordRequest;
|
||||||
use App\Http\Resources\AdminUserResource;
|
use App\Http\Resources\AdminUserResource;
|
||||||
use App\Models\AdminUser;
|
use App\Models\AdminUser;
|
||||||
|
use App\Services\OperationLogService;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use App\Services\OperationLogService;
|
|
||||||
use App\Enums\OperationType;
|
|
||||||
|
|
||||||
class AdminUserController extends Controller
|
class AdminUserController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -33,10 +33,20 @@ class AdminUserController extends Controller
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
//添加管理员信息
|
//添加管理员信息
|
||||||
$input = $request->input();
|
$input = $request->input();
|
||||||
|
|
||||||
|
// 是否可查看所有基地
|
||||||
|
if ($viewAllBases = (bool) $request->input('view_all_bases', false)) {
|
||||||
|
$input['view_all_bases'] = $viewAllBases;
|
||||||
|
}
|
||||||
$input['password'] = bcrypt($request->input('password'));
|
$input['password'] = bcrypt($request->input('password'));
|
||||||
|
|
||||||
$user = AdminUser::create($input);
|
$user = AdminUser::create($input);
|
||||||
//添加管理员查看基地的数据权限;
|
|
||||||
|
if (! $user->view_all_bases) {
|
||||||
|
// 添加管理员查看基地的数据权限;
|
||||||
$user->bases()->sync($baseIds);
|
$user->bases()->sync($baseIds);
|
||||||
|
}
|
||||||
|
|
||||||
//添加管理员角色关联;
|
//添加管理员角色关联;
|
||||||
$user->roles()->sync($request->input('role_id'));
|
$user->roles()->sync($request->input('role_id'));
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
@ -66,10 +76,21 @@ class AdminUserController extends Controller
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
DB::beginTransaction();
|
DB::beginTransaction();
|
||||||
|
|
||||||
|
$input = $request->input();
|
||||||
|
|
||||||
|
if ($viewAllBases = (bool) $request->input('view_all_bases', false)) {
|
||||||
|
$input['view_all_bases'] = $viewAllBases;
|
||||||
|
}
|
||||||
|
|
||||||
//添加管理员信息
|
//添加管理员信息
|
||||||
$adminUser->update($request->input());
|
$adminUser->update($input);
|
||||||
//添加管理员查看基地的数据权限;
|
|
||||||
|
if (! $adminUser->view_all_bases) {
|
||||||
|
// 添加管理员查看基地的数据权限;
|
||||||
$adminUser->bases()->sync($baseIds);
|
$adminUser->bases()->sync($baseIds);
|
||||||
|
}
|
||||||
|
|
||||||
//添加管理员角色关联;
|
//添加管理员角色关联;
|
||||||
$adminUser->roles()->sync($request->input('role_id'));
|
$adminUser->roles()->sync($request->input('role_id'));
|
||||||
DB::commit();
|
DB::commit();
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ class AgriculturalBaseController extends Controller
|
||||||
$q->when($deviceType == DeviceType::Monitor->value, function ($q) use ($isRecommend) {
|
$q->when($deviceType == DeviceType::Monitor->value, function ($q) use ($isRecommend) {
|
||||||
$q->when($isRecommend, fn ($q) => $q->where('is_recommend', 1))->where('status', 1);
|
$q->when($isRecommend, fn ($q) => $q->where('is_recommend', 1))->where('status', 1);
|
||||||
})->where('type', $deviceType);
|
})->where('type', $deviceType);
|
||||||
})->when(! $all && ! $user->isAdministrator(), function ($q) use ($user) {
|
})->when(! $all && ! $user->isAdministrator() && ! $user->view_all_bases, function ($q) use ($user) {
|
||||||
$q->whereRaw("id in (select base_id from admin_user_bases where user_id = {$user->id})");
|
$q->whereRaw("id in (select base_id from admin_user_bases where user_id = {$user->id})");
|
||||||
})->sort()->get();
|
})->sort()->get();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,11 @@ class AdminUser extends BaseAdminModel
|
||||||
'username',
|
'username',
|
||||||
'password',
|
'password',
|
||||||
'avatar',
|
'avatar',
|
||||||
'department', 'phone', 'status', 'is_enable',
|
'department',
|
||||||
|
'phone',
|
||||||
|
'status',
|
||||||
|
'is_enable',
|
||||||
|
'view_all_bases',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $hidden = [
|
protected $hidden = [
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('adminstrators', function (Blueprint $table) {
|
||||||
|
$table->boolean('view_all_bases')->default(false)->comment('是否可查看所有基地');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('adminstrators', function (Blueprint $table) {
|
||||||
|
$table->dropColumn(['view_all_bases']);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue