websiteAdminMenuBuilder.ts 880 B

12345678910111213141516171819202122232425262728293031
  1. import AbstractMenuBuilder from '~/services/layout/menuBuilder/abstractMenuBuilder'
  2. import type { MenuItem } from '~/types/layout'
  3. import { MENU_LINK_TYPE } from '~/types/enum/layout'
  4. /**
  5. * Menu Site internet
  6. */
  7. export default class WebsiteAdminMenuBuilder extends AbstractMenuBuilder {
  8. static override readonly menuName = 'WebsiteAdmin'
  9. /**
  10. * Construit le menu Site internet, ou null si aucune page accessible
  11. */
  12. build(): MenuItem | null {
  13. if (
  14. this.organizationProfile.website &&
  15. (this.accessProfile.isAdminAccess ||
  16. this.ability.can('display', 'advanced_modification_website'))
  17. ) {
  18. const url = this.organizationProfile.website + '/typo3'
  19. return this.createItem(
  20. 'advanced_modification',
  21. { name: 'fas fa-globe-americas' },
  22. url,
  23. MENU_LINK_TYPE.EXTERNAL,
  24. )
  25. }
  26. return null
  27. }
  28. }