|
|
@ -5,8 +5,9 @@ import ContactMailIcon from "@material-ui/icons/ContactMail";
|
|
|
|
import DevicesIcon from "@material-ui/icons/Devices";
|
|
|
|
import DevicesIcon from "@material-ui/icons/Devices";
|
|
|
|
import GetAppIcon from "@material-ui/icons/GetApp";
|
|
|
|
import GetAppIcon from "@material-ui/icons/GetApp";
|
|
|
|
import SettingsInputComponentIcon from "@material-ui/icons/SettingsInputComponent";
|
|
|
|
import SettingsInputComponentIcon from "@material-ui/icons/SettingsInputComponent";
|
|
|
|
import ViewListIcon from "@material-ui/icons/ViewList";
|
|
|
|
|
|
|
|
import NotificationsIcon from "@material-ui/icons/Notifications";
|
|
|
|
import NotificationsIcon from "@material-ui/icons/Notifications";
|
|
|
|
|
|
|
|
import PermMediaIcon from "@material-ui/icons/PermMedia";
|
|
|
|
|
|
|
|
import ViewListIcon from "@material-ui/icons/ViewList";
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
ArrayInput,
|
|
|
|
ArrayInput,
|
|
|
|
ArrayField,
|
|
|
|
ArrayField,
|
|
|
@ -42,6 +43,7 @@ import {
|
|
|
|
ExportButton,
|
|
|
|
ExportButton,
|
|
|
|
TopToolbar,
|
|
|
|
TopToolbar,
|
|
|
|
sanitizeListRestProps,
|
|
|
|
sanitizeListRestProps,
|
|
|
|
|
|
|
|
NumberField,
|
|
|
|
} from "react-admin";
|
|
|
|
} from "react-admin";
|
|
|
|
import { ServerNoticeButton, ServerNoticeBulkButton } from "./ServerNotices";
|
|
|
|
import { ServerNoticeButton, ServerNoticeBulkButton } from "./ServerNotices";
|
|
|
|
import { DeviceRemoveButton } from "./devices";
|
|
|
|
import { DeviceRemoveButton } from "./devices";
|
|
|
@ -406,6 +408,56 @@ export const UserEdit = props => {
|
|
|
|
</ReferenceField>
|
|
|
|
</ReferenceField>
|
|
|
|
</FormTab>
|
|
|
|
</FormTab>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<FormTab
|
|
|
|
|
|
|
|
label={translate("resources.users_media.name", { smart_count: 2 })}
|
|
|
|
|
|
|
|
icon={<PermMediaIcon />}
|
|
|
|
|
|
|
|
path="media"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<ReferenceManyField
|
|
|
|
|
|
|
|
reference="users_media"
|
|
|
|
|
|
|
|
target="user_id"
|
|
|
|
|
|
|
|
addLabel={false}
|
|
|
|
|
|
|
|
pagination={<UserPagination />}
|
|
|
|
|
|
|
|
perPage={50}
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<Datagrid style={{ width: "100%" }}>
|
|
|
|
|
|
|
|
<DateField
|
|
|
|
|
|
|
|
source="created_ts"
|
|
|
|
|
|
|
|
showTime
|
|
|
|
|
|
|
|
options={{
|
|
|
|
|
|
|
|
year: "numeric",
|
|
|
|
|
|
|
|
month: "2-digit",
|
|
|
|
|
|
|
|
day: "2-digit",
|
|
|
|
|
|
|
|
hour: "2-digit",
|
|
|
|
|
|
|
|
minute: "2-digit",
|
|
|
|
|
|
|
|
second: "2-digit",
|
|
|
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
sortable={false}
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<DateField
|
|
|
|
|
|
|
|
source="last_access_ts"
|
|
|
|
|
|
|
|
showTime
|
|
|
|
|
|
|
|
options={{
|
|
|
|
|
|
|
|
year: "numeric",
|
|
|
|
|
|
|
|
month: "2-digit",
|
|
|
|
|
|
|
|
day: "2-digit",
|
|
|
|
|
|
|
|
hour: "2-digit",
|
|
|
|
|
|
|
|
minute: "2-digit",
|
|
|
|
|
|
|
|
second: "2-digit",
|
|
|
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
sortable={false}
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<TextField source="media_id" sortable={false} />
|
|
|
|
|
|
|
|
<NumberField source="media_length" sortable={false} />
|
|
|
|
|
|
|
|
<TextField source="media_type" sortable={false} />
|
|
|
|
|
|
|
|
<TextField source="upload_name" sortable={false} />
|
|
|
|
|
|
|
|
<TextField source="quarantined_by" sortable={false} />
|
|
|
|
|
|
|
|
<BooleanField source="safe_from_quarantine" sortable={false} />
|
|
|
|
|
|
|
|
<DeleteButton undoable={false} redirect={false} />
|
|
|
|
|
|
|
|
</Datagrid>
|
|
|
|
|
|
|
|
</ReferenceManyField>
|
|
|
|
|
|
|
|
</FormTab>
|
|
|
|
|
|
|
|
|
|
|
|
<FormTab
|
|
|
|
<FormTab
|
|
|
|
label={translate("resources.rooms.name", { smart_count: 2 })}
|
|
|
|
label={translate("resources.rooms.name", { smart_count: 2 })}
|
|
|
|
icon={<ViewListIcon />}
|
|
|
|
icon={<ViewListIcon />}
|
|
|
|