Merge branch 'release/AIO/2024-05-10' into test-AIO
This commit is contained in:
@@ -18,8 +18,6 @@ import ChatOpenButton from "../chat-open-button/chat-open-button.component";
|
|||||||
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
|
import OwnerNameDisplay from "../owner-name-display/owner-name-display.component";
|
||||||
import { setJoyRideSteps } from "../../redux/application/application.actions";
|
import { setJoyRideSteps } from "../../redux/application/application.actions";
|
||||||
import { OwnerNameDisplayFunction } from "./../owner-name-display/owner-name-display.component";
|
import { OwnerNameDisplayFunction } from "./../owner-name-display/owner-name-display.component";
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop
|
bodyshop: selectBodyshop
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -30,227 +30,219 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
|||||||
return (
|
return (
|
||||||
<RbacWrapper action="shop:rbac">
|
<RbacWrapper action="shop:rbac">
|
||||||
<LayoutFormRow>
|
<LayoutFormRow>
|
||||||
{HasFeatureAccess({ featureName: "export", bodyshop }) && (
|
{...HasFeatureAccess({ featureName: "export", bodyshop }) && [
|
||||||
<>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.accounting.exportlog")}
|
||||||
label={t("bodyshop.fields.rbac.accounting.exportlog")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "accounting:exportlog"]}
|
||||||
name={["md_rbac", "accounting:exportlog"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.accounting.payables")}
|
||||||
label={t("bodyshop.fields.rbac.accounting.payables")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "accounting:payables"]}
|
||||||
name={["md_rbac", "accounting:payables"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.accounting.payments")}
|
||||||
label={t("bodyshop.fields.rbac.accounting.payments")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "accounting:payments"]}
|
||||||
name={["md_rbac", "accounting:payments"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.accounting.receivables")}
|
||||||
label={t("bodyshop.fields.rbac.accounting.receivables")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "accounting:receivables"]}
|
||||||
name={["md_rbac", "accounting:receivables"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>
|
||||||
</Form.Item>
|
]}
|
||||||
</>
|
{...HasFeatureAccess({ featureName: "bills", bodyshop }) && [
|
||||||
)}
|
<Form.Item
|
||||||
{HasFeatureAccess({ featureName: "bills", bodyshop }) && (
|
label={t("bodyshop.fields.rbac.bills.delete")}
|
||||||
<>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.bills.delete")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "bills:delete"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "bills:delete"]}
|
</Form.Item>,
|
||||||
>
|
<Form.Item
|
||||||
<InputNumber />
|
label={t("bodyshop.fields.rbac.bills.enter")}
|
||||||
</Form.Item>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.bills.enter")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "bills:enter"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "bills:enter"]}
|
</Form.Item>,
|
||||||
>
|
<Form.Item
|
||||||
<InputNumber />
|
label={t("bodyshop.fields.rbac.bills.list")}
|
||||||
</Form.Item>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.bills.list")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "bills:list"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "bills:list"]}
|
</Form.Item>,
|
||||||
>
|
<Form.Item
|
||||||
<InputNumber />
|
label={t("bodyshop.fields.rbac.bills.reexport")}
|
||||||
</Form.Item>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.bills.reexport")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "bills:reexport"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "bills:reexport"]}
|
</Form.Item>,
|
||||||
>
|
<Form.Item
|
||||||
<InputNumber />
|
label={t("bodyshop.fields.rbac.bills.view")}
|
||||||
</Form.Item>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.bills.view")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "bills:view"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "bills:view"]}
|
</Form.Item>
|
||||||
>
|
]}
|
||||||
<InputNumber />
|
|
||||||
</Form.Item>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{HasFeatureAccess({ featureName: "courtesycars", bodyshop }) && (
|
{...HasFeatureAccess({ featureName: "courtesycars", bodyshop }) && [
|
||||||
<>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.contracts.create")}
|
||||||
label={t("bodyshop.fields.rbac.contracts.create")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "contracts:create"]}
|
||||||
name={["md_rbac", "contracts:create"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.contracts.detail")}
|
||||||
label={t("bodyshop.fields.rbac.contracts.detail")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "contracts:detail"]}
|
||||||
name={["md_rbac", "contracts:detail"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.contracts.list")}
|
||||||
label={t("bodyshop.fields.rbac.contracts.list")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "contracts:list"]}
|
||||||
name={["md_rbac", "contracts:list"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.courtesycar.create")}
|
||||||
label={t("bodyshop.fields.rbac.courtesycar.create")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "courtesycar:create"]}
|
||||||
name={["md_rbac", "courtesycar:create"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.courtesycar.detail")}
|
||||||
label={t("bodyshop.fields.rbac.courtesycar.detail")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "courtesycar:detail"]}
|
||||||
name={["md_rbac", "courtesycar:detail"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.courtesycar.list")}
|
||||||
label={t("bodyshop.fields.rbac.courtesycar.list")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "courtesycar:list"]}
|
||||||
name={["md_rbac", "courtesycar:list"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>
|
||||||
</Form.Item>
|
]}
|
||||||
</>
|
{...HasFeatureAccess({ featureName: "csi", bodyshop }) && [
|
||||||
)}
|
<Form.Item
|
||||||
{HasFeatureAccess({ featureName: "csi", bodyshop }) && (
|
label={t("bodyshop.fields.rbac.csi.export")}
|
||||||
<>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.csi.export")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "csi:export"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "csi:export"]}
|
</Form.Item>,
|
||||||
>
|
<Form.Item
|
||||||
<InputNumber />
|
label={t("bodyshop.fields.rbac.csi.page")}
|
||||||
</Form.Item>
|
rules={[
|
||||||
<Form.Item
|
{
|
||||||
label={t("bodyshop.fields.rbac.csi.page")}
|
required: true
|
||||||
rules={[
|
//message: t("general.validation.required"),
|
||||||
{
|
}
|
||||||
required: true
|
]}
|
||||||
//message: t("general.validation.required"),
|
name={["md_rbac", "csi:page"]}
|
||||||
}
|
>
|
||||||
]}
|
<InputNumber />
|
||||||
name={["md_rbac", "csi:page"]}
|
</Form.Item>
|
||||||
>
|
]}
|
||||||
<InputNumber />
|
|
||||||
</Form.Item>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("bodyshop.fields.rbac.employees.page")}
|
label={t("bodyshop.fields.rbac.employees.page")}
|
||||||
rules={[
|
rules={[
|
||||||
@@ -569,130 +561,128 @@ export function ShopInfoRbacComponent({ form, bodyshop }) {
|
|||||||
<InputNumber />
|
<InputNumber />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
)}
|
)}
|
||||||
{HasFeatureAccess({ featureName: "timetickets", bodyshop }) && (
|
{...HasFeatureAccess({ featureName: "timetickets", bodyshop }) && [
|
||||||
<>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.shiftclock.view")}
|
||||||
label={t("bodyshop.fields.rbac.shiftclock.view")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "shiftclock:view"]}
|
||||||
name={["md_rbac", "shiftclock:view"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.shop.config")}
|
||||||
label={t("bodyshop.fields.rbac.shop.config")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "shop:config"]}
|
||||||
name={["md_rbac", "shop:config"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.timetickets.edit")}
|
||||||
label={t("bodyshop.fields.rbac.timetickets.edit")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "timetickets:edit"]}
|
||||||
name={["md_rbac", "timetickets:edit"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.timetickets.shiftedit")}
|
||||||
label={t("bodyshop.fields.rbac.timetickets.shiftedit")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "timetickets:shiftedit"]}
|
||||||
name={["md_rbac", "timetickets:shiftedit"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.timetickets.editcommitted")}
|
||||||
label={t("bodyshop.fields.rbac.timetickets.editcommitted")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "timetickets:editcommitted"]}
|
||||||
name={["md_rbac", "timetickets:editcommitted"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.ttapprovals.view")}
|
||||||
label={t("bodyshop.fields.rbac.ttapprovals.view")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "ttapprovals:view"]}
|
||||||
name={["md_rbac", "ttapprovals:view"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.ttapprovals.approve")}
|
||||||
label={t("bodyshop.fields.rbac.ttapprovals.approve")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "ttapprovals:approve"]}
|
||||||
name={["md_rbac", "ttapprovals:approve"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.timetickets.enter")}
|
||||||
label={t("bodyshop.fields.rbac.timetickets.enter")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "timetickets:enter"]}
|
||||||
name={["md_rbac", "timetickets:enter"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.timetickets.list")}
|
||||||
label={t("bodyshop.fields.rbac.timetickets.list")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "timetickets:list"]}
|
||||||
name={["md_rbac", "timetickets:list"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>,
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.rbac.timetickets.shiftedit")}
|
||||||
label={t("bodyshop.fields.rbac.timetickets.shiftedit")}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
name={["md_rbac", "timetickets:shiftedit"]}
|
||||||
name={["md_rbac", "timetickets:shiftedit"]}
|
>
|
||||||
>
|
<InputNumber />
|
||||||
<InputNumber />
|
</Form.Item>
|
||||||
</Form.Item>
|
]}
|
||||||
</>
|
|
||||||
)}
|
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("bodyshop.fields.rbac.shop.vendors")}
|
label={t("bodyshop.fields.rbac.shop.vendors")}
|
||||||
rules={[
|
rules={[
|
||||||
|
|||||||
Reference in New Issue
Block a user