Restricted users should only be able to create and edit certain pages

Hello,

There should be two different user types in my panel. An admin who is allowed to do everything and an editor who should only create and edit certain pages.

I have defined the permissions for the editor in site/blueprints/users/editor.yml:

title: Editor

permissions:
  access:
    account: true
    panel: true
    site: true
    languages: false
    system: false
    users: false
  files:
    create: false
    changeName: false
    changeTemplate: false
    delete: false
    read: false
    replace: false
    update: false
  languages:
    create: false
    delete: false
  pages:
    access: true
    changeSlug: false
    changeStatus: false
    changeTemplate: false
    changeTitle: false
    create: false
    delete: false
    list: true
    move: false
    duplicate: false
    preview: true
    read: true
    sort: false
    update: false
  site:
    changeTitle: false
    update: false
  user:
    changeEmail: true
    changeLanguage: true
    changeName: true
    changePassword: true
    changeRole: false
    delete: false
    update: false
  users:
    changeEmail: false
    changeLanguage: false
    changeName: false
    changePassword: false
    changeRole: false
    create: false
    delete: false
    update: false

The editor should be able to customize an existing calendar entry. This also works:

title: Kalendereintrag
icon: calendar

options:
  preview: false
  update:
    editor: true
  create:
    editor: true

status:
  draft: true
  listed: true

fields:
  room:
    label: Raum
    type: radio
    options:
      - value: 'Room1'
        text: Room1
      - value: 'Room2'
        text: Room2
  start:
    label: Start
    type: date
    time: false
  end:
    label: Ende
    type: date
    time: false

And the editor should be able to create a new calendar entry. Unfortunately, this does not work:

title: Kalender
icon: calendar

options:
  update:
    editor: true

sections:

  pages:
    type: pages
    label: Einträge
    info: "{{ page.room }}: {{ page.start.toDate("d.m.Y") }} - {{ page.end.toDate("d.m.Y") }} "
    sortBy: start asc
    templates:
      - calendar-entry

I have already tried many options, but none of them work. Can anyone help me?
Best regards

This doesn’t do anything, you already defined the relevant permissions in the child blueprint, adding a new calendar entry is not related to updating the parent.

But looks to me as if overwriting general permissions by page permissions doesn’t work as expected (anymore).

Okay, so what do we do now?

Take a look at this plugin: Bouncer | Kirby CMS

It handles it via hooks.

Thank you very much. I’ll take a look at that!