IO-3020 IO-3036 Remove date restriction and lock down feature based reports.
This commit is contained in:
@@ -8,6 +8,7 @@ import { selectPrintCenter } from "../../redux/modals/modals.selectors";
|
||||
import { selectTechnician } from "../../redux/tech/tech.selectors";
|
||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||
import { GenerateDocument } from "../../utils/RenderTemplate";
|
||||
import LockWrapperComponent from "../lock-wrapper/lock-wrapper.component";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
printCenterModal: selectPrintCenter,
|
||||
@@ -42,7 +43,12 @@ export function PrintCenterItemComponent({
|
||||
setLoading(false);
|
||||
};
|
||||
|
||||
if (disabled) return <li className="print-center-item">{item.title} </li>;
|
||||
if (disabled || item.featureNameRestricted)
|
||||
return (
|
||||
<li className="print-center-item">
|
||||
<LockWrapperComponent featureName={item.featureNameRestricted}>{item.title}</LockWrapperComponent>
|
||||
</li>
|
||||
);
|
||||
return (
|
||||
<li>
|
||||
<Space wrap>
|
||||
|
||||
@@ -21,6 +21,7 @@ import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||
import VendorSearchSelect from "../vendor-search-select/vendor-search-select.component";
|
||||
import ReportCenterModalFiltersSortersComponent from "./report-center-modal-filters-sorters-component";
|
||||
import "./report-center-modal.styles.scss";
|
||||
import LockWrapperComponent from "../lock-wrapper/lock-wrapper.component";
|
||||
|
||||
const mapStateToProps = createStructuredSelector({
|
||||
reportCenterModal: selectReportCenter,
|
||||
@@ -185,13 +186,23 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) {
|
||||
</BlurWrapperComponent>
|
||||
) : (
|
||||
<ul style={{ listStyleType: "none", columns: "2 auto" }}>
|
||||
{grouped[key].map((item) => (
|
||||
<li key={item.key}>
|
||||
<Radio key={item.key} value={item.key}>
|
||||
{item.title}
|
||||
</Radio>
|
||||
</li>
|
||||
))}
|
||||
{grouped[key].map((item) =>
|
||||
item.featureNameRestricted ? (
|
||||
<li key={item.key}>
|
||||
<LockWrapperComponent featureName={item.featureNameRestricted}>
|
||||
<Radio key={item.key} value={item.key}>
|
||||
{item.title}
|
||||
</Radio>
|
||||
</LockWrapperComponent>
|
||||
</li>
|
||||
) : (
|
||||
<li key={item.key}>
|
||||
<Radio key={item.key} value={item.key}>
|
||||
{item.title}
|
||||
</Radio>
|
||||
</li>
|
||||
)
|
||||
)}
|
||||
</ul>
|
||||
)}
|
||||
</Card.Grid>
|
||||
@@ -297,16 +308,13 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) {
|
||||
},
|
||||
{
|
||||
validator: (_, value) => {
|
||||
if (
|
||||
!import.meta.env.VITE_APP_IS_TEST &&
|
||||
import.meta.env.PROD &&
|
||||
value &&
|
||||
value[0] &&
|
||||
value[1]
|
||||
) {
|
||||
const diffInDays = (value[1] - value[0]) / (1000 * 3600 * 24);
|
||||
if (diffInDays > 92) {
|
||||
return Promise.reject(t("general.validation.dateRangeExceeded"));
|
||||
if (value && value[0] && value[1]) {
|
||||
const relatedRestrictedReport = restrictedReports.find((r) => r.key === key);
|
||||
if (relatedRestrictedReport) {
|
||||
const diffInDays = (value[1] - value[0]) / (1000 * 3600 * 24);
|
||||
if (diffInDays > relatedRestrictedReport.days) {
|
||||
return Promise.reject(t("general.validation.dateRangeExceeded"));
|
||||
}
|
||||
}
|
||||
}
|
||||
return Promise.resolve();
|
||||
@@ -369,3 +377,14 @@ export function ReportCenterModalComponent({ reportCenterModal, bodyshop }) {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
const restrictedReports = [
|
||||
{ key: "job_costing_ro", days: 183 },
|
||||
{ key: "job_costing_ro_date_summary", days: 183 },
|
||||
{ key: "job_costing_ro_csr", days: 183 },
|
||||
{ key: "job_costing_ro_ins_co", days: 183 },
|
||||
{ key: "job_costing_ro_date_detail", days: 183 },
|
||||
{ key: "job_costing_ro_estimator", days: 183 },
|
||||
{ key: "job_lifecycle_date_detail", days: 183 },
|
||||
{ key: "job_lifecycle_date_summary", days: 183 }
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user