Fix QR code creation

Change-Id: Ib6bbd1be6d4dca1f617043c3c2338924b2321ea3
This commit is contained in:
Michael Albert 2020-04-14 13:06:55 +02:00 committed by Manuel Stahl
parent bf7867f106
commit d2a3f07a59
5 changed files with 48 additions and 5 deletions

View File

@ -26,7 +26,7 @@
"qrcode.react": "^1.0.0",
"ra-language-german": "^2.1.2",
"react": "^16.12.0",
"react-admin": "^3.1.3",
"react-admin": "^3.4",
"react-dom": "^16.12.0",
"react-scripts": "^3.3.0"
},

View File

@ -0,0 +1,32 @@
import React, { useCallback } from "react";
import { SaveButton, useCreate, useRedirect, useNotify } from "react-admin";
const SaveQrButton = props => {
const [create] = useCreate('users');
const redirectTo = useRedirect();
const notify = useNotify();
const { basePath } = props;
const handleSave = useCallback(
(values, redirect) => {
create(
{
payload: { data: { ...values } },
},
{
onSuccess: ({ data: newRecord }) => {
notify('ra.notification.created', 'info', {
smart_count: 1,
});
redirectTo(redirect, basePath, newRecord.id, { password: values.password, ...newRecord });
},
}
);
},
[create, notify, redirectTo, basePath]
);
return <SaveButton {...props} onSave={handleSave} />;
};
export default SaveQrButton;

View File

@ -47,7 +47,6 @@ const ShowUserPdf = props => {
marginTop: 15,
},
logo: {
height: 90,
width: 90,
marginTop: 20,
marginRight: 32,

View File

@ -17,6 +17,7 @@ import {
Toolbar,
regex,
} from "react-admin";
import SaveQrButton from "./SaveQrButton";
const UserFilter = props => (
<Filter {...props}>
@ -117,7 +118,7 @@ const redirect = (basePath, id, data) => {
const UserCreateToolbar = props => (
<Toolbar {...props}>
<SaveButton
<SaveQrButton
label="synapseadmin.action.save_and_show"
redirect={redirect}
submitOnEnter={true}

View File

@ -8,8 +8,8 @@ export default {
welcome: "Willkommen bei Synapse-admin",
},
action: {
save_and_show: "QR Code erzeugen",
save_only: "Speichern",
save_and_show: "Speichern und QR Code erzeugen",
save_only: "Nur speichern",
download_pdf: "PDF speichern",
},
users: {
@ -44,4 +44,15 @@ export default {
},
},
},
ra: {
...germanMessages.ra,
input: {
...germanMessages.ra.input,
password: {
...germanMessages.ra.input.password,
toggle_hidden: "Anzeigen",
toggle_visible: "Verstecken",
}
}
}
};