Skip to content
Snippets Groups Projects
Commit 31c0f12e authored by meskio's avatar meskio :tent:
Browse files

Be able to select a previous order when creating an order

parent 62a25461
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,7 @@ import { Redirect } from "react-router-dom"; ...@@ -3,6 +3,7 @@ import { Redirect } from "react-router-dom";
import { Form, Row, Col, Button } from "react-bootstrap"; import { Form, Row, Col, Button } from "react-bootstrap";
import ProductPicker from "../ProductPicker"; import ProductPicker from "../ProductPicker";
import Sender from "../Sender"; import Sender from "../Sender";
import Fetcher from "../Fetcher";
function date2string(date) { function date2string(date) {
return date.toISOString().split("T")[0]; return date.toISOString().split("T")[0];
...@@ -20,6 +21,7 @@ function CreateOrder() { ...@@ -20,6 +21,7 @@ function CreateOrder() {
const [description, setDescription] = useState(""); const [description, setDescription] = useState("");
const [deadline, setDeadline] = useState(daysAfterNow(3)); const [deadline, setDeadline] = useState(daysAfterNow(3));
const [order, setOrder] = useState(null); const [order, setOrder] = useState(null);
const [prevOrders, setPrevOrders] = useState(null);
if (order !== null) { if (order !== null) {
return <Redirect to={"/order/" + order.ID} />; return <Redirect to={"/order/" + order.ID} />;
...@@ -32,8 +34,34 @@ function CreateOrder() { ...@@ -32,8 +34,34 @@ function CreateOrder() {
return { name, description, deadline, products }; return { name, description, deadline, products };
}; };
const fillOrder = (name) => {
const prevOrder = prevOrders.find((o) => o.name === name);
setName(name);
setDescription(prevOrder.description);
setPicks(prevOrder.products);
};
const orderOptions = prevOrders
? prevOrders.map((o) => <option>{o.name}</option>)
: "";
return ( return (
<Sender url="/api/order" body={body} onSuccess={setOrder}> <Sender url="/api/order" body={body} onSuccess={setOrder}>
<Form.Group as={Row}>
<Form.Label as="legend" column sm={3}>
Repetir pedido
</Form.Label>
<Col sm={9}>
<Fetcher url="/api/order/picks" onFetch={setPrevOrders}>
<Form.Control
as="select"
onChange={(e) => fillOrder(e.target.value)}
>
{orderOptions}
</Form.Control>
</Fetcher>
</Col>
</Form.Group>
<Form.Group as={Row}> <Form.Group as={Row}>
<Form.Label as="legend" column sm={3}> <Form.Label as="legend" column sm={3}>
Nombre Nombre
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment