Added invoice page titling BOD-63

This commit is contained in:
Patrick Fic
2020-05-11 14:36:37 -07:00
parent fc4e07bb32
commit 630e7df3fd
6 changed files with 82 additions and 18 deletions

View File

@@ -12992,6 +12992,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>invoices-list</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>jobs</name>
<definition_loaded>false</definition_loaded>
@@ -13351,6 +13372,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>invoices-list</name>
<definition_loaded>false</definition_loaded>
<description></description>
<comment></comment>
<default_text></default_text>
<translations>
<translation>
<language>en-US</language>
<approved>false</approved>
</translation>
<translation>
<language>es-MX</language>
<approved>false</approved>
</translation>
<translation>
<language>fr-CA</language>
<approved>false</approved>
</translation>
</translations>
</concept_node>
<concept_node>
<name>jobs</name>
<definition_loaded>false</definition_loaded>

View File

@@ -4,18 +4,14 @@ import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import { EmailSettings } from "../../emails/constants";
import { INSERT_NEW_INVOICE } from "../../graphql/invoices.queries";
import { UPDATE_JOB_LINE_STATUS } from "../../graphql/jobs-lines.queries";
import { INSERT_NEW_PARTS_ORDERS } from "../../graphql/parts-orders.queries";
import { QUERY_ALL_VENDORS_FOR_ORDER } from "../../graphql/vendors.queries";
import { INSERT_NEW_INVOICE } from "../../graphql/invoices.queries";
import { setEmailOptions } from "../../redux/email/email.actions";
import { toggleModalVisible } from "../../redux/modals/modals.actions";
import { selectPartsOrder } from "../../redux/modals/modals.selectors";
import {
selectBodyshop,
selectCurrentUser,
} from "../../redux/user/user.selectors";
import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors";
import AlertComponent from "../alert/alert.component";
import LoadingSpinner from "../loading-spinner/loading-spinner.component";
import PartsOrderModalComponent from "./parts-order-modal.component";
@@ -56,8 +52,6 @@ export function PartsOrderModalContainer({
const [insertInvoice] = useMutation(INSERT_NEW_INVOICE);
const handleFinish = async (values) => {
//Check if this was actuall an inhouse invoice
insertPartOrder({
variables: {
po: [
@@ -109,7 +103,7 @@ export function PartsOrderModalContainer({
},
};
const invoiceResult = insertInvoice({
insertInvoice({
variables: { invoice: invoiceToPost },
});
}
@@ -177,19 +171,17 @@ export function PartsOrderModalContainer({
<Modal
visible={visible}
onCancel={() => toggleModalVisible()}
width="90%"
width='90%'
onOk={() => form.submit()}
destroyOnClose
forceRender
>
{error ? <AlertComponent message={error.message} type="error" /> : null}
forceRender>
{error ? <AlertComponent message={error.message} type='error' /> : null}
<LoadingSpinner loading={loading}>
<Form
form={form}
autoComplete="no"
autoComplete='no'
onFinish={handleFinish}
initialValues={{ parts_order_lines: { data: initialValues } }}
>
initialValues={{ parts_order_lines: { data: initialValues } }}>
<PartsOrderModalComponent
vendorList={(data && data.vendors) || []}
sendTypeState={sendTypeState}

View File

@@ -1,10 +1,30 @@
import { Col, Row } from "antd";
import React from "react";
import React, { useEffect } from "react";
import InvoicesByVendorList from "../../components/invoices-by-vendor-list/invoices-by-vendor-list.component";
import VendorsList from "../../components/invoices-vendors-list/invoices-vendors-list.component";
import InvoiceDetailEditContainer from "../../components/invoice-detail-edit/invoice-detail-edit.container";
import { setBreadcrumbs } from "../../redux/application/application.actions";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
const mapStateToProps = createStructuredSelector({
//currentUser: selectCurrentUser
});
const mapDispatchToProps = (dispatch) => ({
//setUserLanguage: language => dispatch(setUserLanguage(language))
setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
});
export function InvoicesPageContainer({ setBreadcrumbs }) {
const { t } = useTranslation();
useEffect(() => {
document.title = t("titles.invoices-list");
setBreadcrumbs([
{ link: "/manage/invoices", label: t("titles.bc.invoices-list") },
]);
}, [t, setBreadcrumbs]);
export default function InvoicesPageContainer() {
return (
<Row>
<Col span={8}>
@@ -21,3 +41,7 @@ export default function InvoicesPageContainer() {
</Row>
);
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(InvoicesPageContainer);

View File

@@ -838,6 +838,7 @@
"courtesycars": "Courtesy Cars",
"courtesycars-detail": "Courtesy Car {{number}}",
"courtesycars-new": "New Courtesy Car",
"invoices-list": "Invoices",
"jobs": "Jobs",
"jobs-active": "Active Jobs",
"jobs-detail": "Job {{number}}",
@@ -856,6 +857,7 @@
"courtesycars": "Courtesy Cars | $t(titles.app)",
"courtesycars-create": "New Courtesy Car | $t(titles.app)",
"courtesycars-detail": "Courtesy Car {{id}} | $t(titles.app)",
"invoices-list": "Invoices | $t(titles.app)",
"jobs": "Active Jobs | $t(titles.app)",
"jobs-create": "Create a New Job | $t(titles.app)",
"jobsavailable": "Available Jobs | $t(titles.app)",

View File

@@ -838,6 +838,7 @@
"courtesycars": "",
"courtesycars-detail": "",
"courtesycars-new": "",
"invoices-list": "",
"jobs": "",
"jobs-active": "",
"jobs-detail": "",
@@ -856,6 +857,7 @@
"courtesycars": "",
"courtesycars-create": "",
"courtesycars-detail": "",
"invoices-list": "",
"jobs": "Todos los trabajos | $t(titles.app)",
"jobs-create": "",
"jobsavailable": "Empleos disponibles | $t(titles.app)",

View File

@@ -838,6 +838,7 @@
"courtesycars": "",
"courtesycars-detail": "",
"courtesycars-new": "",
"invoices-list": "",
"jobs": "",
"jobs-active": "",
"jobs-detail": "",
@@ -856,6 +857,7 @@
"courtesycars": "",
"courtesycars-create": "",
"courtesycars-detail": "",
"invoices-list": "",
"jobs": "Tous les emplois | $t(titles.app)",
"jobs-create": "",
"jobsavailable": "Emplois disponibles | $t(titles.app)",