Разрешение обычным пользователям загружать PloneFormGen CSV

Мы используем SaveDataAdapter от PloneFormGen и хотим, чтобы пользователи, не являющиеся администраторами сайта, могли загружать CSV. Нормальные разрешения не позволяют этого. Возможно ли это в PloneFormGen?

1 ответ

Решение

Вы правы, есть специальное разрешение для download-вид с именем "PloneFormGen: Загрузить сохраненный ввод" и Products/PloneFormGen/config.py определяет, что менеджеры, владельцы и администраторы сайтов получают это разрешение по умолчанию.

В одну из профилей-папок вашего дополнения добавьте файл с именем rolemap.xml для дополнительного назначения ролей (роли по умолчанию останутся нетронутыми, так как они назначаются через Python-скрипт, а не GenericSetup-файл):

<?xml version="1.0"?>
<rolemap>
  <permissions>
    <permission name="PloneFormGen: Download Saved Input" acquire="True">
      <role name="Member" />
    </permission>
  </permissions>
</rolemap>

Примечание. Это позволит установить разрешение глобально, а это означает, что вы не можете ограничивать его местами. Для более точного управления для каждого местоположения создайте роль "Загрузчики", назначьте ей разрешение на загрузку в rolemap.xml и сделать разрешение назначаемым локально через вкладку совместного использования элемента. Для последнего шага можно попробовать https://pypi.org/project/collective.sharingroles/.


Альтернативное решение для случая, когда ровно один пользователь должен получить дополнительную привилегию для загрузки содержимого save-адаптера:

присоединять /ownership_form на URL-адрес адаптера сохранения, выберите нового владельца и сохраните.

Другие вопросы по тегам