refacto header depending on rules
This commit is contained in:
parent
2adc72de41
commit
0f8fe65226
@ -13,4 +13,7 @@ export enum AppRuleActions {
|
||||
export enum AppRuleNames {
|
||||
users = "users",
|
||||
officeFolders = "folders",
|
||||
officeRoles = "office-roles",
|
||||
deedTypes = "deed-types",
|
||||
offices = "offices"
|
||||
}
|
||||
|
@ -4,6 +4,8 @@ import React from "react";
|
||||
|
||||
import NavigationLink from "../../NavigationLink";
|
||||
import classes from "./classes.module.scss";
|
||||
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
|
||||
import { AppRuleActions, AppRuleNames } from "@Front/Api/Entities/rule";
|
||||
|
||||
type IProps = {
|
||||
isOpen: boolean;
|
||||
@ -32,11 +34,28 @@ export default class BurgerModal extends React.Component<IProps, IState> {
|
||||
text="Dossiers archivés"
|
||||
routesActive={[Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path]}
|
||||
/>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.officeRoles,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Collaborators.props.path}
|
||||
text="Collaborateurs"
|
||||
routesActive={[Module.getInstance().get().modules.pages.Collaborators.props.path]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.deedTypes,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.DeedTypes.props.path}
|
||||
text="Paramétrage des listes de pièces"
|
||||
@ -51,6 +70,15 @@ export default class BurgerModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.DocumentTypes.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.officeRoles,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Roles.props.path}
|
||||
text="Gestion des rôles"
|
||||
@ -59,6 +87,15 @@ export default class BurgerModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.Roles.pages.RolesInformations.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.create,
|
||||
name: AppRuleNames.officeRoles,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Users.props.path}
|
||||
text="Gestion des utilisateurs"
|
||||
@ -67,6 +104,15 @@ export default class BurgerModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.Users.pages.UsersInformations.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.offices,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Offices.props.path}
|
||||
text="Gestion des offices"
|
||||
@ -75,6 +121,7 @@ export default class BurgerModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.Offices.pages.OfficesInformations.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<NavigationLink path={Module.getInstance().get().modules.pages.MyAccount.props.path} text="Mon compte" />
|
||||
<NavigationLink text="CGU" />
|
||||
<div className={classes["separator"]} />
|
||||
|
@ -3,6 +3,8 @@ import React from "react";
|
||||
|
||||
import HeaderLink from "../HeaderLink";
|
||||
import classes from "./classes.module.scss";
|
||||
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
|
||||
import { AppRuleActions, AppRuleNames } from "@Front/Api/Entities/rule";
|
||||
|
||||
type IProps = {};
|
||||
type IState = {};
|
||||
@ -24,11 +26,20 @@ export default class Navigation extends React.Component<IProps, IState> {
|
||||
path={Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path}
|
||||
routesActive={[Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.props.path]}
|
||||
/>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.officeRoles,
|
||||
},
|
||||
]}>
|
||||
<HeaderLink
|
||||
text={"Collaborateurs"}
|
||||
path={Module.getInstance().get().modules.pages.Collaborators.props.path}
|
||||
routesActive={[Module.getInstance().get().modules.pages.Collaborators.props.path]}
|
||||
/>
|
||||
</Rules>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -4,6 +4,8 @@ import React from "react";
|
||||
|
||||
import NavigationLink from "../../NavigationLink";
|
||||
import classes from "./classes.module.scss";
|
||||
import Rules, { RulesMode } from "@Front/Components/Elements/Rules";
|
||||
import { AppRuleActions, AppRuleNames } from "@Front/Api/Entities/rule";
|
||||
|
||||
type IProps = {
|
||||
isOpen: boolean;
|
||||
@ -20,6 +22,14 @@ export default class ProfileModal extends React.Component<IProps, IState> {
|
||||
<div className={classes["background"]} onClick={this.props.closeModal} />
|
||||
<div className={classes["root"]}>
|
||||
<NavigationLink path={Module.getInstance().get().modules.pages.MyAccount.props.path} text="Mon compte" />
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.officeRoles,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Roles.props.path}
|
||||
text="Gestion des rôles"
|
||||
@ -28,6 +38,15 @@ export default class ProfileModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.Roles.pages.RolesInformations.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.deedTypes,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.DeedTypes.props.path}
|
||||
text="Paramétrage des listes de pièces"
|
||||
@ -42,6 +61,15 @@ export default class ProfileModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.DocumentTypes.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.create,
|
||||
name: AppRuleNames.officeRoles,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Users.props.path}
|
||||
text="Gestion des utilisateurs"
|
||||
@ -50,6 +78,15 @@ export default class ProfileModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.Users.pages.UsersInformations.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<Rules
|
||||
mode={RulesMode.NECESSARY}
|
||||
rules={[
|
||||
{
|
||||
action: AppRuleActions.update,
|
||||
name: AppRuleNames.offices,
|
||||
},
|
||||
]}>
|
||||
<NavigationLink
|
||||
path={Module.getInstance().get().modules.pages.Offices.props.path}
|
||||
text="Gestion des offices"
|
||||
@ -58,6 +95,7 @@ export default class ProfileModal extends React.Component<IProps, IState> {
|
||||
Module.getInstance().get().modules.pages.Offices.pages.OfficesInformations.props.path,
|
||||
]}
|
||||
/>
|
||||
</Rules>
|
||||
<NavigationLink text="CGU" />
|
||||
<div className={classes["separator"]} />
|
||||
<LogOutButton />
|
||||
|
Loading…
x
Reference in New Issue
Block a user