Fixed todos so they get picked up by extensions.
This commit is contained in:
@@ -24,7 +24,7 @@ export default function AllocationsAssignmentContainer({
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("employees.successes.save")
|
message: t("employees.successes.save")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
visibilityState[1](false);
|
visibilityState[1](false);
|
||||||
if (refetch) refetch();
|
if (refetch) refetch();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ export default function JobsDetailClaims({ job }) {
|
|||||||
initialValue: job.loss_desc
|
initialValue: job.loss_desc
|
||||||
})(<Input name='loss_desc' />)}
|
})(<Input name='loss_desc' />)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
TODO: How to handle different taxes and marking them as exempt?
|
TODO How to handle different taxes and marking them as exempt?
|
||||||
{
|
{
|
||||||
// <Form.Item label={t("jobs.fields.exempt")}>
|
// <Form.Item label={t("jobs.fields.exempt")}>
|
||||||
// {getFieldDecorator("exempt", {
|
// {getFieldDecorator("exempt", {
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ export default function JobsDetailFinancials({ job }) {
|
|||||||
initialValue: job.depreciation_taxes
|
initialValue: job.depreciation_taxes
|
||||||
})(<InputNumber name="depreciation_taxes" />)}
|
})(<InputNumber name="depreciation_taxes" />)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
TODO: This is equivalent of GST payable.
|
TODO This is equivalent of GST payable.
|
||||||
<Form.Item label={t("jobs.fields.federal_tax_payable")}>
|
<Form.Item label={t("jobs.fields.federal_tax_payable")}>
|
||||||
{getFieldDecorator("federal_tax_payable", {
|
{getFieldDecorator("federal_tax_payable", {
|
||||||
initialValue: job.federal_tax_payable
|
initialValue: job.federal_tax_payable
|
||||||
})(<InputNumber name="federal_tax_payable" />)}
|
})(<InputNumber name="federal_tax_payable" />)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
TODO: equivalent of other customer amount
|
TODO equivalent of other customer amount
|
||||||
<Form.Item label={t("jobs.fields.other_amount_payable")}>
|
<Form.Item label={t("jobs.fields.other_amount_payable")}>
|
||||||
{getFieldDecorator("other_amount_payable", {
|
{getFieldDecorator("other_amount_payable", {
|
||||||
initialValue: job.other_amount_payable
|
initialValue: job.other_amount_payable
|
||||||
@@ -99,7 +99,7 @@ export default function JobsDetailFinancials({ job }) {
|
|||||||
initialValue: job.rate_lag
|
initialValue: job.rate_lag
|
||||||
})(<InputNumber name="rate_lag" />)}
|
})(<InputNumber name="rate_lag" />)}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
Note //TODO: Remove ATP rate?
|
Note //TODO Remove ATP rate?
|
||||||
<Form.Item label={t("jobs.fields.rate_atp")}>
|
<Form.Item label={t("jobs.fields.rate_atp")}>
|
||||||
{getFieldDecorator("rate_atp", {
|
{getFieldDecorator("rate_atp", {
|
||||||
initialValue: job.rate_atp
|
initialValue: job.rate_atp
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ export default connect(
|
|||||||
</Dropdown>,
|
</Dropdown>,
|
||||||
<Badge key='schedule' count={job.appointments_aggregate.aggregate.count}>
|
<Badge key='schedule' count={job.appointments_aggregate.aggregate.count}>
|
||||||
<Button
|
<Button
|
||||||
//TODO: Enabled logic based on status.
|
//TODO Enabled logic based on status.
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setscheduleModalVisible(true);
|
setscheduleModalVisible(true);
|
||||||
}}>
|
}}>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export default function NoteUpsertModalContainer({
|
|||||||
insertNote({
|
insertNote({
|
||||||
variables: {
|
variables: {
|
||||||
noteInput: [
|
noteInput: [
|
||||||
{ ...noteState, jobid: jobId, created_by: "patrick@bodyshop.app" } //TODO: Fix the created by.
|
{ ...noteState, jobid: jobId, created_by: "patrick@bodyshop.app" } //TODO Fix the created by.
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}).then(r => {
|
}).then(r => {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ function OwnerDetailFormContainer({ form, owner, refetch }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("owners.successes.save")
|
message: t("owners.successes.save")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
if (refetch) refetch().then();
|
if (refetch) refetch().then();
|
||||||
form.resetFields();
|
form.resetFields();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ export default function ScheduleJobModalComponent({
|
|||||||
...props
|
...props
|
||||||
}) {
|
}) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
//TODO: Existing appointments list only refreshes sometimes after modal close. May have to do with the container class.
|
//TODO Existing appointments list only refreshes sometimes after modal close. May have to do with the container class.
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
{...props}
|
{...props}
|
||||||
@@ -47,7 +47,7 @@ export default function ScheduleJobModalComponent({
|
|||||||
</Row>
|
</Row>
|
||||||
|
|
||||||
{
|
{
|
||||||
//TODO: Build out notifications.
|
//TODO Build out notifications.
|
||||||
}
|
}
|
||||||
<Checkbox
|
<Checkbox
|
||||||
defaultChecked={formData.notifyCustomer}
|
defaultChecked={formData.notifyCustomer}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ export default connect(
|
|||||||
visible={scheduleModalVisible}
|
visible={scheduleModalVisible}
|
||||||
onCancel={() => setscheduleModalVisible(false)}
|
onCancel={() => setscheduleModalVisible(false)}
|
||||||
onOk={() => {
|
onOk={() => {
|
||||||
//TODO: Customize the amount of minutes it will add.
|
//TODO Customize the amount of minutes it will add.
|
||||||
insertAppointment({
|
insertAppointment({
|
||||||
variables: {
|
variables: {
|
||||||
app: { ...appData, end: moment(appData.start).add(60, "minutes") }
|
app: { ...appData, end: moment(appData.start).add(60, "minutes") }
|
||||||
@@ -55,7 +55,7 @@ export default connect(
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (formData.notifyCustomer) {
|
if (formData.notifyCustomer) {
|
||||||
//TODO: Implement customer reminder on scheduling.
|
//TODO Implement customer reminder on scheduling.
|
||||||
alert("Chosed to notify the customer somehow!");
|
alert("Chosed to notify the customer somehow!");
|
||||||
}
|
}
|
||||||
setscheduleModalVisible(false);
|
setscheduleModalVisible(false);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export default function ScheduleCalendarWrapperComponent({
|
|||||||
step={30}
|
step={30}
|
||||||
showMultiDayTimes
|
showMultiDayTimes
|
||||||
localizer={localizer}
|
localizer={localizer}
|
||||||
min={new Date("2020-01-01T06:00:00")} //TODO: Read from business settings.
|
min={new Date("2020-01-01T06:00:00")} //TODO Read from business settings.
|
||||||
max={new Date("2020-01-01T20:00:00")}
|
max={new Date("2020-01-01T20:00:00")}
|
||||||
components={{
|
components={{
|
||||||
event: e => {
|
event: e => {
|
||||||
|
|||||||
@@ -61,14 +61,14 @@ export default function ScheduleEventComponent({ event, handleCancel }) {
|
|||||||
</Button>
|
</Button>
|
||||||
<Button>
|
<Button>
|
||||||
{
|
{
|
||||||
//TODO: Add reschedule Func.
|
//TODO Add reschedule Func.
|
||||||
}
|
}
|
||||||
{t("appointments.actions.reschedule")}
|
{t("appointments.actions.reschedule")}
|
||||||
</Button>
|
</Button>
|
||||||
{event.isintake ? (
|
{event.isintake ? (
|
||||||
<Button>
|
<Button>
|
||||||
{
|
{
|
||||||
//TODO: Add intake func.
|
//TODO Add intake func.
|
||||||
}
|
}
|
||||||
{t("appointments.actions.intake")}
|
{t("appointments.actions.intake")}
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default function ScheduleJobModalComponent({
|
|||||||
...props
|
...props
|
||||||
}) {
|
}) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
//TODO: Existing appointments list only refreshes sometimes after modal close. May have to do with the container class.
|
//TODO Existing appointments list only refreshes sometimes after modal close. May have to do with the container class.
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
{...props}
|
{...props}
|
||||||
@@ -52,7 +52,7 @@ export default function ScheduleJobModalComponent({
|
|||||||
existingAppointments={existingAppointments}
|
existingAppointments={existingAppointments}
|
||||||
/>
|
/>
|
||||||
{
|
{
|
||||||
//TODO: Build out notifications.
|
//TODO Build out notifications.
|
||||||
}
|
}
|
||||||
<Checkbox
|
<Checkbox
|
||||||
defaultChecked={formData.notifyCustomer}
|
defaultChecked={formData.notifyCustomer}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ export default connect(
|
|||||||
visible={scheduleModalVisible}
|
visible={scheduleModalVisible}
|
||||||
onCancel={() => setscheduleModalVisible(false)}
|
onCancel={() => setscheduleModalVisible(false)}
|
||||||
onOk={() => {
|
onOk={() => {
|
||||||
//TODO: Customize the amount of minutes it will add.
|
//TODO Customize the amount of minutes it will add.
|
||||||
insertAppointment({
|
insertAppointment({
|
||||||
variables: {
|
variables: {
|
||||||
app: { ...appData, end: moment(appData.start).add(60, "minutes") }
|
app: { ...appData, end: moment(appData.start).add(60, "minutes") }
|
||||||
@@ -73,7 +73,7 @@ export default connect(
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (formData.notifyCustomer) {
|
if (formData.notifyCustomer) {
|
||||||
//TODO: Implement customer reminder on scheduling.
|
//TODO Implement customer reminder on scheduling.
|
||||||
alert("Chosed to notify the customer somehow!");
|
alert("Chosed to notify the customer somehow!");
|
||||||
}
|
}
|
||||||
setscheduleModalVisible(false);
|
setscheduleModalVisible(false);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function ShopEmployeesContainer({ form, bodyshop }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("employees.successes.delete")
|
message: t("employees.successes.delete")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
employeeState[1](null);
|
employeeState[1](null);
|
||||||
refetch().then(r => form.resetFields());
|
refetch().then(r => form.resetFields());
|
||||||
})
|
})
|
||||||
@@ -61,7 +61,7 @@ function ShopEmployeesContainer({ form, bodyshop }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("employees.successes.save")
|
message: t("employees.successes.save")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
employeeState[1](null);
|
employeeState[1](null);
|
||||||
refetch().then(r => form.resetFields());
|
refetch().then(r => form.resetFields());
|
||||||
})
|
})
|
||||||
@@ -78,7 +78,7 @@ function ShopEmployeesContainer({ form, bodyshop }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("employees.successes.save")
|
message: t("employees.successes.save")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
employeeState[1](null);
|
employeeState[1](null);
|
||||||
refetch()
|
refetch()
|
||||||
.then(r => form.resetFields())
|
.then(r => form.resetFields())
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ function VehicleDetailFormContainer({ form, vehicle, refetch }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("vehicles.successes.save")
|
message: t("vehicles.successes.save")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
if (refetch) refetch().then();
|
if (refetch) refetch().then();
|
||||||
form.resetFields();
|
form.resetFields();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ function VendorsFormContainer({ form, vendorId, refetch, bodyshop }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("vendors.successes.deleted")
|
message: t("vendors.successes.deleted")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
if (refetch) refetch().then(r => form.resetFields());
|
if (refetch) refetch().then(r => form.resetFields());
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
@@ -66,7 +66,7 @@ function VendorsFormContainer({ form, vendorId, refetch, bodyshop }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("vendors.successes.saved")
|
message: t("vendors.successes.saved")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
if (refetch) refetch().then(r => form.resetFields());
|
if (refetch) refetch().then(r => form.resetFields());
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
@@ -83,7 +83,7 @@ function VendorsFormContainer({ form, vendorId, refetch, bodyshop }) {
|
|||||||
notification["success"]({
|
notification["success"]({
|
||||||
message: t("vendors.successes.saved")
|
message: t("vendors.successes.saved")
|
||||||
});
|
});
|
||||||
//TODO: Better way to reset the field decorators?
|
//TODO Better way to reset the field decorators?
|
||||||
if (refetch) refetch().then(r => form.resetFields());
|
if (refetch) refetch().then(r => form.resetFields());
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export default function JobsAvailablePageComponent({
|
|||||||
deleteJob={deleteJob}
|
deleteJob={deleteJob}
|
||||||
estDataLazyLoad={estDataLazyLoad}
|
estDataLazyLoad={estDataLazyLoad}
|
||||||
/>
|
/>
|
||||||
Available Supplements (//TODO: LOGIC HAS NOT YET BEEN COPIED FROM OTHER COMPONENT)
|
Available Supplements (//TODO LOGIC HAS NOT YET BEEN COPIED FROM OTHER COMPONENT)
|
||||||
<JobsAvailableSupplementContainer
|
<JobsAvailableSupplementContainer
|
||||||
deleteJob={deleteJob}
|
deleteJob={deleteJob}
|
||||||
estDataLazyLoad={estDataLazyLoad}
|
estDataLazyLoad={estDataLazyLoad}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import JobDetailCards from "../../components/job-detail-cards/job-detail-cards.c
|
|||||||
import JobsList from "../../components/jobs-list/jobs-list.component";
|
import JobsList from "../../components/jobs-list/jobs-list.component";
|
||||||
import { QUERY_ALL_OPEN_JOBS } from "../../graphql/jobs.queries";
|
import { QUERY_ALL_OPEN_JOBS } from "../../graphql/jobs.queries";
|
||||||
|
|
||||||
//TODO: Implement pagination for this.
|
//TODO Implement pagination for this.
|
||||||
export default function JobsPage({ match, location }) {
|
export default function JobsPage({ match, location }) {
|
||||||
const { loading, error, data } = useQuery(QUERY_ALL_OPEN_JOBS, {
|
const { loading, error, data } = useQuery(QUERY_ALL_OPEN_JOBS, {
|
||||||
fetchPolicy: "network-only"
|
fetchPolicy: "network-only"
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ export function* updateUserDetails(userDetails) {
|
|||||||
yield put(updateUserDetailsSuccess(userDetails.payload));
|
yield put(updateUserDetailsSuccess(userDetails.payload));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
//yield put(signOutFailure(error.message));
|
//yield put(signOutFailure(error.message));
|
||||||
//TODO: error handling
|
//TODO error handling
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ const functions = require("firebase-functions");
|
|||||||
const admin = require("firebase-admin");
|
const admin = require("firebase-admin");
|
||||||
admin.initializeApp(functions.config().firebase);
|
admin.initializeApp(functions.config().firebase);
|
||||||
|
|
||||||
//Todo: Move this to an environment parameter.
|
//TODO Move this to an environment parameter.
|
||||||
const GRAPHQL_ENDPOINT = functions.config().auth.graphql_endpoint;
|
const GRAPHQL_ENDPOINT = functions.config().auth.graphql_endpoint;
|
||||||
const HASURA_SECRET_ADMIN_KEY = functions.config().auth.hasura_secret_admin_key;
|
const HASURA_SECRET_ADMIN_KEY = functions.config().auth.hasura_secret_admin_key;
|
||||||
const UPSERT_USER = `
|
const UPSERT_USER = `
|
||||||
|
|||||||
Reference in New Issue
Block a user