feat: role system fix
This commit is contained in:
@@ -13,17 +13,17 @@ import { MapPin } from "lucide-react";
|
||||
|
||||
export const CitySelector: React.FC = observer(() => {
|
||||
const { selectedCity, setSelectedCity } = selectedCityStore;
|
||||
const canReadCities = authStore.canRead("cities");
|
||||
const canLoadAllCities = authStore.isAdmin && authStore.canRead("cities");
|
||||
|
||||
useEffect(() => {
|
||||
if (canReadCities) {
|
||||
if (canLoadAllCities) {
|
||||
cityStore.getCities("ru");
|
||||
return;
|
||||
}
|
||||
authStore.fetchMeCities().catch(() => undefined);
|
||||
}, [canReadCities]);
|
||||
}, [canLoadAllCities]);
|
||||
|
||||
const baseCities: City[] = canReadCities
|
||||
const baseCities: City[] = canLoadAllCities
|
||||
? cityStore.cities["ru"].data
|
||||
: authStore.meCities["ru"].map((uc) => ({
|
||||
id: uc.city_id,
|
||||
|
||||
@@ -781,7 +781,7 @@ export const DevicesTable = observer(() => {
|
||||
Добавить устройство
|
||||
</Button>
|
||||
)}
|
||||
{selectedIds.length > 0 && (
|
||||
{canWriteDevices && selectedIds.length > 0 && (
|
||||
<Button
|
||||
variant="contained"
|
||||
color="error"
|
||||
@@ -862,16 +862,18 @@ export const DevicesTable = observer(() => {
|
||||
<DataGrid
|
||||
rows={groupRows}
|
||||
columns={columns}
|
||||
checkboxSelection
|
||||
checkboxSelection={canWriteDevices}
|
||||
disableRowSelectionExcludeModel
|
||||
loading={isLoading}
|
||||
paginationModel={paginationModel}
|
||||
onPaginationModelChange={setPaginationModel}
|
||||
pageSizeOptions={[50]}
|
||||
onRowSelectionModelChange={
|
||||
createSelectionHandler(groupRowIds) as (
|
||||
ids: unknown,
|
||||
) => void
|
||||
canWriteDevices
|
||||
? (createSelectionHandler(groupRowIds) as (
|
||||
ids: unknown,
|
||||
) => void)
|
||||
: undefined
|
||||
}
|
||||
rowSelectionModel={{
|
||||
type: "include",
|
||||
|
||||
Reference in New Issue
Block a user