Compare commits
18 Commits
release/AI
...
feature/IO
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
168d4246af | ||
|
|
ee613db0cb | ||
|
|
55b892a74e | ||
|
|
16754d9657 | ||
|
|
33db67122c | ||
|
|
b9b88b0e23 | ||
|
|
992ad71910 | ||
|
|
c70447f337 | ||
|
|
ee7997ffbc | ||
|
|
d6e3c54b68 | ||
|
|
52809cc849 | ||
|
|
e78b114544 | ||
|
|
bcdd32f92f | ||
|
|
8e623c71a9 | ||
|
|
5f2a5e1025 | ||
|
|
f2af78f056 | ||
|
|
71f3dbbeb4 | ||
|
|
c9b63be29f |
@@ -32,6 +32,7 @@ import React, { useEffect, useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { BsKanban } from "react-icons/bs";
|
||||
import { FaCalendarAlt, FaCarCrash, FaCreditCard, FaFileInvoiceDollar, FaTasks } from "react-icons/fa";
|
||||
import { FiLogOut } from "react-icons/fi";
|
||||
import { GiPayMoney, GiPlayerTime, GiSettingsKnobs } from "react-icons/gi";
|
||||
import { IoBusinessOutline } from "react-icons/io5";
|
||||
import { RiSurveyLine } from "react-icons/ri";
|
||||
@@ -42,7 +43,6 @@ import { selectRecentItems, selectSelectedHeader } from "../../redux/application
|
||||
import { setModalContext } from "../../redux/modals/modals.actions";
|
||||
import { signOutStart } from "../../redux/user/user.actions";
|
||||
import { selectBodyshop, selectCurrentUser } from "../../redux/user/user.selectors";
|
||||
import { FiLogOut } from "react-icons/fi";
|
||||
import { checkBeta, handleBeta, setBeta } from "../../utils/betaHandler";
|
||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
||||
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||
@@ -604,14 +604,22 @@ function Header({
|
||||
);
|
||||
}
|
||||
},
|
||||
// {
|
||||
// key: 'rescue',
|
||||
// icon: <Icon component={CarFilled}/>,
|
||||
// label: t("menus.header.rescueme"),
|
||||
// onClick: () => {
|
||||
// window.open("https://imexrescue.com/", "_blank");
|
||||
// }
|
||||
// },
|
||||
...(InstanceRenderManager({
|
||||
imex: true,
|
||||
rome: false,
|
||||
promanager: false
|
||||
})
|
||||
? [
|
||||
{
|
||||
key: "rescue",
|
||||
icon: <Icon component={CarFilled} />,
|
||||
label: t("menus.header.rescueme"),
|
||||
onClick: () => {
|
||||
window.open("https://imexrescue.com/", "_blank");
|
||||
}
|
||||
}
|
||||
]
|
||||
: []),
|
||||
|
||||
...(InstanceRenderManager({
|
||||
imex: true,
|
||||
|
||||
@@ -30,7 +30,7 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
return (
|
||||
<RbacWrapper action="shop:rbac">
|
||||
<LayoutFormRow>
|
||||
{...HasFeatureAccess({ featureName: "export", bodyshop }) && [
|
||||
{...HasFeatureAccess({ featureName: "export", bodyshop }) ? [
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.accounting.exportlog")}
|
||||
rules={[
|
||||
@@ -79,8 +79,8 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
>
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
]}
|
||||
{...HasFeatureAccess({ featureName: "bills", bodyshop }) && [
|
||||
]:[]}
|
||||
{...HasFeatureAccess({ featureName: "bills", bodyshop }) ? [
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.bills.delete")}
|
||||
rules={[
|
||||
@@ -141,9 +141,9 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
>
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
]}
|
||||
]:[]}
|
||||
|
||||
{...HasFeatureAccess({ featureName: "courtesycars", bodyshop }) && [
|
||||
{...HasFeatureAccess({ featureName: "courtesycars", bodyshop }) ? [
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.contracts.create")}
|
||||
rules={[
|
||||
@@ -216,8 +216,8 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
>
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
]}
|
||||
{...HasFeatureAccess({ featureName: "csi", bodyshop }) && [
|
||||
]:[]}
|
||||
{...HasFeatureAccess({ featureName: "csi", bodyshop }) ? [
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.csi.export")}
|
||||
rules={[
|
||||
@@ -242,7 +242,7 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
>
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
]}
|
||||
]:[]}
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.employees.page")}
|
||||
rules={[
|
||||
@@ -561,7 +561,7 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
)}
|
||||
{...HasFeatureAccess({ featureName: "timetickets", bodyshop }) && [
|
||||
{...HasFeatureAccess({ featureName: "timetickets", bodyshop }) ? [
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.shiftclock.view")}
|
||||
rules={[
|
||||
@@ -682,7 +682,7 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
||||
>
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
]}
|
||||
]:[]}
|
||||
<Form.Item
|
||||
label={t("bodyshop.fields.rbac.shop.vendors")}
|
||||
rules={[
|
||||
|
||||
@@ -312,7 +312,14 @@ export function* SetAuthLevelFromShopDetails({ payload }) {
|
||||
|
||||
const user = yield select((state) => state.user.currentUser);
|
||||
if (payload.features.singleDeviceOnly) {
|
||||
if (!(user.email.includes("@imex.") || user.email.includes("@rome.") || user.email.includes("@promanager.")))
|
||||
if (
|
||||
!(
|
||||
user.email.includes("@imex.") ||
|
||||
user.email.includes("@rome.") ||
|
||||
user.email.includes("@rometech.") ||
|
||||
user.email.includes("@promanager.")
|
||||
)
|
||||
)
|
||||
yield put(setInstanceId(user.uid));
|
||||
}
|
||||
|
||||
@@ -324,11 +331,17 @@ export function* SetAuthLevelFromShopDetails({ payload }) {
|
||||
rome: () => {
|
||||
if (
|
||||
payload.imexshopid.toLowerCase().startsWith("pm_") &&
|
||||
!(user.email.includes("@imex.") || user.email.includes("@rome.") || user.email.includes("@promanager."))
|
||||
!(
|
||||
user.email.includes("@imex.") ||
|
||||
user.email.includes("@rome.") ||
|
||||
user.email.includes("@rometech.") ||
|
||||
user.email.includes("@promanager.")
|
||||
)
|
||||
) {
|
||||
throw new Error("You are not authorized to use this application.");
|
||||
}
|
||||
}
|
||||
},
|
||||
promanager: () => {}
|
||||
});
|
||||
} catch (error) {
|
||||
yield put(setInstanceConflict());
|
||||
|
||||
Reference in New Issue
Block a user